diff options
| author | Pietro Gagliardi <[email protected]> | 2014-10-29 20:34:41 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2014-10-29 20:34:41 -0400 |
| commit | 2a3809cfd1bbc5fd623feba87882674add9f295f (patch) | |
| tree | 4676d863d77a0575613f3ce40318f6910b723d59 /spinbox_darwin.go | |
| parent | 6d58f434b74bb0119f493ba8e4508c93b14685d9 (diff) | |
More Mac OS X Spinbox refinements. Still not working, but if I have to do everything the manual way then at least I can do so cleanly now.
Diffstat (limited to 'spinbox_darwin.go')
| -rw-r--r-- | spinbox_darwin.go | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/spinbox_darwin.go b/spinbox_darwin.go index 2768e40..515c8e8 100644 --- a/spinbox_darwin.go +++ b/spinbox_darwin.go @@ -21,22 +21,26 @@ import "C" // - proper spacing between edit and spinner: Interface Builder isn't clear; NSDatePicker doesn't spill the beans type spinbox struct { - textfield C.id - stepper C.id - objcspinbox C.id + id C.id } func newSpinbox() Spinbox { s := new(spinbox) - s.textfield = C.newTextField() - s.stepper = C.newSpinboxStepper() - s.objcspinbox = C.spinboxSetup(s.textfield, s.stepper, unsafe.Pointer(s)) + s.id = C.newSpinbox(unsafe.Pointer(s)) return s } +func (s *spinbox) textfield() C.id { + return C.spinboxTextField(s.id) +} + +func (s *spinbox) stepper() C.id { + return C.spinboxStepper(s.id) +} + func (s *spinbox) setParent(p *controlParent) { - C.parent(s.textfield, p.id) - C.parent(s.stepper, p.id) + C.parent(s.textfield(), p.id) + C.parent(s.stepper(), p.id) } func (s *spinbox) preferredSize(d *sizing) (width, height int) { @@ -46,8 +50,8 @@ func (s *spinbox) preferredSize(d *sizing) (width, height int) { func (s *spinbox) resize(x int, y int, width int, height int, d *sizing) { // TODO - C.moveControl(s.textfield, C.intptr_t(x), C.intptr_t(y), C.intptr_t(width - 20), C.intptr_t(height)) - C.moveControl(s.stepper, C.intptr_t(x + width - 15), C.intptr_t(y), C.intptr_t(15), C.intptr_t(height)) + C.moveControl(s.textfield(), C.intptr_t(x), C.intptr_t(y), C.intptr_t(width - 20), C.intptr_t(height)) + C.moveControl(s.stepper(), C.intptr_t(x + width - 15), C.intptr_t(y), C.intptr_t(15), C.intptr_t(height)) } func (s *spinbox) nTabStops() int { |
