-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathgtk.ptrs
30 lines (23 loc) · 838 Bytes
/
gtk.ptrs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import g_*, gtk_* from "libgtk-3.so.0";
const G_CONNECT_SWAPPED = 2;
function print_hello()
{
g_print("Ahoi!\n");
}
function activate(app, data)
{
var window = gtk_application_window_new(app);
gtk_window_set_title(window, "Ahoi!");
gtk_window_set_default_size(window, 500, 200);
var box = gtk_button_box_new(0);
gtk_container_add(window, box);
var button = gtk_button_new_with_label("click me\nreal hard");
g_signal_connect_data(button, "clicked", print_hello, null, null, 0);
g_signal_connect_data(button, "clicked", gtk_widget_destroy, window, null, G_CONNECT_SWAPPED);
gtk_container_add(box, button);
gtk_widget_show_all(window);
}
var app = gtk_application_new("org.gtk.example", 0);
g_signal_connect_data(app, "activate", activate, null, null, 0);
var status = g_application_run(app, 0, null);
g_object_unref(app);