From 308e253e0f7873710bf77312d7a12c576aaa9781 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Sat, 11 Aug 2018 16:18:01 -0400 Subject: Moved the existing .go files out of the way and replaced ui.h with the alpha4 ui.h. --- spinbox.go | 111 ------------------------------------------------------------- 1 file changed, 111 deletions(-) delete mode 100644 spinbox.go (limited to 'spinbox.go') diff --git a/spinbox.go b/spinbox.go deleted file mode 100644 index 5e5e43f..0000000 --- a/spinbox.go +++ /dev/null @@ -1,111 +0,0 @@ -// 12 december 2015 - -package ui - -import ( - "unsafe" -) - -// #include "ui.h" -// extern void doSpinboxOnChanged(uiSpinbox *, void *); -// static inline void realuiSpinboxOnChanged(uiSpinbox *b) -// { -// uiSpinboxOnChanged(b, doSpinboxOnChanged, NULL); -// } -import "C" - -// no need to lock this; only the GUI thread can access it -var spinboxes = make(map[*C.uiSpinbox]*Spinbox) - -// Spinbox is a Control that represents a space where the user can -// enter integers. The space also comes with buttons to add or -// subtract 1 from the integer. -type Spinbox struct { - c *C.uiControl - s *C.uiSpinbox - - onChanged func(*Spinbox) -} - -// NewSpinbox creates a new Spinbox. If min >= max, they are swapped. -func NewSpinbox(min int, max int) *Spinbox { - s := new(Spinbox) - - s.s = C.uiNewSpinbox(C.intmax_t(min), C.intmax_t(max)) - s.c = (*C.uiControl)(unsafe.Pointer(s.s)) - - C.realuiSpinboxOnChanged(s.s) - spinboxes[s.s] = s - - return s -} - -// Destroy destroys the Spinbox. -func (s *Spinbox) Destroy() { - delete(spinboxes, s.s) - C.uiControlDestroy(s.c) -} - -// LibuiControl returns the libui uiControl pointer that backs -// the Window. This is only used by package ui itself and should -// not be called by programs. -func (s *Spinbox) LibuiControl() uintptr { - return uintptr(unsafe.Pointer(s.c)) -} - -// Handle returns the OS-level handle associated with this Spinbox. -// On Windows this is an HWND of a standard Windows API EDIT -// class (as provided by Common Controls version 6). Due to -// various limitations which affect the lifetime of the associated -// Common Controls version 6 UPDOWN_CLASS window that -// provides the buttons, there is no way to access it. -// On GTK+ this is a pointer to a GtkSpinButton. -// On OS X this is a pointer to a NSView that contains a NSTextField -// and a NSStepper as subviews. -func (s *Spinbox) Handle() uintptr { - return uintptr(C.uiControlHandle(s.c)) -} - -// Show shows the Spinbox. -func (s *Spinbox) Show() { - C.uiControlShow(s.c) -} - -// Hide hides the Spinbox. -func (s *Spinbox) Hide() { - C.uiControlHide(s.c) -} - -// Enable enables the Spinbox. -func (s *Spinbox) Enable() { - C.uiControlEnable(s.c) -} - -// Disable disables the Spinbox. -func (s *Spinbox) Disable() { - C.uiControlDisable(s.c) -} - -// Value returns the Spinbox's current value. -func (s *Spinbox) Value() int { - return int(C.uiSpinboxValue(s.s)) -} - -// SetText sets the Spinbox's current value to value. -func (s *Spinbox) SetValue(value int) { - C.uiSpinboxSetValue(s.s, C.intmax_t(value)) -} - -// OnChanged registers f to be run when the user changes the value -// of the Spinbox. Only one function can be registered at a time. -func (s *Spinbox) OnChanged(f func(*Spinbox)) { - s.onChanged = f -} - -//export doSpinboxOnChanged -func doSpinboxOnChanged(ss *C.uiSpinbox, data unsafe.Pointer) { - s := spinboxes[ss] - if s.onChanged != nil { - s.onChanged(s) - } -} -- cgit v1.2.3