1 #ifndef GNUMERIC_DIALOGS_H
2 #define GNUMERIC_DIALOGS_H
3 
4 #include <gnumeric.h>
5 #include <consolidate.h>
6 #include <goffice/goffice.h>
7 
8 typedef enum {
9 	FD_CURRENT = -1,
10 	FD_NUMBER,
11 	FD_ALIGNMENT,
12 	FD_FONT,
13 	FD_BORDER,
14 	FD_BACKGROUND,
15 	FD_PROTECTION,
16 	FD_VALIDATION,
17 	FD_INPUT_MSG,
18 	FD_LAST = FD_INPUT_MSG
19 } FormatDialogPosition_t;
20 
21 void	 dialog_formula_guru	(WBCGtk *wbcg, GnmFunc *func);
22 void	 dialog_plugin_manager	(WBCGtk *wbcg);
23 void	 dialog_goto_cell	(WBCGtk *wbcg);
24 void	 dialog_cell_format	(WBCGtk *wbcg,
25 				 FormatDialogPosition_t pageno,
26 				 int pages);
27 GtkDialog *dialog_cell_format_select_style (WBCGtk *wbcg,
28 					    gint pages, GtkWindow *w,
29 					    GnmStyle *style,
30 					    gpointer closure);
31 void	 dialog_cell_format_cond (WBCGtk *wbcg);
32 void     dialog_cell_format_style_added (gpointer closure, GnmStyle *style);
33 void	 dialog_paste_special	(WBCGtk *wbcg);
34 void	 dialog_insert_cells	(WBCGtk *wbcg);
35 void	 dialog_delete_cells	(WBCGtk *wbcg);
36 void	 dialog_zoom		(WBCGtk *wbcg, Sheet *sheet);
37 void	 dialog_about		(WBCGtk *wbcg);
38 void	 dialog_define_names	(WBCGtk *wbcg);
39 void	 dialog_paste_names	(WBCGtk *wbcg);
40 void	 dialog_cell_comment	(WBCGtk *wbcg,
41 				 Sheet *sheet, GnmCellPos const *pos);
42 void	 dialog_cell_sort	(WBCGtk *wbcg);
43 void	 dialog_workbook_attr	(WBCGtk *wbcg);
44 void	 dialog_goal_seek	(WBCGtk *wbcg, Sheet *sheet);
45 void	 dialog_solver		(WBCGtk *wbcg, Sheet *sheet);
46 void     dialog_simulation	(WBCGtk *wbcg, Sheet *sheet);
47 void	 dialog_printer_setup	(WBCGtk *wbcg, Sheet *sheet);
48 void	 dialog_advanced_filter	(WBCGtk *wbcg);
49 void	 dialog_shuffle	        (WBCGtk *wbcg);
50 void     dialog_scenario_add    (WBCGtk *wbcg);
51 void     dialog_scenarios       (WBCGtk *wbcg);
52 void	 dialog_data_slicer	(WBCGtk *wbcg, gboolean create);
53 void     dialog_data_table	(WBCGtk *wbcg);
54 void	 dialog_auto_filter	(WBCGtk *wbcg, GnmFilter *f, int i,
55 				 gboolean is_expr, GnmFilterCondition *cur);
56 void	 dialog_autosave	(WBCGtk *wbcg);
57 gboolean dialog_autosave_prompt	(WBCGtk *wbcg);
58 void     dialog_autoformat	(WBCGtk *wbcg);
59 void     dialog_consolidate	(WBCGtk *wbcg);
60 void     dialog_sheet_compare   (WBCGtk *wbcg);
61 void     dialog_sheet_order	(WBCGtk *wbcg);
62 void     dialog_sheet_resize    (WBCGtk *wbcg);
63 void     dialog_sheet_rename    (WBCGtk *wbcg, Sheet *sheet);
64 void     dialog_row_height	(WBCGtk *wbcg, gboolean set_default);
65 void	 dialog_fill_series     (WBCGtk *wbcg);
66 void     dialog_col_width	(WBCGtk *wbcg, gboolean set_default);
67 void     dialog_hyperlink	(WBCGtk *wbcg, SheetControl *sc);
68 
69 typedef void (* ColRowCallback_t) (WBCGtk *wbcg, gboolean is_cols, gpointer data);
70 void	 dialog_col_row        (WBCGtk *wbcg, char const *operation,
71 				ColRowCallback_t callback, gpointer data);
72 
73 typedef gboolean (*SearchDialogCallback) (WBCGtk *wbcg, GnmSearchReplace *sr);
74 void dialog_search		 (WBCGtk *wbcg);
75 void dialog_search_replace	 (WBCGtk *wbcg, SearchDialogCallback cb);
76 int  dialog_search_replace_query (WBCGtk *wbcg,
77 				  GnmSearchReplace *sr,
78 				  char const *location,
79 				  char const *old_text,
80 				  char const *new_text);
81 void dialog_tabulate		 (WBCGtk *wbcg, Sheet *sheet);
82 void dialog_merge		 (WBCGtk *wbcg);
83 
84 void dialog_function_select	 (WBCGtk *wbcg, char const *key);
85 void dialog_function_select_help	 (WBCGtk *wbcg);
86 void dialog_function_select_paste	 (WBCGtk *wbcg, gint from, gint to);
87 
88 int dialog_correlation_tool	 (WBCGtk *wbcg, Sheet *sheet);
89 int dialog_covariance_tool	 (WBCGtk *wbcg, Sheet *sheet);
90 int dialog_descriptive_stat_tool (WBCGtk *wbcg, Sheet *sheet);
91 int dialog_sampling_tool	 (WBCGtk *wbcg, Sheet *sheet);
92 int dialog_ftest_tool		 (WBCGtk *wbcg, Sheet *sheet);
93 int dialog_regression_tool	 (WBCGtk *wbcg, Sheet *sheet);
94 int dialog_random_tool		 (WBCGtk *wbcg, Sheet *sheet);
95 int dialog_random_cor_tool	 (WBCGtk *wbcg, Sheet *sheet);
96 int dialog_average_tool		 (WBCGtk *wbcg, Sheet *sheet);
97 int dialog_exp_smoothing_tool	 (WBCGtk *wbcg, Sheet *sheet);
98 int dialog_fourier_tool		 (WBCGtk *wbcg, Sheet *sheet);
99 int dialog_ranking_tool		 (WBCGtk *wbcg, Sheet *sheet);
100 int dialog_anova_single_factor_tool (WBCGtk *wbcg, Sheet *sheet);
101 int dialog_anova_two_factor_tool (WBCGtk *wbcg, Sheet *sheet);
102 int dialog_histogram_tool	 (WBCGtk *wbcg, Sheet *sheet);
103 int dialog_frequency_tool	 (WBCGtk *wbcg, Sheet *sheet);
104 int dialog_kaplan_meier_tool	 (WBCGtk *wbcg, Sheet *sheet);
105 int dialog_normality_tool	 (WBCGtk *wbcg, Sheet *sheet);
106 int dialog_one_mean_test_tool    (WBCGtk *wbcg, Sheet *sheet);
107 int dialog_chi_square_tool       (WBCGtk *wbcg, Sheet *sheet, gboolean independence);
108 int dialog_principal_components_tool	 (WBCGtk *wbcg, Sheet *sheet);
109 int dialog_wilcoxon_m_w_tool	 (WBCGtk *wbcg, Sheet *sheet);
110 
111 typedef enum {
112 	SIGNTEST,
113 	SIGNTEST_WILCOXON
114 } signtest_type;
115 
116 int dialog_sign_test_tool        (WBCGtk *wbcg, Sheet *sheet,
117 				  signtest_type type);
118 int dialog_sign_test_two_tool    (WBCGtk *wbcg, Sheet *sheet,
119 				  signtest_type type);
120 
121 typedef enum {
122 	TTEST_PAIRED = 1,
123 	TTEST_UNPAIRED_EQUALVARIANCES = 2,
124 	TTEST_UNPAIRED_UNEQUALVARIANCES = 3,
125 	TTEST_ZTEST = 4
126 } ttest_type;
127 
128 int dialog_ttest_tool    (WBCGtk *wbcg, Sheet *sheet, ttest_type test);
129 char *dialog_get_password (GtkWindow *parent, char const *filename);
130 
131 /* Modeless dialogs */
132 void	dialog_preferences (WBCGtk *wbcg, gchar const *page);
133 void    dialog_recent_used (WBCGtk *wbcg);
134 
135 void	dialog_new_view (WBCGtk *wbcg);
136 
137 typedef enum {
138 	SO_STYLED_STYLE_ONLY = 0,
139 	SO_STYLED_LINE = 1,
140 	SO_STYLED_TEXT = 2,
141 } so_styled_t;
142 
143 void	dialog_so_styled (WBCGtk *wbcg, GObject *so, GOStyle *default_style,
144 			  char const *title, so_styled_t extent);
145 void	dialog_so_list	 (WBCGtk *wbcg, GObject *so);
146 
147 void	dialog_doc_metadata_new  (WBCGtk *wbcg, int page);
148 
149 void    dialog_quit (WBCGtk *wbcg);
150 
151 void	dialog_so_size	 (WBCGtk *wbcg, GObject *so);
152 
153 
154 #endif /* GNUMERIC_DIALOGS_H */
155