summaryrefslogtreecommitdiff
path: root/sysdata_unix.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-02-16 18:57:50 -0500
committerPietro Gagliardi <[email protected]>2014-02-16 18:57:50 -0500
commit13d4e1d258359b0c45df95ea0c359bd50e07ef85 (patch)
tree785a398fbd40febec2642ed23a92657bbafe6e72 /sysdata_unix.go
parent161e874d8ab7842b3340f5c14afaf661f75f2ad7 (diff)
Added the GTK+ equivalent of Window.Title() and Button.Text() in preparation for adding the GTK+ implementation of Combobox.
Diffstat (limited to 'sysdata_unix.go')
-rw-r--r--sysdata_unix.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/sysdata_unix.go b/sysdata_unix.go
index f2aef50..0cadc65 100644
--- a/sysdata_unix.go
+++ b/sysdata_unix.go
@@ -18,6 +18,7 @@ type sysData struct {
type classData struct {
make func() *gtkWidget
setText func(widget *gtkWidget, text string)
+ text func(widget *gtkWidget) string
// ...
signals map[string]func(*sysData) func() bool
}
@@ -26,6 +27,7 @@ var classTypes = [nctypes]*classData{
c_window: &classData{
make: gtk_window_new,
setText: gtk_window_set_title,
+ text: gtk_window_get_title,
signals: map[string]func(*sysData) func() bool{
"delete-event": func(w *sysData) func() bool {
return func() bool {
@@ -53,6 +55,7 @@ var classTypes = [nctypes]*classData{
c_button: &classData{
make: gtk_button_new,
setText: gtk_button_set_label,
+ text: gtk_button_get_label,
signals: map[string]func(*sysData) func() bool{
"clicked": func(w *sysData) func() bool {
return func() bool {
@@ -176,8 +179,13 @@ func (s *sysData) isChecked() bool {
}
func (s *sysData) text() string {
- // TODO
- return ""
+if classTypes[s.ctype] == nil || classTypes[s.ctype].text == nil { println(s.ctype,"unsupported text()"); return "" }
+ ret := make(chan string)
+ defer close(ret)
+ uitask <- func() {
+ ret <- classTypes[s.ctype].text(s.widget)
+ }
+ return <-ret
}
func (s *sysData) append(what string) error {