From 919e89ca7e4e421cac11ac292470a1f7bf4e66d8 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Sun, 16 Feb 2014 22:03:14 -0500 Subject: [PATCH] Added GTK+ Labels. --- gtkcalls_unix.go | 19 +++++++++++++++++++ sysdata_unix.go | 3 +++ 2 files changed, 22 insertions(+) diff --git a/gtkcalls_unix.go b/gtkcalls_unix.go index f4cbe54..c283034 100644 --- a/gtkcalls_unix.go +++ b/gtkcalls_unix.go @@ -181,3 +181,22 @@ func gtk_entry_set_text(widget *gtkWidget, text string) { func gtk_entry_get_text(widget *gtkWidget) string { return C.GoString((*C.char)(unsafe.Pointer(C.gtk_entry_get_text((*C.GtkEntry)(unsafe.Pointer(widget)))))) } + +var _emptystring = [1]C.gchar{0} +var emptystring = &_emptystring[0] + +func gtk_label_new() *gtkWidget { + return (*gtkWidget)(unsafe.Pointer(C.gtk_label_new(emptystring))) + // TODO left-justify? +} + +func gtk_label_set_text(widget *gtkWidget, text string) { + ctext := C.CString(text) + defer C.free(unsafe.Pointer(ctext)) + C.gtk_label_set_text((*C.GtkLabel)(unsafe.Pointer(widget)), + (*C.gchar)(unsafe.Pointer(ctext))) +} + +func gtk_label_get_text(widget *gtkWidget) string { + return C.GoString((*C.char)(unsafe.Pointer(C.gtk_label_get_text((*C.GtkLabel)(unsafe.Pointer(widget)))))) +} diff --git a/sysdata_unix.go b/sysdata_unix.go index 995da4a..fd15e1b 100644 --- a/sysdata_unix.go +++ b/sysdata_unix.go @@ -93,6 +93,9 @@ var classTypes = [nctypes]*classData{ text: gtk_entry_get_text, }, c_label: &classData{ + make: gtk_label_new, + setText: gtk_label_set_text, + text: gtk_label_get_text, }, c_listbox: &classData{ },