diff options
author | Alexander Neumann <alexander.neumann@picos-software.com> | 2013-04-30 12:43:47 +0200 |
---|---|---|
committer | Alexander Neumann <alexander.neumann@picos-software.com> | 2013-04-30 12:43:47 +0200 |
commit | 47431069adc16a05ecb51c87caf26df667bc0fbc (patch) | |
tree | 24cb4c3165da465ed6f8547af9aa29317ef9be3d /groupbox.go | |
parent | Add Condition interface and some implementations (diff) | |
download | wireguard-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.go | 15 |
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( |