-
Notifications
You must be signed in to change notification settings - Fork 137
Devel GTK PI
Simeon Andreev edited this page Feb 23, 2023
·
1 revision
PI as in aPI means Program Interface.
This is a means to write java code that makes native C Gtk calls. This is particularly useful for testing GTK code without the entire SWT framework running concurrently.
An example snippet would be:
public class Snippet1 {
public static void main (String [] args) {
OS.gtk_init_check(new long[0], new long[0]);
/* create a new window */
long window = OS.gtk_window_new(OS.GTK_WINDOW_TOPLEVEL);
OS.gtk_window_set_title(window, OS.ascii("GTK Menu Test"));
long menu = OS.gtk_menu_new();
long root_menu = OS.gtk_image_menu_item_new_with_label(OS.ascii("Root Menu"));
OS.gtk_widget_show(root_menu);
for(int i = 0; i < 3; i++) {
String buf = "Test-undermenu -" + i;
long menu_items = OS.gtk_image_menu_item_new_with_label(OS.ascii(buf));
OS.gtk_menu_shell_insert(menu, menu_items, i);
OS.gtk_widget_show(menu_items);
}
/* Now we specify that we want our newly created "menu" to be the menu for the "root menu" */
OS.gtk_menu_item_set_submenu(root_menu, menu);
/* Create a menu-bar to hold the menus and add it to our main window*/
long menu_bar = OS.gtk_menu_bar_new();
OS.gtk_container_add(window, menu_bar);
OS.gtk_widget_show(menu_bar);
OS.gtk_menu_shell_insert(menu_bar, root_menu, 0);
OS.gtk_widget_show(window);
OS.gtk_main ();
}
}