From 77bf566ebbcb62acd4d08d905d9542d6ff9b6b80 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Sat, 30 Aug 2014 23:02:02 -0400 Subject: ...in with the new. --- redo/window_unix.go | 88 ----------------------------------------------------- 1 file changed, 88 deletions(-) delete mode 100644 redo/window_unix.go (limited to 'redo/window_unix.go') diff --git a/redo/window_unix.go b/redo/window_unix.go deleted file mode 100644 index 3f31089..0000000 --- a/redo/window_unix.go +++ /dev/null @@ -1,88 +0,0 @@ -// +build !windows,!darwin - -// 7 july 2014 - -package ui - -import ( - "unsafe" -) - -// #include "gtk_unix.h" -// extern gboolean windowClosing(GtkWidget *, GdkEvent *, gpointer); -import "C" - -type window struct { - widget *C.GtkWidget - wc *C.GtkContainer - bin *C.GtkBin - window *C.GtkWindow - - group *C.GtkWindowGroup - - closing *event - - *container -} - -func newWindow(title string, width int, height int, control Control) *window { - widget := C.gtk_window_new(C.GTK_WINDOW_TOPLEVEL) - ctitle := togstr(title) - defer freegstr(ctitle) - w := &window{ - widget: widget, - wc: (*C.GtkContainer)(unsafe.Pointer(widget)), - bin: (*C.GtkBin)(unsafe.Pointer(widget)), - window: (*C.GtkWindow)(unsafe.Pointer(widget)), - closing: newEvent(), - } - C.gtk_window_set_title(w.window, ctitle) - g_signal_connect( - C.gpointer(unsafe.Pointer(w.window)), - "delete-event", - C.GCallback(C.windowClosing), - C.gpointer(unsafe.Pointer(w))) - C.gtk_window_resize(w.window, C.gint(width), C.gint(height)) - w.container = newContainer(control) - w.container.setParent(&controlParent{w.wc}) - // for dialogs; otherwise, they will be modal to all windows, not just this one - w.group = C.gtk_window_group_new() - C.gtk_window_group_add_window(w.group, w.window) - return w -} - -func (w *window) Title() string { - return fromgstr(C.gtk_window_get_title(w.window)) -} - -func (w *window) SetTitle(title string) { - ctitle := togstr(title) - defer freegstr(ctitle) - C.gtk_window_set_title(w.window, ctitle) -} - -func (w *window) Show() { - C.gtk_widget_show_all(w.widget) -} - -func (w *window) Hide() { - C.gtk_widget_hide(w.widget) -} - -func (w *window) Close() { - C.gtk_widget_destroy(w.widget) -} - -func (w *window) OnClosing(e func() bool) { - w.closing.setbool(e) -} - -//export windowClosing -func windowClosing(wid *C.GtkWidget, e *C.GdkEvent, data C.gpointer) C.gboolean { - w := (*window)(unsafe.Pointer(data)) - close := w.closing.fire() - if close { - return C.GDK_EVENT_PROPAGATE // will do gtk_widget_destroy(), which is what we want (thanks ebassi in irc.gimp.net/#gtk+) - } - return C.GDK_EVENT_STOP // keeps window alive -} -- cgit v1.2.3