diff options
Diffstat (limited to 'radiobuttons.go')
| -rw-r--r-- | radiobuttons.go | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/radiobuttons.go b/radiobuttons.go deleted file mode 100644 index 2413544..0000000 --- a/radiobuttons.go +++ /dev/null @@ -1,66 +0,0 @@ -// 12 december 2015 - -package ui - -import ( - "unsafe" -) - -// #include "ui.h" -// extern void doRadioButtonsOnSelected(uiRadioButtons *, void *); -// // see golang/go#19835 -// typedef void (*radioButtonsCallback)(uiRadioButtons *, void *); -import "C" - -// RadioButtons is a Control that represents a set of checkable -// buttons from which exactly one may be chosen by the user. -type RadioButtons struct { - ControlBase - r *C.uiRadioButtons - onSelected func(*RadioButtons) -} - -// NewRadioButtons creates a new RadioButtons. -func NewRadioButtons() *RadioButtons { - r := new(RadioButtons) - - r.r = C.uiNewRadioButtons() - - C.uiRadioButtonsOnSelected(r.r, C.radioButtonsCallback(C.doRadioButtonsOnSelected), nil) - - r.ControlBase = NewControlBase(r, uintptr(unsafe.Pointer(r.r))) - return r -} - -// Append adds the named button to the end of the RadioButtons. -func (r *RadioButtons) Append(text string) { - ctext := C.CString(text) - C.uiRadioButtonsAppend(r.r, ctext) - freestr(ctext) -} - -// Selected returns the index of the currently selected option in the -// RadioButtons, or -1 if no item is selected. -func (r *RadioButtons) Selected() int { - return int(C.uiRadioButtonsSelected(r.r)) -} - -// SetSelected sets the currently selected option in the RadioButtons -// to index. -func (r *RadioButtons) SetSelected(index int) { - C.uiRadioButtonsSetSelected(r.r, C.int(index)) -} - -// OnSelected registers f to be run when the user selects an option in -// the RadioButtons. Only one function can be registered at a time. -func (r *RadioButtons) OnSelected(f func(*RadioButtons)) { - r.onSelected = f -} - -//export doRadioButtonsOnSelected -func doRadioButtonsOnSelected(rr *C.uiRadioButtons, data unsafe.Pointer) { - r := ControlFromLibui(uintptr(unsafe.Pointer(rr))).(*RadioButtons) - if r.onSelected != nil { - r.onSelected(r) - } -} |
