GUI: reduce vertical size of the toolbar area
[gnumeric.git] / src / commands.h
blob1786cf49090d0df3ec5c12b32ac9f60f484ffbb2
1 /* vim: set sw=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 #ifndef _GNM_COMMANDS_H_
3 #define _GNM_COMMANDS_H_
5 #include "gnumeric.h"
6 #include "tools/tools.h"
8 G_BEGIN_DECLS
10 void command_undo (WorkbookControl *wbc);
11 void command_redo (WorkbookControl *wbc);
12 void command_repeat (WorkbookControl *wbc);
13 void command_setup_combos (WorkbookControl *wbc);
14 void command_list_release (GSList *cmds);
16 /* utility functions */
18 GString *gnm_cmd_trunc_descriptor (GString *src, gboolean *truncated);
19 gboolean cmd_cell_range_is_locked_effective (Sheet *sheet, GnmRange *range,
20 WorkbookControl *wbc,
21 char const *cmd_name);
22 gboolean cmd_selection_is_locked_effective (Sheet *sheet, GSList *selection,
23 WorkbookControl *wbc,
24 char const *cmd_name);
26 /* Commands: note that any extensions should ideally use cmd_generic* */
28 gboolean cmd_generic (WorkbookControl *wbc, const char *text,
29 GOUndo *undo, GOUndo *redo);
30 gboolean cmd_generic_with_size (WorkbookControl *wbc, const char *text,
31 int size,
32 GOUndo *undo, GOUndo *redo);
34 gboolean cmd_set_text (WorkbookControl *wbc, Sheet *sheet,
35 GnmCellPos const *pos, char const *new_text,
36 PangoAttrList *markup, gboolean autocorrect);
38 gboolean cmd_area_set_text (WorkbookControl *wbc, SheetView *sv,
39 char const *text, PangoAttrList *markup);
41 gboolean cmd_area_set_array_expr (WorkbookControl *wbc, SheetView *sv,
42 GnmExprTop const *new_texpr);
44 gboolean cmd_create_data_table (WorkbookControl *wbc,
45 Sheet *sheet, GnmRange const *r,
46 char const *col_input, char const *row_input);
48 gboolean cmd_insert_cols (WorkbookControl *wbc, Sheet *sheet,
49 int start_col, int count);
50 gboolean cmd_insert_rows (WorkbookControl *wbc, Sheet *sheet,
51 int start_row, int count);
52 gboolean cmd_delete_cols (WorkbookControl *wbc, Sheet *sheet,
53 int start_col, int count);
54 gboolean cmd_delete_rows (WorkbookControl *wbc, Sheet *sheet,
55 int start_row, int count);
57 gboolean cmd_resize_colrow (WorkbookControl *wbc, Sheet *sheet,
58 gboolean is_col, ColRowIndexList *selection,
59 int new_size);
60 gboolean cmd_autofit_selection (WorkbookControl *wbc, SheetView *sv, Sheet *sheet,
61 gboolean fit_width,
62 ColRowIndexList *selectionlist);
64 gboolean cmd_paste_cut (WorkbookControl *wbc,
65 GnmExprRelocateInfo const *info,
66 gboolean move_selection,
67 char *cmd_descriptor);
68 gboolean cmd_paste_copy (WorkbookControl *wbc,
69 GnmPasteTarget const *pt, GnmCellRegion *content);
71 gboolean cmd_sort (WorkbookControl *wbc, GnmSortData *data);
73 gboolean cmd_autofill (WorkbookControl *wbc, Sheet *sheet,
74 gboolean default_increment,
75 int base_col, int base_row,
76 int w, int h, int end_col, int end_row,
77 gboolean inverse_autofill);
79 gboolean cmd_copyrel (WorkbookControl *wbc,
80 int dx, int dy,
81 char const *name);
83 /* currently these operate on the current sheet, and it calling control's
84 * selection. In the future we should pass in a virtualized selection.
86 gboolean cmd_selection_format (WorkbookControl *wbc,
87 GnmStyle *style, GnmBorder **borders,
88 char const *opt_translated_name);
89 gboolean cmd_selection_format_toggle_font_style (WorkbookControl *wbc,
90 GnmStyle *style, GnmStyleElement t);
91 gboolean cmd_selection_clear (WorkbookControl *wbc, int clear_flags);
92 gboolean cmd_selection_colrow_hide (WorkbookControl *wbc,
93 gboolean is_cols, gboolean visible);
94 gboolean cmd_selection_outline_change (WorkbookControl *wbc,
95 gboolean is_cols, int index, int depth);
96 gboolean cmd_selection_group (WorkbookControl *wbc,
97 gboolean is_cols, gboolean group);
98 gboolean cmd_selection_autoformat (WorkbookControl *wbc, GnmFT *ft);
99 gboolean cmd_selection_hyperlink (WorkbookControl *wbc,
100 GnmStyle *style,
101 char const *opt_translated_name,
102 char *opt_content);
104 /******************************************************************************************/
106 gboolean cmd_global_outline_change (WorkbookControl *wbc, gboolean is_cols, int depth);
108 gboolean cmd_merge_cells (WorkbookControl *wbc, Sheet *sheet,
109 GSList const *selection, gboolean center);
110 gboolean cmd_unmerge_cells (WorkbookControl *wbc, Sheet *sheet,
111 GSList const *selection);
113 gboolean cmd_search_replace (WorkbookControl *wbc, GnmSearchReplace *sr);
115 gboolean cmd_colrow_std_size (WorkbookControl *wbc, Sheet *sheet,
116 gboolean is_cols, double new_default);
118 gboolean cmd_zoom (WorkbookControl *wbc, GSList *sheets, double factor);
120 gboolean cmd_rename_sheet (WorkbookControl *wbc, Sheet *sheet,
121 char const *new_name);
123 gboolean cmd_set_comment (WorkbookControl *wbc, Sheet *sheet,
124 GnmCellPos const *pos, char const *new_text,
125 PangoAttrList *attr, char const *new_author);
127 gboolean cmd_analysis_tool (WorkbookControl *wbc, Sheet *sheet,
128 data_analysis_output_t *dao, gpointer specs,
129 analysis_tool_engine engine,
130 gboolean always_take_ownership);
132 gboolean cmd_merge_data (WorkbookControl *wbc, Sheet *sheet,
133 GnmValue *merge_zone, GSList *merge_fields, GSList *merge_data);
135 gboolean cmd_change_meta_data (WorkbookControl *wbc, GSList *changes, GSList *removed);
136 gboolean cmd_print_setup (WorkbookControl *wbc, Sheet *sheet, GnmPrintInformation const *pi);
137 gboolean cmd_define_name (WorkbookControl *wbc, char const *name,
138 GnmParsePos const *pp,
139 GnmExprTop const *texpr,
140 char const *descriptor);
141 gboolean cmd_remove_name (WorkbookControl *wbc, GnmNamedExpr *nexpr);
142 gboolean cmd_rescope_name (WorkbookControl *wbc, GnmNamedExpr *nexpr,
143 Sheet *scope);
145 gboolean cmd_scenario_add (WorkbookControl *wbc, GnmScenario *s, Sheet *sheet);
146 gboolean cmd_scenario_mngr (WorkbookControl *wbc, GnmScenario *sc,
147 GOUndo *undo);
149 /* FIXME: figure out how to resolve this better. */
150 struct _data_shuffling_t;
151 gboolean cmd_data_shuffle (WorkbookControl *wbc, struct _data_shuffling_t *sc, Sheet *sheet);
154 gboolean cmd_text_to_columns (WorkbookControl *wbc,
155 GnmRange const *src, Sheet *src_sheet,
156 GnmRange const *target, Sheet *target_sheet,
157 GnmCellRegion *content);
159 gboolean cmd_goal_seek (WorkbookControl *wbc,
160 GnmCell *cell, GnmValue *ov, GnmValue *nv);
162 gboolean cmd_tabulate (WorkbookControl *wbc, gpointer data);
164 gboolean cmd_toggle_rtl (WorkbookControl *wbc, Sheet *sheet);
166 gboolean cmd_autofilter_add_remove (WorkbookControl *wbc);
167 gboolean cmd_autofilter_set_condition (WorkbookControl *wbc,
168 GnmFilter *filter, unsigned i,
169 GnmFilterCondition *cond);
171 /************************** Sheet Objects **************************************/
173 gboolean cmd_objects_delete (WorkbookControl *wbc, GSList *objects,
174 char const *name);
175 gboolean cmd_objects_move (WorkbookControl *wbc,
176 GSList *objects, GSList *anchors,
177 gboolean objects_created, char const *name);
179 gboolean cmd_so_graph_config (WorkbookControl *wbc, SheetObject *sog,
180 GObject *n_graph, GObject *o_graph);
181 gboolean cmd_so_component_config (WorkbookControl *wbc, SheetObject *so,
182 GObject *n_obj, GObject *o_obj);
184 typedef enum {
185 cmd_object_pull_to_front,
186 cmd_object_pull_forward ,
187 cmd_object_push_backward,
188 cmd_object_push_to_back
189 } CmdObjectRaiseSelector;
190 gboolean cmd_object_raise (WorkbookControl *wbc, SheetObject *so, CmdObjectRaiseSelector dir);
192 gboolean cmd_so_set_value (WorkbookControl *wbc,
193 const char *text,
194 const GnmCellRef *pref,
195 GnmValue *new_val,
196 Sheet *sheet);
198 gboolean cmd_so_set_links (WorkbookControl *wbc, SheetObject *so,
199 GnmExprTop const *output, GnmExprTop const *content,
200 gboolean as_index);
202 gboolean cmd_so_set_frame_label (WorkbookControl *wbc, SheetObject *so,
203 char *old_label, char *new_label);
205 gboolean cmd_so_set_button (WorkbookControl *wbc, SheetObject *so,
206 GnmExprTop const *lnk,
207 char *old_label, char *new_label);
209 gboolean cmd_so_set_radio_button (WorkbookControl *wbc, SheetObject *so,
210 GnmExprTop const *lnk,
211 char *old_label, char *new_label,
212 GnmValue *old_value, GnmValue *new_value);
214 gboolean cmd_so_set_checkbox (WorkbookControl *wbc, SheetObject *so,
215 GnmExprTop const *lnk,
216 char *old_label, char *new_label);
218 gboolean cmd_so_set_adjustment (WorkbookControl *wbc, SheetObject *so,
219 GnmExprTop const *lnk,
220 gboolean horizontal,
221 int lower, int upper,
222 int step, int page,
223 char const *undo_label);
225 gboolean cmd_page_breaks_clear (WorkbookControl *wbc, Sheet *sheet);
226 gboolean cmd_page_break_toggle (WorkbookControl *wbc, Sheet *sheet, gboolean is_vert);
228 /********************************************************************************/
230 gboolean cmd_reorganize_sheets (WorkbookControl *wbc,
231 WorkbookSheetState *old_state,
232 Sheet *undo_sheet);
234 gboolean cmd_resize_sheets (WorkbookControl *wbc,
235 GSList *sheets,
236 int cols, int rows);
241 /********************************************************************************/
243 G_END_DECLS
245 #endif /* _GNM_COMMANDS_H_ */