static void cb_fill_series_ok_clicked (G_GNUC_UNUSED GtkWidget *button, FillSeriesState *state) { GtkWidget *radio; fill_series_t *fs; data_analysis_output_t *dao; fs = g_new0 (fill_series_t, 1); dao = parse_output ((GenericToolState *)state, NULL); /* Read the `Series in' radio buttons. */ radio = go_gtk_builder_get_widget (state->base.gui, "series_in_rows"); fs->series_in_rows = ! gnm_gtk_radio_group_get_selected (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio))); /* Read the `Type' radio buttons. */ radio = go_gtk_builder_get_widget (state->base.gui, "type_linear"); fs->type = gnm_gtk_radio_group_get_selected (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio))); /* Read the `Date unit' radio buttons. */ radio = go_gtk_builder_get_widget (state->base.gui, "unit_day"); fs->date_unit = gnm_gtk_radio_group_get_selected (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio))); fs->is_step_set = ! entry_to_float (GTK_ENTRY (state->step_entry), &fs->step_value, TRUE); fs->is_stop_set = ! entry_to_float (GTK_ENTRY (state->stop_entry), &fs->stop_value, TRUE); entry_to_float (GTK_ENTRY (state->start_entry), &fs->start_value, TRUE); if (!cmd_analysis_tool (WORKBOOK_CONTROL (state->base.wbcg), state->base.sheet, dao, fs, fill_series_engine, TRUE)) gtk_widget_destroy (state->base.dialog); }
static void cb_type_button_clicked (G_GNUC_UNUSED GtkWidget *button, FillSeriesState *state) { GtkWidget *radio; fill_series_type_t type; /* Read the `Type' radio buttons. */ radio = go_gtk_builder_get_widget (state->base.gui, "type_linear"); type = gnm_gtk_radio_group_get_selected (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio))); if (type == FillSeriesTypeDate) gtk_widget_set_sensitive (state->date_steps_type, TRUE); else gtk_widget_set_sensitive (state->date_steps_type, FALSE); }
static void cb_delete_cell_ok_clicked (DeleteCellState *state) { WorkbookControl *wbc = GNM_WBC (state->wbcg); GtkWidget *radio_0; int cols, rows; int i; radio_0 = go_gtk_builder_get_widget (state->gui, "radio_0"); g_return_if_fail (radio_0 != NULL); i = gnm_gtk_radio_group_get_selected (gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_0))); cols = state->sel->end.col - state->sel->start.col + 1; rows = state->sel->end.row - state->sel->start.row + 1; switch (i) { case 0 : cmd_shift_rows (wbc, state->sheet, state->sel->end.col + 1, state->sel->start.row, state->sel->end.row, - cols); break; case 1 : cmd_shift_cols (wbc, state->sheet, state->sel->start.col, state->sel->end.col, state->sel->end.row + 1, - rows); break; case 2 : cmd_delete_rows (wbc, state->sheet, state->sel->start.row, rows); break; default : cmd_delete_cols (wbc, state->sheet, state->sel->start.col, cols); break; } gtk_widget_destroy (state->dialog); }