summaryrefslogtreecommitdiffstatshomepage
path: root/groupbox.go
diff options
context:
space:
mode:
authorAlexander Neumann <alexander.neumann@picos-software.com>2013-04-30 12:43:47 +0200
committerAlexander Neumann <alexander.neumann@picos-software.com>2013-04-30 12:43:47 +0200
commit47431069adc16a05ecb51c87caf26df667bc0fbc (patch)
tree24cb4c3165da465ed6f8547af9aa29317ef9be3d /groupbox.go
parentAdd Condition interface and some implementations (diff)
downloadwireguard-windows-47431069adc16a05ecb51c87caf26df667bc0fbc.tar.xz
wireguard-windows-47431069adc16a05ecb51c87caf26df667bc0fbc.zip
Change Property to be an interface, provide some implementations and adjust widgets
Diffstat (limited to 'groupbox.go')
-rw-r--r--groupbox.go15
1 files changed, 9 insertions, 6 deletions
diff --git a/groupbox.go b/groupbox.go
index 8a61f991..5cd81bb6 100644
--- a/groupbox.go
+++ b/groupbox.go
@@ -16,9 +16,10 @@ func init() {
type GroupBox struct {
WidgetBase
- hWndGroupBox HWND
- composite *Composite
- titleProperty *Property
+ hWndGroupBox HWND
+ composite *Composite
+ titleProperty Property
+ titleChangedPublisher EventPublisher
}
func NewGroupBox(parent Container) (*GroupBox, error) {
@@ -59,16 +60,15 @@ func NewGroupBox(parent Container) (*GroupBox, error) {
gb.SetFont(defaultFont)
gb.titleProperty = NewProperty(
- "Title",
func() interface{} {
return gb.Title()
},
func(v interface{}) error {
return gb.SetTitle(v.(string))
},
- nil)
+ gb.titleChangedPublisher.Event())
- gb.MustRegisterProperties(gb.titleProperty)
+ gb.MustRegisterProperty("Title", gb.titleProperty)
succeeded = true
@@ -161,6 +161,9 @@ func (gb *GroupBox) WndProc(hwnd HWND, msg uint32, wParam, lParam uintptr) uintp
case WM_COMMAND, WM_NOTIFY:
gb.composite.WndProc(hwnd, msg, wParam, lParam)
+ case WM_SETTEXT:
+ gb.titleChangedPublisher.Publish()
+
case WM_SIZE, WM_SIZING:
wbcb := gb.WidgetBase.ClientBounds()
if !MoveWindow(