summaryrefslogtreecommitdiff
path: root/redo/controls_unix.go
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-07-19 09:44:32 -0400
committerPietro Gagliardi <[email protected]>2014-07-19 09:44:32 -0400
commit48c5055eb960d6db3d3b997bdc859670f473a277 (patch)
treeebde497dc011e9c1a8dca63710e59fb9e2b75c69 /redo/controls_unix.go
parent47c0f573a986622a1968cf324fb1c5c5881a63a5 (diff)
Started dropping the whole request/response system because it fell apart... time to make a ui.Do(func(){ ... })
Diffstat (limited to 'redo/controls_unix.go')
-rw-r--r--redo/controls_unix.go70
1 files changed, 22 insertions, 48 deletions
diff --git a/redo/controls_unix.go b/redo/controls_unix.go
index 0346795..730e42b 100644
--- a/redo/controls_unix.go
+++ b/redo/controls_unix.go
@@ -53,38 +53,25 @@ type button struct {
clicked *event
}
-func newButton(text string) *Request {
- c := make(chan interface{})
- return &Request{
- op: func() {
- ctext := togstr(text)
- defer freegstr(ctext)
- widget := C.gtk_button_new_with_label(ctext)
- b := &button{
- widgetbase: newWidget(widget),
- button: (*C.GtkButton)(unsafe.Pointer(widget)),
- clicked: newEvent(),
- }
- g_signal_connect(
- C.gpointer(unsafe.Pointer(b.button)),
- "clicked",
- C.GCallback(C.buttonClicked),
- C.gpointer(unsafe.Pointer(b)))
- c <- b
- },
- resp: c,
+func newButton(text string) *button {
+ ctext := togstr(text)
+ defer freegstr(ctext)
+ widget := C.gtk_button_new_with_label(ctext)
+ b := &button{
+ widgetbase: newWidget(widget),
+ button: (*C.GtkButton)(unsafe.Pointer(widget)),
+ clicked: newEvent(),
}
+ g_signal_connect(
+ C.gpointer(unsafe.Pointer(b.button)),
+ "clicked",
+ C.GCallback(C.buttonClicked),
+ C.gpointer(unsafe.Pointer(b)))
+ return b
}
-func (b *button) OnClicked(e func(c Doer)) *Request {
- c := make(chan interface{})
- return &Request{
- op: func() {
- b.clicked.set(e)
- c <- struct{}{}
- },
- resp: c,
- }
+func (b *button) OnClicked(e func()) {
+ b.clicked.set(e)
}
//export buttonClicked
@@ -94,25 +81,12 @@ func buttonClicked(bwid *C.GtkButton, data C.gpointer) {
println("button clicked")
}
-func (b *button) Text() *Request {
- c := make(chan interface{})
- return &Request{
- op: func() {
- c <- fromgstr(C.gtk_button_get_label(b.button))
- },
- resp: c,
- }
+func (b *button) Text() string {
+ return fromgstr(C.gtk_button_get_label(b.button))
}
-func (b *button) SetText(text string) *Request {
- c := make(chan interface{})
- return &Request{
- op: func() {
- ctext := togstr(text)
- defer freegstr(ctext)
- C.gtk_button_set_label(b.button, ctext)
- c <- struct{}{}
- },
- resp: c,
- }
+func (b *button) SetText(text string) {
+ ctext := togstr(text)
+ defer freegstr(ctext)
+ C.gtk_button_set_label(b.button, ctext)
}