static gboolean onState(GtkWidget *widget, GdkEvent *event, gpointer data) { WindowFullscreenTest *test = static_cast<WindowFullscreenTest*>(data); GdkEventWindowState *ev = (GdkEventWindowState*)(event); if (ev->changed_mask & GDK_WINDOW_STATE_FULLSCREEN) { test->isFullscreen_ = ev->new_window_state & GDK_WINDOW_STATE_FULLSCREEN; std::cout << "...got fullscreen state change " << test->isFullscreen_ << std::endl; } return gtk_false(); }
static gboolean onConfigure(GtkWidget *widget, GdkEvent *event, gpointer data) { WindowFullscreenTest *test = static_cast<WindowFullscreenTest*>(data); GdkEventConfigure *ev = (GdkEventConfigure*)(event); Geometry conf; conf.x = ev->x; conf.y = ev->y; conf.width = ev->width; conf.height = ev->height; test->isConfigured_ = true; std::cout << "...got configure event " << conf << std::endl; return gtk_false(); }
char * show_username_dialog(GtkWindow * window) { GtkWidget *dialog, *label, *content_area,*entry,*button; entry = gtk_entry_new(); /* Create the widgets */ dialog = gtk_dialog_new_with_buttons("Username setup", window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_APPLY, GTK_RESPONSE_ACCEPT, NULL); content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); label = gtk_label_new("Please enter your youtube username\n"); button = gtk_dialog_get_widget_for_response(GTK_DIALOG(dialog),GTK_RESPONSE_ACCEPT); gtk_widget_set_sensitive(button,gtk_false()); g_signal_connect(G_OBJECT(entry), "insert_text", G_CALLBACK(insert_text_handler), button); g_signal_connect(G_OBJECT(entry), "delete-text", G_CALLBACK(delete_text_handler), button); /* Ensure that the dialog box is destroyed when the user responds. */ g_signal_connect_swapped(dialog,"response",G_CALLBACK(gtk_widget_destroy),dialog); /* Add the label, and show everything we've added to the dialog. */ gtk_container_add(GTK_CONTAINER (content_area), label); gtk_container_add(GTK_CONTAINER (content_area), entry); gtk_entry_set_max_length(GTK_ENTRY(entry),30); gtk_widget_show_all(dialog); gint result = gtk_dialog_run(GTK_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_ACCEPT: printf("hello this %s",gtk_entry_get_text(GTK_ENTRY(entry))); put_username(entry); break; default: printf("hello"); gtk_main_quit(); break; } gtk_widget_destroy(dialog); fetch_new_videos(GTK_WINDOW(window)); }
static void disable_menu_callback(GtkWidget *menu_item, gpointer data) { printf("disable_menu_callback\n"); gint *val = (gint*) data; printf("Checking: %d\n", *val); if (GTK_IS_MENU_ITEM(menu_item) && (*val == 0)) { gtk_widget_set_sensitive(menu_item, gtk_false()); } else { *val = *val - 1; } }