summaryrefslogtreecommitdiff
path: root/redo/controls_unix.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-07-26 08:52:33 -0400
committerPietro Gagliardi <[email protected]>2014-07-26 08:52:33 -0400
commit348b3f70327e1bbf35e9db455a5939f7197b17d9 (patch)
tree8324604c1ee7fed55c85ea02ad7bac7446d09b6e /redo/controls_unix.go
parent4c4235465eb0374452f99f491833c3e220cf39a7 (diff)
Implemented TextField on GTK+.
Diffstat (limited to 'redo/controls_unix.go')
-rw-r--r--redo/controls_unix.go33
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)
+}