yvbolt/util_vcl.go

65 lines
1.4 KiB
Go
Raw Normal View History

package main
import (
"runtime"
"github.com/ying32/govcl/vcl"
"github.com/ying32/govcl/vcl/types"
"github.com/ying32/govcl/vcl/types/colors"
)
const (
MY_SPACING = 6
MY_HEIGHT = 90
MY_WIDTH = 180
)
// vcl_row makes a TPanel row inside the target component.
func vcl_row(owner vcl.IWinControl, top int32) *vcl.TPanel {
r := vcl.NewPanel(owner)
r.SetParent(owner)
r.SetBorderStyle(types.BsNone)
r.SetBevelInner(types.BvNone)
r.SetBevelOuter(types.BvNone)
r.SetAlign(types.AlTop)
r.SetTop(top)
r.SetAutoSize(true)
return r
}
// vcl_menuitem makes a child TMenuItem inside the parent menu.
func vcl_menuitem(parent *vcl.TMenuItem, caption string, imageIndex int32, onClick vcl.TNotifyEvent) *vcl.TMenuItem {
m := vcl.NewMenuItem(parent)
m.SetCaption(caption)
if imageIndex != -1 {
m.SetImageIndex(imageIndex)
}
if onClick != nil {
m.SetOnClick(onClick)
}
parent.Add(m)
return m
}
// vcl_menuseparator adds a separator to the parent TMenuItem.
func vcl_menuseparator(parent *vcl.TMenuItem) *vcl.TMenuItem {
s := vcl.NewMenuItem(parent)
s.SetCaption("-") // Creates separator
parent.Add(s)
return s
}
func vcl_default_tab_background() types.TColor {
if runtime.GOOS == "windows" {
// Assuming that uxtheme is loaded
// @ref https://stackoverflow.com/a/20332712
return colors.ClBtnHighlight
} else {
return colors.ClBtnFace // 0x00f0f0f0
}
}