int main (int argc, char *argv[]) { GtkWidget *window; gtk_init (&argc, &argv); window = g_object_connect (g_object_new (gtk_window_get_type (), "type", GTK_WINDOW_TOPLEVEL, "title", "hello world", "resizable", FALSE, NULL), "signal::destroy", gtk_main_quit, NULL, NULL); g_object_connect (g_object_new (gtk_button_get_type (), "GtkButton::label", "hello world", "GtkWidget::parent", window, "GtkWidget::visible", TRUE, NULL), "signal::clicked", hello, NULL, NULL); gtk_widget_show (window); gtk_main (); return 0; }
GtkType gtk_option_menu_get_type (void) { static GtkType option_menu_type = 0; if (!option_menu_type) { static const GtkTypeInfo option_menu_info = { "GtkOptionMenu", sizeof (GtkOptionMenu), sizeof (GtkOptionMenuClass), (GtkClassInitFunc) gtk_option_menu_class_init, (GtkObjectInitFunc) gtk_option_menu_init, /* reserved_1 */ NULL, /* reserved_2 */ NULL, (GtkClassInitFunc) NULL, }; option_menu_type = gtk_type_unique (gtk_button_get_type (), &option_menu_info); } return option_menu_type; }
//g_signal_connect (GTK_OBJECT (rmix), "activate", G_CALLBACK (rf_mixer_activate), rmix); //g_signal_connect (GTK_OBJECT (rmix), "clicked", G_CALLBACK (rf_mixer_activate), rmix); //g_signal_connect (GTK_OBJECT (rmix), "pressed", G_CALLBACK (rf_mixer_activate), rmix); } void rf_mixer_class_init (gpointer class, gpointer class_data) { GObjectClass *object_class; GtkButtonClass *widget_class; object_class = (GObjectClass *) class; widget_class = (GtkButtonClass *) class; parent_class = gtk_type_class (gtk_button_get_type ()); /* GObject */ object_class->set_property = NULL; object_class->get_property = NULL; object_class->finalize = rf_mixer_finalize; } GType rf_mixer_get_type (void) { static GType type = 0; if (!type) { static const GTypeInfo info = { sizeof (RfMixerClass),
static void create_vkbd(void) { GtkWidget *window, *container, *hbox; int i, j; KeyCode *keycodeptr, keycode = MIN_KEYCODE; static SPIBoolean true_val = True; static SPIBoolean false_val = False; window = g_object_connect (gtk_widget_new (gtk_window_get_type (), "user_data", NULL, "can_focus", FALSE, "type", GTK_WINDOW_TOPLEVEL, "window-position", GTK_WIN_POS_CENTER, "title", "test", "allow_grow", FALSE, "allow_shrink", FALSE, "border_width", 10, NULL), "signal::realize", keysynth_realize, NULL, "signal::destroy", keysynth_exit, NULL, NULL); container = gtk_widget_new (GTK_TYPE_VBOX, "GtkWidget::parent", window, "GtkWidget::visible", TRUE, NULL); for (i=0; i<MAX_ROWS-1; ++i) { hbox = gtk_widget_new (gtk_hbox_get_type(), "GtkWidget::parent", container, "GtkWidget::visible", TRUE, NULL); buttons[i] = g_new0 (GtkButton*, MAX_COLUMNS); for (j=0; j<MAX_COLUMNS; ++j) { keycodeptr = (KeyCode *) g_new0 (KeyCode, 1); *keycodeptr = keycode; buttons[i][j] = g_object_connect (gtk_widget_new (gtk_button_get_type (), "GtkWidget::parent", hbox, "GtkWidget::visible", TRUE, NULL), "signal::clicked", synth_keycode, keycodeptr, NULL); if (keycode == SHIFT_L_KEYCODE || keycode == SHIFT_R_KEYCODE) { g_object_connect (buttons[i][j], "signal::pressed", show_shift, &true_val, NULL); g_object_connect (buttons[i][j], "signal::released", show_shift, &false_val, NULL); } ++keycode; } } hbox = gtk_widget_new (gtk_hbox_get_type(), "GtkWidget::parent", container, "GtkWidget::visible", TRUE, NULL); buttons[i] = g_new0 (GtkButton*, 2); buttons[i][0] = g_object_connect (gtk_widget_new (gtk_button_get_type (), "GtkButton::label", "Quit", "GtkWidget::parent", hbox, "GtkWidget::visible", TRUE, NULL), "signal::clicked", button_exit, NULL, NULL); buttons[i][1] = g_object_connect (gtk_widget_new (gtk_button_get_type (), "GtkButton::label", "ShiftLatch", "GtkWidget::parent", hbox, "GtkWidget::visible", TRUE, NULL), "signal::clicked", toggle_shift_latch, NULL, NULL); label_buttons (caps_lock || shift_latched); gtk_widget_show (window); }