static void cb_sheet_deleted (Workbook *wb, GotoState *state) { dialog_goto_load_names (state); cb_dialog_goto_update_sensitivity (NULL, state); }
/** * dialog_init: * @state: * * Create the dialog (guru). * **/ static gboolean dialog_goto_init (GotoState *state) { GtkGrid *grid; GtkWidget *scrolled; GtkTreeViewColumn *column; grid = GTK_GRID (go_gtk_builder_get_widget (state->gui, "names")); state->goto_text = GTK_ENTRY (gtk_entry_new ()); gtk_widget_set_hexpand (GTK_WIDGET (state->goto_text), TRUE); gtk_grid_attach (grid, GTK_WIDGET (state->goto_text), 0, 2, 1, 1); g_signal_connect_after (G_OBJECT (state->goto_text), "changed", G_CALLBACK (cb_dialog_goto_update_sensitivity), state); state->spin_rows = GTK_SPIN_BUTTON (go_gtk_builder_get_widget (state->gui, "spin-rows")); state->spin_cols = GTK_SPIN_BUTTON (go_gtk_builder_get_widget (state->gui, "spin-columns")); /* Set-up treeview */ scrolled = go_gtk_builder_get_widget (state->gui, "scrolled"); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled), GTK_SHADOW_ETCHED_IN); state->model = gtk_tree_store_new (NUM_COLMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_POINTER); state->treeview = GTK_TREE_VIEW ( gtk_tree_view_new_with_model (GTK_TREE_MODEL (state->model))); state->selection = gtk_tree_view_get_selection (state->treeview); gtk_tree_selection_set_mode (state->selection, GTK_SELECTION_BROWSE); g_signal_connect (state->selection, "changed", G_CALLBACK (cb_dialog_goto_selection_changed), state); column = gtk_tree_view_column_new_with_attributes (_("Sheet"), gtk_cell_renderer_text_new (), "text", SHEET_NAME, NULL); gtk_tree_view_column_set_sort_column_id (column, SHEET_NAME); gtk_tree_view_append_column (state->treeview, column); column = gtk_tree_view_column_new_with_attributes (_("Cell"), gtk_cell_renderer_text_new (), "text", ITEM_NAME, NULL); gtk_tree_view_column_set_sort_column_id (column, ITEM_NAME); gtk_tree_view_append_column (state->treeview, column); gtk_tree_view_set_headers_visible (state->treeview, TRUE); gtk_container_add (GTK_CONTAINER (scrolled), GTK_WIDGET (state->treeview)); dialog_goto_load_names (state); /* Finished set-up of treeview */ /* Listen for sheet changes */ state->sheet_order_changed_listener = g_signal_connect (G_OBJECT (state->wb), "sheet_order_changed", G_CALLBACK (cb_sheet_order_changed), state); state->sheet_added_listener = g_signal_connect (G_OBJECT (state->wb), "sheet_added", G_CALLBACK (cb_sheet_added), state); state->sheet_deleted_listener = g_signal_connect (G_OBJECT (state->wb), "sheet_deleted", G_CALLBACK (cb_sheet_deleted), state); state->close_button = go_gtk_builder_get_widget (state->gui, "close_button"); g_signal_connect (G_OBJECT (state->close_button), "clicked", G_CALLBACK (cb_dialog_goto_close_clicked), state); state->go_button = go_gtk_builder_get_widget (state->gui, "go_button"); g_signal_connect (G_OBJECT (state->go_button), "clicked", G_CALLBACK (cb_dialog_goto_go_clicked), state); gtk_window_set_default (GTK_WINDOW (state->dialog), state->go_button); gnm_init_help_button ( go_gtk_builder_get_widget (state->gui, "help_button"), GNUMERIC_HELP_LINK_GOTO_CELL); dialog_goto_load_selection (state); wbc_gtk_attach_guru (state->wbcg, state->dialog); g_object_set_data_full (G_OBJECT (state->dialog), "state", state, (GDestroyNotify) cb_dialog_goto_free); return FALSE; }
static void cb_sheet_order_changed (Workbook *wb, GotoState *state) { dialog_goto_load_names (state); }
static void cb_sheet_added (G_GNUC_UNUSED Workbook *wb, GotoState *state) { dialog_goto_load_names (state); cb_dialog_goto_update_sensitivity (NULL, state); }