diff options
| author | Pietro Gagliardi <[email protected]> | 2018-08-26 09:55:07 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2018-08-26 09:55:07 -0400 |
| commit | 62ac2527732a01dfa6bd2c9523215c0ba3816641 (patch) | |
| tree | 84244a69e048f79e4d9f134c121f4cf581200986 /editablecombobox.go | |
| parent | a5a00c644c08a6e0f52740c3f2a280977929a285 (diff) | |
Moved all the Go files out of the way again, this time so we can migrate them to more proper cgo usage.
Diffstat (limited to 'editablecombobox.go')
| -rw-r--r-- | editablecombobox.go | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/editablecombobox.go b/editablecombobox.go deleted file mode 100644 index 1242928..0000000 --- a/editablecombobox.go +++ /dev/null @@ -1,72 +0,0 @@ -// 12 december 2015 - -package ui - -import ( - "unsafe" -) - -// #include "ui.h" -// extern void doEditableComboboxOnChanged(uiEditableCombobox *, void *); -// // see golang/go#19835 -// typedef void (*editableComboboxCallback)(uiEditableCombobox *, void *); -import "C" - -// EditableCombobox is a Control that represents a drop-down list -// of strings that the user can choose one of at any time. It also has -// an entry field that the user can type an alternate choice into. -type EditableCombobox struct { - ControlBase - c *C.uiEditableCombobox - onChanged func(*EditableCombobox) -} - -// NewEditableCombobox creates a new EditableCombobox. -func NewEditableCombobox() *EditableCombobox { - c := new(EditableCombobox) - - c.c = C.uiNewEditableCombobox() - - C.uiEditableComboboxOnChanged(c.c, C.editableComboboxCallback(C.doEditableComboboxOnChanged), nil) - - c.ControlBase = NewControlBase(c, uintptr(unsafe.Pointer(c.c))) - return c -} - -// Append adds the named item to the end of the EditableCombobox. -func (e *EditableCombobox) Append(text string) { - ctext := C.CString(text) - C.uiEditableComboboxAppend(e.c, ctext) - freestr(ctext) -} - -// Text returns the text in the entry of the EditableCombobox, which -// could be one of the choices in the list if the user has selected one. -func (e *EditableCombobox) Text() string { - ctext := C.uiEditableComboboxText(e.c) - text := C.GoString(ctext) - C.uiFreeText(ctext) - return text -} - -// SetText sets the text in the entry of the EditableCombobox. -func (e *EditableCombobox) SetText(text string) { - ctext := C.CString(text) - C.uiEditableComboboxSetText(e.c, ctext) - freestr(ctext) -} - -// OnChanged registers f to be run when the user either selects an -// item or changes the text in the EditableCombobox. Only one -// function can be registered at a time. -func (e *EditableCombobox) OnChanged(f func(*EditableCombobox)) { - e.onChanged = f -} - -//export doEditableComboboxOnChanged -func doEditableComboboxOnChanged(cc *C.uiEditableCombobox, data unsafe.Pointer) { - e := ControlFromLibui(uintptr(unsafe.Pointer(cc))).(*EditableCombobox) - if e.onChanged != nil { - e.onChanged(e) - } -} |
