GtkWidget *create_alerts_page(GtkWidget * window) { GtkWidget *main_widget = NULL, *scrolled_window = NULL, *user_alerts_list_view = NULL, *alerts_list_view = NULL, *buttons_box = NULL, *add_button = NULL, *remove_button = NULL; #ifdef DEBUGFUNCTIONCALL START_FUNCTION; #endif main_widget = gtk_hbox_new(FALSE, 0); /* User alerts list */ scrolled_window = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_widget_set_size_request(GTK_WIDGET(scrolled_window), 250, 280); gtk_box_pack_start(GTK_BOX(main_widget), scrolled_window, FALSE, FALSE, 0); user_alerts_list_view = create_tree_view(app->user_alerts_list); GLADE_HOOKUP_OBJECT(window, user_alerts_list_view, "user_alerts_list_view"); gtk_container_add(GTK_CONTAINER(scrolled_window), GTK_WIDGET(user_alerts_list_view)); /* buttons */ buttons_box = gtk_vbox_new(FALSE, 0); add_button = create_button_with_image(NULL, "qgn_list_hw_button_left", 26, TRUE, FALSE); remove_button = create_button_with_image(NULL, "qgn_list_hw_button_right", 26, TRUE, FALSE); gtk_box_pack_start(GTK_BOX(buttons_box), add_button, FALSE, FALSE, 80); gtk_box_pack_start(GTK_BOX(buttons_box), remove_button, FALSE, FALSE, 80); gtk_box_pack_start(GTK_BOX(main_widget), buttons_box, FALSE, FALSE, 10); /* Alerts list */ scrolled_window = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_widget_set_size_request(GTK_WIDGET(scrolled_window), 250, 280); gtk_box_pack_start(GTK_BOX(main_widget), scrolled_window, FALSE, FALSE, 0); alerts_list_view = create_tree_view(create_alerts_list()); GLADE_HOOKUP_OBJECT(window, user_alerts_list_view, "alerts_list_view"); gtk_container_add(GTK_CONTAINER(scrolled_window), GTK_WIDGET(alerts_list_view)); gtk_widget_show_all(main_widget); return main_widget; }
static GtkWidget * create_window (void) { GtkWidget *window, *vbox; window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(window), 400, 400); #if (GTK_MAJOR_VERSION >= 3) vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); #else vbox = gtk_vbox_new(FALSE, 0); #endif gtk_container_add(GTK_CONTAINER(window), vbox); gtk_widget_show(vbox); entry = gtk_entry_new(); gtk_box_pack_start(GTK_BOX (vbox), entry, FALSE, FALSE, 0); g_signal_connect(entry, "activate", G_CALLBACK(cb_activate), NULL); g_signal_connect(entry, "key-release-event", G_CALLBACK(cb_key_release), NULL); gtk_widget_show(entry); textview = gtk_text_view_new(); gtk_box_pack_start(GTK_BOX(vbox), textview, TRUE, TRUE, 0); gtk_widget_show(textview); treeview = create_tree_view(); gtk_box_pack_start(GTK_BOX(vbox), treeview, FALSE, FALSE, 0); gtk_widget_show(treeview); return window; }
static void populate_notebook (gpointer data, gpointer user_data) { gchar *header_name; GtkWidget *header = NULL; GtkWidget *h_data; GtkWidget *scrolled_window; GtkWidget *notebook; notebook = (GtkWidget *) user_data; header_name = (gchar *) data; if (strcmp (header_name, "comment")) { header = gtk_label_new (header_name); gtk_label_set_text (GTK_LABEL (header), header_name); h_data = create_tree_view (); scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_container_add (GTK_CONTAINER (scrolled_window), h_data); gtk_notebook_append_page_menu (GTK_NOTEBOOK (notebook), scrolled_window, header, NULL); gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (notebook), scrolled_window, TRUE); g_hash_table_insert (ui->notebook_hash, header_name, scrolled_window); } }
/** \brief Create cartridge preview widget * * \return GtkGrid */ GtkWidget *crt_preview_widget_create(void) { GtkWidget *grid; GtkWidget *label; GtkWidget *scroll; int row; grid = uihelpers_create_grid_with_label("CRT Header:", 2); gtk_grid_set_column_spacing(GTK_GRID(grid), 16); gtk_grid_set_row_spacing(GTK_GRID(grid), 8); row = 1; label = create_label("ID:"); crtid_label = create_label("<unknown>"); gtk_grid_attach(GTK_GRID(grid), label, 0, row, 1, 1); gtk_grid_attach(GTK_GRID(grid), crtid_label, 1, row, 1, 1); row++; label = create_label("Name:"); crtname_label = create_label("<unknown>"); gtk_grid_attach(GTK_GRID(grid), label, 0, row, 1, 1); gtk_grid_attach(GTK_GRID(grid), crtname_label, 1, row, 1, 1); row++; label = create_label("EXROM:"); exrom_label = create_label("<unknown>"); gtk_grid_attach(GTK_GRID(grid), label, 0, row, 1, 1); gtk_grid_attach(GTK_GRID(grid), exrom_label, 1, row, 1, 1); row++; label = create_label("GAME:"); game_label = create_label("<unknown>"); gtk_grid_attach(GTK_GRID(grid), label, 0, row, 1, 1); gtk_grid_attach(GTK_GRID(grid), game_label, 1, row, 1, 1); row++; label = gtk_label_new(NULL); gtk_widget_set_halign(label, GTK_ALIGN_START); gtk_label_set_markup(GTK_LABEL(label), "<b>CHIP packets:</b>"); gtk_grid_attach(GTK_GRID(grid), label, 0, row, 2, 1); row++; scroll = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_widget_set_vexpand(scroll, TRUE); chip_tree = create_tree_view(); gtk_widget_set_vexpand(chip_tree, TRUE); gtk_container_add(GTK_CONTAINER(scroll), chip_tree); gtk_grid_attach(GTK_GRID(grid), scroll, 0, row, 2, 1); gtk_widget_show_all(grid); return grid; }
GtkWidget * show_results_window (gchar *query, GList *results, GCallback selected_cb) { GtkWidget *win; GtkWidget *pannable; GtkWidget *view; GtkListStore *model; GtkWidget *aa; GtkWidget *n_results_label; GtkTreePath *exact_match = NULL; gchar *query_icase; gint n_results; gchar *tmp; query_icase = g_utf8_casefold (query, -1); n_results = g_list_length (results); DEBUG ("Showing %d results for: %s", n_results, query); win = hildon_stackable_window_new (); gtk_window_set_title (GTK_WINDOW (win), "Search results"); g_signal_connect (G_OBJECT (win), "delete-event", G_CALLBACK (gtk_widget_destroy), win); pannable = hildon_pannable_area_new (); g_object_set (pannable, "mov-mode", HILDON_MOVEMENT_MODE_VERT, "hscrollbar-policy", GTK_POLICY_NEVER, NULL); view = create_tree_view (&model); aa = hildon_tree_view_get_action_area_box (GTK_TREE_VIEW (view)); hildon_tree_view_set_action_area_visible (GTK_TREE_VIEW (view), TRUE); tmp = g_strdup_printf ("Found %s%d articles about %s", (n_results == 500) ? "more than " : "", n_results, query); n_results_label = gtk_label_new (tmp); g_free (tmp); gtk_container_add (GTK_CONTAINER (aa), n_results_label); gtk_container_add (GTK_CONTAINER (win), pannable); gtk_container_add (GTK_CONTAINER (pannable), view); g_signal_connect (G_OBJECT (view), "row-activated", G_CALLBACK (row_activated_cb), selected_cb); while (results) { GtkTreeIter iter; tmp = results->data; gchar *tmp_icase = g_utf8_casefold (tmp, -1); gtk_list_store_insert_with_values (model, &iter, -1, 0, tmp, -1); if (!g_utf8_collate (tmp_icase, query_icase)) exact_match = gtk_tree_model_get_path (GTK_TREE_MODEL (model), &iter); results = g_list_remove (results, tmp); g_free (tmp); g_free (tmp_icase); } /* if there's exact match in the results, we want to scroll * to it so the user doesn't need to scroll potentially huge * list to find it. */ if (exact_match) { gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (view), exact_match, NULL, FALSE, 0.0, 0.0); gtk_tree_path_free (exact_match); exact_match = NULL; } gtk_widget_show_all (win); return win; }
int main (int argc, char **argv) { MatewnckScreen *screen; GtkWidget *sw; GtkWidget *win; gtk_init (&argc, &argv); screen = matewnck_screen_get (0); g_signal_connect (G_OBJECT (screen), "active_window_changed", G_CALLBACK (active_window_changed_callback), NULL); g_signal_connect (G_OBJECT (screen), "active_workspace_changed", G_CALLBACK (active_workspace_changed_callback), NULL); g_signal_connect (G_OBJECT (screen), "window_stacking_changed", G_CALLBACK (window_stacking_changed_callback), NULL); g_signal_connect (G_OBJECT (screen), "window_opened", G_CALLBACK (window_opened_callback), NULL); g_signal_connect (G_OBJECT (screen), "window_closed", G_CALLBACK (window_closed_callback), NULL); g_signal_connect (G_OBJECT (screen), "workspace_created", G_CALLBACK (workspace_created_callback), NULL); g_signal_connect (G_OBJECT (screen), "workspace_destroyed", G_CALLBACK (workspace_destroyed_callback), NULL); g_signal_connect (G_OBJECT (screen), "application_opened", G_CALLBACK (application_opened_callback), NULL); g_signal_connect (G_OBJECT (screen), "application_closed", G_CALLBACK (application_closed_callback), NULL); g_signal_connect (G_OBJECT (screen), "showing_desktop_changed", G_CALLBACK (showing_desktop_changed_callback), NULL); global_tree_model = create_tree_model (); global_tree_view = create_tree_view (); gtk_tree_view_set_model (GTK_TREE_VIEW (global_tree_view), global_tree_model); win = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (win), "Window List"); sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_add (GTK_CONTAINER (sw), global_tree_view); gtk_container_add (GTK_CONTAINER (win), sw); gtk_window_set_default_size (GTK_WINDOW (win), 650, 550); /* quit on window close */ g_signal_connect (G_OBJECT (win), "destroy", G_CALLBACK (gtk_main_quit), NULL); gtk_widget_show_all (win); gtk_main (); return 0; }
GtkWidget * tree_store_create(int n, n_list_store *list) { return create_tree_view(n, list, TRUE); }