From b6bd0c1c26a65bdad61c8e1bf8100a06391c34dc Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Thu, 9 Apr 2015 02:56:51 -0400 Subject: [PATCH] Implemented the text routines on the GTK+ backend. They work! --- button_unix.c | 10 +++++++++- entry_unix.c | 10 ++++++++++ util_unix.c | 7 +++++++ window_unix.c | 10 +++++++++- 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 util_unix.c diff --git a/button_unix.c b/button_unix.c index a39bdf52..c458e688 100644 --- a/button_unix.c +++ b/button_unix.c @@ -47,7 +47,15 @@ uiControl *uiNewButton(const char *text) return b->c; } -// TODO text +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) { diff --git a/entry_unix.c b/entry_unix.c index 23166187..04005d35 100644 --- a/entry_unix.c +++ b/entry_unix.c @@ -30,3 +30,13 @@ uiControl *uiNewEntry(void) return e->c; } + +char *uiEntryText(uiControl *c) +{ + return g_strdup(gtk_entry_get_text(GTK_ENTRY(uiControlHandle(c)))); +} + +void uiEntrySetText(uiControl *c, const char *text) +{ + gtk_entry_set_text(GTK_ENTRY(uiControlHandle(c)), text); +} diff --git a/util_unix.c b/util_unix.c new file mode 100644 index 00000000..72b71dfa --- /dev/null +++ b/util_unix.c @@ -0,0 +1,7 @@ +// 9 april 2015 +#include "uipriv_unix.h" + +void uiFreeText(char *t) +{ + g_free(t); +} diff --git a/window_unix.c b/window_unix.c index 293fa51c..dca52e30 100644 --- a/window_unix.c +++ b/window_unix.c @@ -39,7 +39,15 @@ uintptr_t uiWindowHandle(uiWindow *w) return (uintptr_t) (w->widget); } -// TODO titles +char *uiWindowTitle(uiWindow *w) +{ + return g_strdup(gtk_window_get_title(GTK_WINDOW(w->widget))); +} + +void uiWindowSetTitle(uiWindow *w, const char *title) +{ + gtk_window_set_title(GTK_WINDOW(w->widget), title); +} void uiWindowShow(uiWindow *w) {