diff options
| author | Pietro Gagliardi <[email protected]> | 2014-07-26 08:52:33 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2014-07-26 08:52:33 -0400 |
| commit | 348b3f70327e1bbf35e9db455a5939f7197b17d9 (patch) | |
| tree | 8324604c1ee7fed55c85ea02ad7bac7446d09b6e /redo/controls_unix.go | |
| parent | 4c4235465eb0374452f99f491833c3e220cf39a7 (diff) | |
Implemented TextField on GTK+.
Diffstat (limited to 'redo/controls_unix.go')
| -rw-r--r-- | redo/controls_unix.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/redo/controls_unix.go b/redo/controls_unix.go index 4867e7d..0761fa1 100644 --- a/redo/controls_unix.go +++ b/redo/controls_unix.go @@ -120,3 +120,36 @@ func (c *checkbox) Checked() bool { func (c *checkbox) SetChecked(checked bool) { C.gtk_toggle_button_set_active(c.toggle, togbool(checked)) } + +type textField struct { + *widgetbase + entry *C.GtkEntry +} + +func startNewTextField() *textField { + w := C.gtk_entry_new() + return &textField{ + widgetbase: newWidget(w), + entry: (*C.GtkEntry)(unsafe.Pointer(w)), + } +} + +func newTextField() *textField { + return startNewTextField() +} + +func newPasswordField() *textField { + t := startNewTextField() + C.gtk_entry_set_visibility(t.entry, C.FALSE) + return t +} + +func (t *textField) Text() string { + return fromgstr(C.gtk_entry_get_text(t.entry)) +} + +func (t *textField) SetText(text string) { + ctext := togstr(text) + defer freegstr(ctext) + C.gtk_entry_set_text(t.entry, ctext) +} |
