diff --git a/button.go b/button.go index 9750037..4e3d7e1 100644 --- a/button.go +++ b/button.go @@ -30,7 +30,9 @@ func (b *Button) SetText(text string) (err error) { b.lock.Lock() defer b.lock.Unlock() - // TODO handle created + if b.created { + return b.sysData.setText(text) + } b.initText = text return nil } @@ -40,8 +42,12 @@ func (b *Button) make(window *sysData) error { defer b.lock.Unlock() b.sysData.event = b.Clicked - return b.sysData.make(b.initText, 300, 300, window) - // TODO size to parent size + err := b.sysData.make(b.initText, 300, 300, window) + if err != nil { + return err + } + b.created = true + return nil } func (b *Button) setRect(x int, y int, width int, height int) error { diff --git a/checkbox.go b/checkbox.go index 9836823..017b81a 100644 --- a/checkbox.go +++ b/checkbox.go @@ -30,7 +30,9 @@ func (c *Checkbox) SetText(text string) (err error) { c.lock.Lock() defer c.lock.Unlock() - // TODO handle created + if c.created { + return c.sysData.setText(text) + } c.initText = text return nil } @@ -51,8 +53,12 @@ func (c *Checkbox) make(window *sysData) error { c.lock.Lock() defer c.lock.Unlock() - return c.sysData.make(c.initText, 300, 300, window) - // TODO size to parent size + err := c.sysData.make(c.initText, 300, 300, window) + if err != nil { + return err + } + c.created = true + return nil } func (c *Checkbox) setRect(x int, y int, width int, height int) error { diff --git a/combobox.go b/combobox.go index 7bd666c..5080d38 100644 --- a/combobox.go +++ b/combobox.go @@ -33,7 +33,10 @@ func (c *Combobox) Selection() (string, error) { c.lock.Lock() defer c.lock.Unlock() - return c.sysData.text() + if c.created { + return c.sysData.text() + } + return "", nil } // TODO SelectedIndex @@ -52,6 +55,7 @@ func (c *Combobox) make(window *sysData) (err error) { return err } } + c.created = true return nil } diff --git a/label.go b/label.go index b2cf05b..12cec5b 100644 --- a/label.go +++ b/label.go @@ -29,7 +29,12 @@ func (l *Label) make(window *sysData) error { l.lock.Lock() defer l.lock.Unlock() - return l.sysData.make(l.initText, 300, 300, window) + err := l.sysData.make(l.initText, 300, 300, window) + if err != nil { + return err + } + l.created = true + return nil } func (l *Label) setRect(x int, y int, width int, height int) error { diff --git a/listbox.go b/listbox.go index 6de4cb2..b973714 100644 --- a/listbox.go +++ b/listbox.go @@ -46,6 +46,7 @@ func (l *Listbox) make(window *sysData) (err error) { return err } } + l.created = true return nil } diff --git a/stack.go b/stack.go index 693558f..c36b22d 100644 --- a/stack.go +++ b/stack.go @@ -40,6 +40,7 @@ func (s *Stack) make(window *sysData) error { return err } } + s.created = true return nil }