summaryrefslogtreecommitdiff
path: root/textfield_darwin.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-10-18 17:03:07 -0400
committerPietro Gagliardi <[email protected]>2014-10-18 17:03:07 -0400
commit62048303a34f6cac733798651adb53b640e2114a (patch)
treeb03994dfe1d5cfbc94be65075f3345a45166bbef /textfield_darwin.go
parent8c8b642adbed274133b6e9d975c7ca8786300d2c (diff)
Merged new container/sizing stuff.
Diffstat (limited to 'textfield_darwin.go')
-rw-r--r--textfield_darwin.go39
1 files changed, 11 insertions, 28 deletions
diff --git a/textfield_darwin.go b/textfield_darwin.go
index 3270cde..bf63073 100644
--- a/textfield_darwin.go
+++ b/textfield_darwin.go
@@ -10,17 +10,20 @@ import (
import "C"
type textfield struct {
- _id C.id
+ *controlSingleObject
changed *event
invalid C.id
+ chainpreferredSize func(d *sizing) (int, int)
}
func finishNewTextField(id C.id) *textfield {
t := &textfield{
- _id: id,
+ controlSingleObject: newControlSingleObject(id),
changed: newEvent(),
}
- C.textfieldSetDelegate(t._id, unsafe.Pointer(t))
+ C.textfieldSetDelegate(t.id, unsafe.Pointer(t))
+ t.chainpreferredSize = t.fpreferredSize
+ t.fpreferredSize = t.xpreferredSize
return t
}
@@ -33,13 +36,13 @@ func newPasswordField() *textfield {
}
func (t *textfield) Text() string {
- return C.GoString(C.textfieldText(t._id))
+ return C.GoString(C.textfieldText(t.id))
}
func (t *textfield) SetText(text string) {
ctext := C.CString(text)
defer C.free(unsafe.Pointer(ctext))
- C.textfieldSetText(t._id, ctext)
+ C.textfieldSetText(t.id, ctext)
}
func (t *textfield) OnChanged(f func()) {
@@ -56,7 +59,7 @@ func (t *textfield) Invalid(reason string) {
}
creason := C.CString(reason)
defer C.free(unsafe.Pointer(creason))
- t.invalid = C.textfieldOpenInvalidPopover(t._id, creason)
+ t.invalid = C.textfieldOpenInvalidPopover(t.id, creason)
}
//export textfieldChanged
@@ -65,28 +68,8 @@ func textfieldChanged(data unsafe.Pointer) {
t.changed.fire()
}
-func (t *textfield) id() C.id {
- return t._id
-}
-
-func (t *textfield) setParent(p *controlParent) {
- basesetParent(t, p)
-}
-
-func (t *textfield) allocate(x int, y int, width int, height int, d *sizing) []*allocation {
- return baseallocate(t, x, y, width, height, d)
-}
-
-func (t *textfield) preferredSize(d *sizing) (width, height int) {
- _, height = basepreferredSize(t, d)
+func (t *textfield) xpreferredSize(d *sizing) (width, height int) {
+ _, height = t.chainpreferredSize(d)
// the returned width is based on the contents; use this instead
return C.textfieldWidth, height
}
-
-func (t *textfield) commitResize(a *allocation, d *sizing) {
- basecommitResize(t, a, d)
-}
-
-func (t *textfield) getAuxResizeInfo(d *sizing) {
- basegetAuxResizeInfo(t, d)
-}