Update Spanish translation
[gnumeric.git] / src / commands.h
blob2aa4899f9a56c0a2d3c5d024e15ac1a12a99b9ff
1 #ifndef _GNM_COMMANDS_H_
2 #define _GNM_COMMANDS_H_
4 #include <gnumeric.h>
5 #include <tools/tools.h>
7 G_BEGIN_DECLS
9 void command_undo (WorkbookControl *wbc);
10 void command_redo (WorkbookControl *wbc);
11 void command_repeat (WorkbookControl *wbc);
12 void command_setup_combos (WorkbookControl *wbc);
13 void command_list_release (GSList *cmds);
15 /* utility functions */
17 GString *gnm_cmd_trunc_descriptor (GString *src, gboolean *truncated);
18 gboolean cmd_cell_range_is_locked_effective (Sheet *sheet, GnmRange *range,
19 WorkbookControl *wbc,
20 char const *cmd_name);
21 gboolean cmd_selection_is_locked_effective (Sheet *sheet, GSList *selection,
22 WorkbookControl *wbc,
23 char const *cmd_name);
25 /* Commands: note that any extensions should ideally use cmd_generic* */
27 gboolean cmd_generic (WorkbookControl *wbc, const char *text,
28 GOUndo *undo, GOUndo *redo);
29 gboolean cmd_generic_with_size (WorkbookControl *wbc, const char *text,
30 int size,
31 GOUndo *undo, GOUndo *redo);
33 gboolean cmd_set_text (WorkbookControl *wbc, Sheet *sheet,
34 GnmCellPos const *pos, char const *new_text,
35 PangoAttrList *markup, gboolean autocorrect);
37 gboolean cmd_area_set_text (WorkbookControl *wbc, SheetView *sv,
38 char const *text, PangoAttrList *markup);
40 gboolean cmd_area_set_array_expr (WorkbookControl *wbc, SheetView *sv,
41 GnmExprTop const *new_texpr);
43 gboolean cmd_create_data_table (WorkbookControl *wbc,
44 Sheet *sheet, GnmRange const *r,
45 char const *col_input, char const *row_input);
47 gboolean cmd_insert_cols (WorkbookControl *wbc, Sheet *sheet,
48 int start_col, int count);
49 gboolean cmd_insert_rows (WorkbookControl *wbc, Sheet *sheet,
50 int start_row, int count);
51 gboolean cmd_delete_cols (WorkbookControl *wbc, Sheet *sheet,
52 int start_col, int count);
53 gboolean cmd_delete_rows (WorkbookControl *wbc, Sheet *sheet,
54 int start_row, int count);
56 gboolean cmd_resize_colrow (WorkbookControl *wbc, Sheet *sheet,
57 gboolean is_col, ColRowIndexList *selection,
58 int new_size);
59 gboolean cmd_autofit_selection (WorkbookControl *wbc, SheetView *sv, Sheet *sheet,
60 gboolean fit_width,
61 ColRowIndexList *selectionlist);
63 gboolean cmd_paste_cut (WorkbookControl *wbc,
64 GnmExprRelocateInfo const *info,
65 gboolean move_selection,
66 char *cmd_descriptor);
67 gboolean cmd_paste_copy (WorkbookControl *wbc,
68 GnmPasteTarget const *pt, GnmCellRegion *content);
70 gboolean cmd_sort (WorkbookControl *wbc, GnmSortData *data);
72 gboolean cmd_autofill (WorkbookControl *wbc, Sheet *sheet,
73 gboolean default_increment,
74 int base_col, int base_row,
75 int w, int h, int end_col, int end_row,
76 gboolean inverse_autofill);
78 gboolean cmd_copyrel (WorkbookControl *wbc,
79 int dx, int dy,
80 char const *name);
82 /* currently these operate on the current sheet, and it calling control's
83 * selection. In the future we should pass in a virtualized selection.
85 gboolean cmd_selection_format (WorkbookControl *wbc,
86 GnmStyle *style, GnmBorder **borders,
87 char const *opt_translated_name);
88 gboolean cmd_selection_format_toggle_font_style (WorkbookControl *wbc,
89 GnmStyle *style, GnmStyleElement t);
90 gboolean cmd_selection_clear (WorkbookControl *wbc, int clear_flags);
91 gboolean cmd_selection_colrow_hide (WorkbookControl *wbc,
92 gboolean is_cols, gboolean visible);
93 gboolean cmd_selection_outline_change (WorkbookControl *wbc,
94 gboolean is_cols, int index, int depth);
95 gboolean cmd_selection_group (WorkbookControl *wbc,
96 gboolean is_cols, gboolean group);
97 gboolean cmd_selection_autoformat (WorkbookControl *wbc, GnmFT *ft);
98 gboolean cmd_selection_hyperlink (WorkbookControl *wbc,
99 GnmStyle *style,
100 char const *opt_translated_name,
101 char *opt_content);
103 /******************************************************************************************/
105 gboolean cmd_global_outline_change (WorkbookControl *wbc, gboolean is_cols, int depth);
107 gboolean cmd_merge_cells (WorkbookControl *wbc, Sheet *sheet,
108 GSList const *selection, gboolean center);
109 gboolean cmd_unmerge_cells (WorkbookControl *wbc, Sheet *sheet,
110 GSList const *selection);
112 gboolean cmd_search_replace (WorkbookControl *wbc, GnmSearchReplace *sr);
114 gboolean cmd_colrow_std_size (WorkbookControl *wbc, Sheet *sheet,
115 gboolean is_cols, double new_default);
117 gboolean cmd_zoom (WorkbookControl *wbc, GSList *sheets, double factor);
119 gboolean cmd_rename_sheet (WorkbookControl *wbc, Sheet *sheet,
120 char const *new_name);
122 gboolean cmd_set_comment (WorkbookControl *wbc, Sheet *sheet,
123 GnmCellPos const *pos, char const *new_text,
124 PangoAttrList *attr, char const *new_author);
126 gboolean cmd_analysis_tool (WorkbookControl *wbc, Sheet *sheet,
127 data_analysis_output_t *dao, gpointer specs,
128 analysis_tool_engine engine,
129 gboolean always_take_ownership);
131 gboolean cmd_merge_data (WorkbookControl *wbc, Sheet *sheet,
132 GnmValue *merge_zone, GSList *merge_fields, GSList *merge_data);
134 gboolean cmd_change_meta_data (WorkbookControl *wbc, GSList *changes, GSList *removed);
135 gboolean cmd_print_setup (WorkbookControl *wbc, Sheet *sheet, GnmPrintInformation const *pi);
136 gboolean cmd_define_name (WorkbookControl *wbc, char const *name,
137 GnmParsePos const *pp,
138 GnmExprTop const *texpr,
139 char const *descriptor);
140 gboolean cmd_remove_name (WorkbookControl *wbc, GnmNamedExpr *nexpr);
141 gboolean cmd_rescope_name (WorkbookControl *wbc, GnmNamedExpr *nexpr,
142 Sheet *scope);
144 gboolean cmd_scenario_add (WorkbookControl *wbc, GnmScenario *s, Sheet *sheet);
145 gboolean cmd_scenario_mngr (WorkbookControl *wbc, GnmScenario *sc,
146 GOUndo *undo);
148 /* FIXME: figure out how to resolve this better. */
149 struct _data_shuffling_t;
150 gboolean cmd_data_shuffle (WorkbookControl *wbc, struct _data_shuffling_t *sc, Sheet *sheet);
153 gboolean cmd_text_to_columns (WorkbookControl *wbc,
154 GnmRange const *src, Sheet *src_sheet,
155 GnmRange const *target, Sheet *target_sheet,
156 GnmCellRegion *content);
158 gboolean cmd_goal_seek (WorkbookControl *wbc,
159 GnmCell *cell, GnmValue *ov, GnmValue *nv);
161 gboolean cmd_tabulate (WorkbookControl *wbc, gpointer data);
163 gboolean cmd_toggle_rtl (WorkbookControl *wbc, Sheet *sheet);
165 gboolean cmd_autofilter_add_remove (WorkbookControl *wbc);
166 gboolean cmd_autofilter_set_condition (WorkbookControl *wbc,
167 GnmFilter *filter, unsigned i,
168 GnmFilterCondition *cond);
170 /************************** Sheet Objects **************************************/
172 gboolean cmd_objects_delete (WorkbookControl *wbc, GSList *objects,
173 char const *name);
174 gboolean cmd_objects_move (WorkbookControl *wbc,
175 GSList *objects, GSList *anchors,
176 gboolean objects_created, char const *name);
178 gboolean cmd_so_graph_config (WorkbookControl *wbc, SheetObject *sog,
179 GObject *n_graph, GObject *o_graph);
180 gboolean cmd_so_component_config (WorkbookControl *wbc, SheetObject *so,
181 GObject *n_obj, GObject *o_obj);
183 typedef enum {
184 cmd_object_pull_to_front,
185 cmd_object_pull_forward ,
186 cmd_object_push_backward,
187 cmd_object_push_to_back
188 } CmdObjectRaiseSelector;
189 gboolean cmd_object_raise (WorkbookControl *wbc, SheetObject *so, CmdObjectRaiseSelector dir);
191 gboolean cmd_so_set_value (WorkbookControl *wbc,
192 const char *text,
193 const GnmCellRef *pref,
194 GnmValue *new_val,
195 Sheet *sheet);
197 gboolean cmd_so_set_links (WorkbookControl *wbc, SheetObject *so,
198 GnmExprTop const *output, GnmExprTop const *content,
199 gboolean as_index);
201 gboolean cmd_so_set_frame_label (WorkbookControl *wbc, SheetObject *so,
202 char *old_label, char *new_label);
204 gboolean cmd_so_set_button (WorkbookControl *wbc, SheetObject *so,
205 GnmExprTop const *lnk,
206 char *old_label, char *new_label);
208 gboolean cmd_so_set_radio_button (WorkbookControl *wbc, SheetObject *so,
209 GnmExprTop const *lnk,
210 char *old_label, char *new_label,
211 GnmValue *old_value, GnmValue *new_value);
213 gboolean cmd_so_set_checkbox (WorkbookControl *wbc, SheetObject *so,
214 GnmExprTop const *lnk,
215 char *old_label, char *new_label);
217 gboolean cmd_so_set_adjustment (WorkbookControl *wbc, SheetObject *so,
218 GnmExprTop const *lnk,
219 gboolean horizontal,
220 int lower, int upper,
221 int step, int page,
222 char const *undo_label);
224 gboolean cmd_page_breaks_clear (WorkbookControl *wbc, Sheet *sheet);
225 gboolean cmd_page_break_toggle (WorkbookControl *wbc, Sheet *sheet, gboolean is_vert);
227 /********************************************************************************/
229 gboolean cmd_reorganize_sheets (WorkbookControl *wbc,
230 WorkbookSheetState *old_state,
231 Sheet *undo_sheet);
233 gboolean cmd_resize_sheets (WorkbookControl *wbc,
234 GSList *sheets,
235 int cols, int rows);
240 /********************************************************************************/
242 G_END_DECLS
244 #endif /* _GNM_COMMANDS_H_ */