diff options
Diffstat (limited to 'new/button_unix.c')
| -rw-r--r-- | new/button_unix.c | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/new/button_unix.c b/new/button_unix.c deleted file mode 100644 index da09082..0000000 --- a/new/button_unix.c +++ /dev/null @@ -1,67 +0,0 @@ -// 7 april 2015 -#include "uipriv_unix.h" - -struct button { - void (*onClicked)(uiControl *, void *); - void *onClickedData; -}; - -static void onClicked(GtkButton *button, gpointer data) -{ - uiControl *c = (uiControl *) data; - struct button *b = (struct button *) (c->data); - - (*(b->onClicked))(c, b->onClickedData); -} - -static void defaultOnClicked(uiControl *c, void *data) -{ - // do nothing -} - -static void onDestroy(GtkWidget *widget, gpointer data) -{ - struct button *b = (struct button *) data; - - uiFree(b); -} - -uiControl *uiNewButton(const char *text) -{ - uiControl *c; - struct button *b; - GtkWidget *widget; - - c = uiUnixNewControl(GTK_TYPE_BUTTON, - FALSE, FALSE, - "label", text, - NULL); - - widget = GTK_WIDGET(uiControlHandle(c)); - g_signal_connect(widget, "clicked", G_CALLBACK(onClicked), c); - - b = uiNew(struct button); - g_signal_connect(widget, "destroy", G_CALLBACK(onDestroy), b); - b->onClicked = defaultOnClicked; - c->data = b; - - return c; -} - -char *uiButtonText(uiControl *c) -{ - return g_strdup(gtk_button_get_label(GTK_BUTTON(uiControlHandle(c)))); -} - -void uiButtonSetText(uiControl *c, const char *text) -{ - gtk_button_set_label(GTK_BUTTON(uiControlHandle(c)), text); -} - -void uiButtonOnClicked(uiControl *c, void (*f)(uiControl *, void *), void *data) -{ - struct button *b = (struct button *) (c->data); - - b->onClicked = f; - b->onClickedData = data; -} |
