static void set_selection_state (ScenariosState *state, gboolean f) { /* Set the sensitivies to FALSE since no selections have been made */ gtk_widget_set_sensitive (state->show_button, f); gtk_widget_set_sensitive (state->delete_button, f); if (f) { GtkTreeSelection *selection; GtkTreeIter iter; GtkTreeModel *model; gchar *name; gchar *cells_txt; GnmScenario *sc; selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (state->scenarios_treeview)); if (!gtk_tree_selection_get_selected (selection, NULL, &iter)) return; model = gtk_tree_view_get_model (GTK_TREE_VIEW (state->scenarios_treeview)); gtk_tree_model_get (GTK_TREE_MODEL (model), &iter, 0, &name, -1); sc = gnm_sheet_scenario_find (state->base.sheet, name); if (!sc) return; cells_txt = gnm_scenario_get_range_str (sc); update_comment (state, cells_txt, sc->comment); g_free (cells_txt); } else update_comment (state, "", ""); }
static void read_sql_lines(void) { char *cp; char *firstword; char firstword_separator; char *line = NULL; char foobuf[40]; bool in_comment = false; reset_ibuf(); while (1) { if (no_prompt) { foobuf[0] = '\0'; } else { sprintf(foobuf, "%d>> ", ibuflines + 1); } free(line); line = readline(foobuf); if (line == NULL) { reset_term(); dbexit(); exit(default_exit); } for (cp = line; *cp && isspace((unsigned char) *cp); cp++) continue; if (*cp) { add_history(line); } if (in_comment) { goto append_line; } if (!(strncasecmp(line, "!!", 2))) { system_cmd(line + 2); continue; } /* XXX: isql off-by-one line count error for :r not duplicated */ if (!(strncasecmp(line, ":r", 2))) { readfile_cmd(line); continue; } firstword = line; firstword_separator = '\0'; for (cp = firstword; *cp; cp++) { if (isspace((unsigned char) *cp)) { firstword_separator = *cp; *cp = '\0'; break; } } if ((!(strcasecmp(firstword, "exit"))) || (!(strcasecmp(firstword, "quit")))) { reset_term(); dbexit(); exit(default_exit); } if (!(strcasecmp(firstword, "reset"))) { reset_ibuf(); continue; } if (!(strcasecmp(firstword, cmdend))) { if (ibuflines == 0) { continue; } break; } if ((!(strcasecmp(firstword, "vi"))) || (!(strcasecmp(firstword, editor)))) { vi_cmd(firstword); continue; } firstword[strlen(firstword)] = firstword_separator; append_line: in_comment = update_comment(in_comment, line); append_line(line); line = NULL; } }