summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtkcalls_unix.go19
-rw-r--r--sysdata_unix.go3
2 files changed, 22 insertions, 0 deletions
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{
},