いまんところこんな感じ。
イベントクロージャが内包出来てJavaScriptを書いているかの様にGTKプログラミングが出来ています。
//--------------------------------------------------------
// GtkButton
//--------------------------------------------------------
button := gtk.ButtonWithLabel("Button with label");
button.Clicked(func(w *gtk.GtkWidget, args []unsafe.Pointer) {
print("button clicked: ", button.GetLabel(), "\n");
dialog := gtk.MessageDialog(
button.GetTopLevelAsWindow(),
gtk.GTK_DIALOG_MODAL,
gtk.GTK_MESSAGE_INFO,
gtk.GTK_BUTTONS_OK,
entry.GetText()
);
dialog.Response(func(w *gtk.GtkWidget, args []unsafe.Pointer) {
println("Dialog OK!")
}, nil);
dialog.Run();
dialog.Destroy();
}, nil);
buttons.Add(button);
完成はまだまだ先です。頑張ります。