summaryrefslogtreecommitdiff
path: root/radiobuttons.go
diff options
context:
space:
mode:
Diffstat (limited to 'radiobuttons.go')
-rw-r--r--radiobuttons.go66
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)
- }
-}