2024-06-23 01:07:33 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2024-06-29 23:05:16 +00:00
|
|
|
"runtime"
|
|
|
|
|
2024-06-23 01:07:33 +00:00
|
|
|
"github.com/ying32/govcl/vcl"
|
|
|
|
"github.com/ying32/govcl/vcl/types"
|
2024-06-29 23:05:16 +00:00
|
|
|
"github.com/ying32/govcl/vcl/types/colors"
|
2024-06-23 01:07:33 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
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
|
|
|
|
}
|
2024-06-27 23:11:34 +00:00
|
|
|
|
|
|
|
// 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)
|
2024-06-29 00:13:18 +00:00
|
|
|
if imageIndex != -1 {
|
|
|
|
m.SetImageIndex(imageIndex)
|
|
|
|
}
|
|
|
|
if onClick != nil {
|
|
|
|
m.SetOnClick(onClick)
|
|
|
|
}
|
2024-06-27 23:11:34 +00:00
|
|
|
parent.Add(m)
|
|
|
|
|
|
|
|
return m
|
|
|
|
}
|
2024-06-29 00:13:18 +00:00
|
|
|
|
|
|
|
// 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
|
|
|
|
}
|
2024-06-29 23:05:16 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
}
|
|
|
|
}
|