"Fossies" - the Fresh Open Source Software Archive

Member "qalculate-gtk-3.2.0/src/callbacks.h" (14 May 2019, 45431 Bytes) of package /linux/privat/qalculate-gtk-3.2.0.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "callbacks.h" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 3.1.0_vs_3.2.0.

    1 /*
    2     Qalculate (GTK+ UI)
    3 
    4     Copyright (C) 2003-2007, 2008, 2016  Hanna Knutsson (hanna.knutsson@protonmail.com)
    5 
    6     This program is free software; you can redistribute it and/or modify
    7     it under the terms of the GNU General Public License as published by
    8     the Free Software Foundation; either version 2 of the License, or
    9     (at your option) any later version.
   10 */
   11 
   12 #ifndef CALLBACKS_H
   13 #define CALLBACKS_H
   14 
   15 #include <gtk/gtk.h>
   16 
   17 #define EXPAND_TO_ITER(model, view, iter)       GtkTreePath *path = gtk_tree_model_get_path(model, &iter); \
   18                             gtk_tree_view_expand_to_path(GTK_TREE_VIEW(view), path); \
   19                             gtk_tree_path_free(path);
   20 #define SCROLL_TO_ITER(model, view, iter)       GtkTreePath *path2 = gtk_tree_model_get_path(model, &iter); \
   21                             gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(view), path2, NULL, FALSE, 0, 0); \
   22                             gtk_tree_path_free(path2);                          
   23 #define EXPAND_ITER(model, view, iter)          GtkTreePath *path = gtk_tree_model_get_path(model, &iter); \
   24                             gtk_tree_view_expand_row(GTK_TREE_VIEW(view), path, FALSE); \
   25                             gtk_tree_path_free(path);                           
   26 
   27 #include "main.h"
   28 
   29 struct mode_struct {
   30     PrintOptions po;
   31     EvaluationOptions eo;
   32     AssumptionType at;
   33     AssumptionSign as;
   34     int precision;
   35     string name;
   36     bool rpn_mode;
   37     bool interval;
   38     bool adaptive_interval_display;
   39     bool variable_units_enabled;
   40     bool keypad;
   41 };
   42 
   43 enum {
   44     QALCULATE_HISTORY_EXPRESSION,
   45     QALCULATE_HISTORY_TRANSFORMATION,
   46     QALCULATE_HISTORY_RESULT,
   47     QALCULATE_HISTORY_RESULT_APPROXIMATE,
   48     QALCULATE_HISTORY_PARSE_WITHEQUALS,
   49     QALCULATE_HISTORY_PARSE,
   50     QALCULATE_HISTORY_PARSE_APPROXIMATE,
   51     QALCULATE_HISTORY_WARNING,
   52     QALCULATE_HISTORY_ERROR,
   53     QALCULATE_HISTORY_OLD,
   54     QALCULATE_HISTORY_REGISTER_MOVED,
   55     QALCULATE_HISTORY_RPN_OPERATION,
   56     QALCULATE_HISTORY_BOOKMARK
   57 };
   58 
   59 DECLARE_BUILTIN_FUNCTION(AnswerFunction)
   60 DECLARE_BUILTIN_FUNCTION(ExpressionFunction)
   61 
   62 class ViewThread : public Thread {
   63 protected:
   64     virtual void run();
   65 };
   66 
   67 class CommandThread : public Thread {
   68 protected:
   69     virtual void run();
   70 };
   71 
   72 class FetchExchangeRatesThread : public Thread {
   73 protected:
   74     virtual void run();
   75 };
   76 
   77 bool string_is_less(string str1, string str2);
   78 
   79 bool can_display_unicode_string_function(const char *str, void *w);
   80 bool can_display_unicode_string_function_exact(const char *str, void *w);
   81 void set_unicode_buttons();
   82 void set_operator_symbols();
   83 
   84 cairo_surface_t *draw_structure(MathStructure &m, PrintOptions po = default_print_options, InternalPrintStruct ips = top_ips, gint *point_central = NULL, int scaledown = 0, GdkRGBA *color = NULL);
   85 
   86 void update_status_text();
   87 
   88 void set_result_size_request();
   89 void set_expression_size_request();
   90 
   91 void create_umenu(void);
   92 void create_umenu2(void);
   93 void create_vmenu(void);
   94 void create_fmenu(void);
   95 void create_pmenu(GtkWidget *item);
   96 void create_pmenu2(void);
   97 
   98 void update_vmenu();
   99 void update_fmenu();
  100 void update_umenu();
  101 
  102 void update_completion();
  103 
  104 void generate_functions_tree_struct();
  105 void generate_variables_tree_struct();
  106 void generate_units_tree_struct();
  107 
  108 gboolean on_display_errors_timeout(gpointer data);
  109 gboolean on_check_version_idle(gpointer data);
  110 
  111 void update_functions_tree();
  112 void update_variables_tree();
  113 void update_units_tree();
  114 void update_unit_selector_tree();
  115 void update_datasets_tree();
  116 void on_tFunctions_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  117 void on_tFunctionCategories_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  118 void on_tVariables_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  119 void on_tVariableCategories_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  120 void on_tUnits_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  121 void on_tUnitCategories_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  122 void on_tDataObjects_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  123 void on_tDatasets_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  124 void on_tDataProperties_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  125 void on_tUnitSelector_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  126 void on_tUnitSelectorCategories_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  127 
  128 void execute_expression(bool force = true, bool do_mathoperation = false, MathOperation op = OPERATION_ADD, MathFunction *f = NULL, bool do_stack = false, size_t stack_index = 0, string execute_str = string(), string str = string(), bool check_exrates = true);
  129 void setResult(Prefix *prefix = NULL, bool update_history = true, bool update_parse = false, bool force = false, string transformation = "", size_t stack_index = 0, bool register_moved = false);
  130 
  131 void set_rpn_mode(bool b);
  132 void calculateRPN(int op);
  133 void calculateRPN(MathFunction *f);
  134 void RPNRegisterAdded(string text, gint index = 0);
  135 void RPNRegisterRemoved(gint index);
  136 void RPNRegisterChanged(string text, gint index);
  137 
  138 void result_display_updated();
  139 void result_format_updated();
  140 void result_action_executed();
  141 void result_prefix_changed(Prefix *prefix = NULL);
  142 void expression_calculation_updated();
  143 void expression_format_updated(bool recalculate = false);
  144 
  145 
  146 void insert_text(const gchar *name);
  147 
  148 void recreate_recent_functions();
  149 void recreate_recent_variables();
  150 void recreate_recent_units();
  151 void function_inserted(MathFunction *object);
  152 void variable_inserted(Variable *object);
  153 void unit_inserted(Unit *object);
  154 
  155 void on_tPlotFunctions_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  156 
  157 void on_tSubfunctions_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  158 void on_tFunctionArguments_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  159 void update_function_arguments_list(MathFunction *f);
  160 
  161 void on_tNames_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  162 
  163 void convert_in_wUnits(int toFrom = -1);
  164 
  165 void convert_to_unit(GtkMenuItem *w, gpointer user_data);
  166 
  167 void save_defs();
  168 void save_mode();
  169 
  170 void load_preferences();
  171 void save_preferences(bool mode = false);
  172 void edit_preferences();
  173 
  174 gint completion_sort_func(GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data);
  175 gint string_sort_func(GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data);
  176 gint int_string_sort_func(GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data);
  177 
  178 void set_prefix(GtkMenuItem *w, gpointer user_data);
  179 
  180 void manage_variables();
  181 void manage_functions();
  182 void manage_units();
  183 
  184 void set_clean_mode(GtkMenuItem *w, gpointer user_data);
  185 void set_functions_enabled(GtkMenuItem *w, gpointer user_data);
  186 void set_variables_enabled(GtkMenuItem *w, gpointer user_data);
  187 void set_donot_calcvars(GtkMenuItem *w, gpointer user_data);
  188 void set_unknownvariables_enabled(GtkMenuItem *w, gpointer user_data);
  189 void set_units_enabled(GtkMenuItem *w, gpointer user_data);
  190 void apply_function(GtkMenuItem *w, gpointer user_data);
  191 void insert_function(GtkMenuItem *w, gpointer user_data);
  192 void insert_variable(GtkMenuItem *w, gpointer user_data);
  193 void insert_prefix(GtkMenuItem *w, gpointer user_data);
  194 void insert_unit(GtkMenuItem *w, gpointer user_data);
  195 
  196 void insert_button_function(GtkMenuItem *w, gpointer user_data);
  197 void insert_function_operator(GtkMenuItem *w, gpointer user_data);
  198 void insert_button_function_norpn(GtkMenuItem *w, gpointer user_data);
  199 void insert_button_variable(GtkWidget *w, gpointer user_data);
  200 void insert_button_unit(GtkMenuItem *w, gpointer user_data);
  201 void insert_button_currency(GtkMenuItem *w, gpointer user_data);
  202 
  203 void new_function(GtkMenuItem *w, gpointer user_data);
  204 void new_unknown(GtkMenuItem *w, gpointer user_data);
  205 void new_variable(GtkMenuItem *w, gpointer user_data);
  206 void new_matrix(GtkMenuItem *w, gpointer user_data);
  207 void new_vector(GtkMenuItem *w, gpointer user_data);
  208 void new_unit(GtkMenuItem *w, gpointer user_data);
  209 void add_as_variable();
  210 
  211 void fetch_exchange_rates(int timeout, int n = -1);
  212 
  213 bool edit_argument(Argument *arg = NULL);
  214 
  215 void edit_unknown(const char *category = "", Variable *v = NULL, GtkWidget *win = NULL);
  216 void edit_variable(const char *category = "", Variable *v = NULL, MathStructure *mstruct_ = NULL, GtkWidget *win = NULL);
  217 void edit_matrix(const char *category = "", Variable *v = NULL, MathStructure *mstruct_ = NULL, GtkWidget *win = NULL, gboolean create_vector = FALSE);
  218 void insert_matrix(const MathStructure *initial_value = NULL, GtkWidget *win = NULL, gboolean create_vector = FALSE, bool is_text_struct = false, bool is_result = false);
  219 void import_csv_file(GtkWidget *win = NULL);
  220 void export_csv_file(KnownVariable *v = NULL, GtkWidget *win = NULL);
  221 
  222 void edit_dataobject(DataSet *ds, DataObject *o = NULL, GtkWidget *win = NULL);
  223 void edit_dataset(DataSet *ds = NULL, GtkWidget *win = NULL);
  224 
  225 void edit_names(ExpressionItem *item = NULL, const gchar *namestr = NULL, GtkWidget *win = NULL, bool is_dp = false, DataProperty *dp = NULL);
  226 
  227 gchar *font_name_to_css(const char *font_name);
  228 
  229 void reload_history();
  230 
  231 #ifdef __cplusplus
  232 extern "C" {
  233 #endif
  234 
  235 void insert_left_shift();
  236 void insert_right_shift();
  237 void insert_bitwise_and();
  238 void insert_bitwise_or();
  239 void insert_bitwise_xor();
  240 void insert_bitwise_not();
  241 
  242 void update_mb_fx_menu();
  243 void update_mb_sto_menu();
  244 void update_mb_units_menu();
  245 void update_mb_pi_menu();
  246 void update_mb_to_menu();
  247 
  248 void on_completion_match_selected(GtkTreeView*, GtkTreePath *path, GtkTreeViewColumn*, gpointer);
  249 void on_units_convert_view_row_activated(GtkTreeView*, GtkTreePath *path, GtkTreeViewColumn*, gpointer);
  250 void units_convert_resize_popup();
  251 
  252 void *view_proc(void*);
  253 void *command_proc(void*);
  254 void on_history_resize(GtkWidget*, GdkRectangle*, gpointer);
  255 void on_message_bar_response(GtkInfoBar *w, gint response_id, gpointer);
  256 void on_expressiontext_populate_popup(GtkTextView *w, GtkMenu *menu, gpointer user_data);
  257 void on_combobox_base_changed(GtkComboBox *w, gpointer user_data);
  258 void on_combobox_numerical_display_changed(GtkComboBox *w, gpointer user_data);
  259 void on_combobox_fraction_mode_changed(GtkComboBox *w, gpointer user_data);
  260 void on_button_exact_toggled(GtkToggleButton *w, gpointer user_data);
  261 void on_expander_keypad_expanded(GObject *o, GParamSpec *param_spec, gpointer user_data);
  262 void on_expander_history_expanded(GObject *o, GParamSpec *param_spec, gpointer user_data);
  263 void on_expander_stack_expanded(GObject *o, GParamSpec *param_spec, gpointer user_data);
  264 void on_expander_convert_expanded(GObject *o, GParamSpec *param_spec, gpointer user_data);
  265 gboolean on_menu_item_meta_mode_popup_menu(GtkWidget*, gpointer data);
  266 gboolean on_menu_item_meta_mode_button_press(GtkWidget *widget, GdkEventButton *event, gpointer data);
  267 void on_menu_item_meta_mode_activate(GtkMenuItem *w, gpointer user_data);
  268 void on_menu_item_meta_mode_save_activate(GtkMenuItem *w, gpointer user_data);
  269 void on_menu_item_meta_mode_delete_activate(GtkMenuItem *w, gpointer user_data);
  270 void on_menu_item_quit_activate(GtkMenuItem *w, gpointer user_data);
  271 void on_colorbutton_status_error_color_color_set(GtkColorButton *w, gpointer user_data);
  272 void on_colorbutton_status_warning_color_color_set(GtkColorButton *w, gpointer user_data);
  273 void on_preferences_checkbutton_copy_separator_toggled(GtkToggleButton *w, gpointer user_data);
  274 void on_preferences_checkbutton_lower_case_numbers_toggled(GtkToggleButton *w, gpointer user_data);
  275 void on_preferences_checkbutton_e_notation_toggled(GtkToggleButton *w, gpointer user_data);
  276 void on_preferences_checkbutton_lower_case_e_toggled(GtkToggleButton *w, gpointer user_data);
  277 void on_preferences_checkbutton_alternative_base_prefixes_toggled(GtkToggleButton *w, gpointer user_data);
  278 void on_preferences_checkbutton_spell_out_logical_operators_toggled(GtkToggleButton *w, gpointer user_data);
  279 void on_preferences_checkbutton_unicode_signs_toggled(GtkToggleButton *w, gpointer user_data);
  280 void on_preferences_checkbutton_display_expression_status_toggled(GtkToggleButton *w, gpointer user_data);
  281 void on_preferences_checkbutton_fetch_exchange_rates_toggled(GtkToggleButton *w, gpointer user_data);
  282 void on_preferences_checkbutton_save_defs_toggled(GtkToggleButton *w, gpointer user_data);
  283 void on_preferences_checkbutton_save_mode_toggled(GtkToggleButton *w, gpointer user_data);
  284 void on_preferences_checkbutton_rpn_keys_only_toggled(GtkToggleButton *w, gpointer);
  285 void on_preferences_checkbutton_dot_as_separator_toggled(GtkToggleButton *w, gpointer);
  286 void on_preferences_checkbutton_load_defs_toggled(GtkToggleButton *w, gpointer user_data);
  287 void on_preferences_checkbutton_custom_result_font_toggled(GtkToggleButton *w, gpointer user_data);
  288 void on_preferences_checkbutton_custom_expression_font_toggled(GtkToggleButton *w, gpointer user_data);
  289 void on_preferences_checkbutton_custom_status_font_toggled(GtkToggleButton *w, gpointer user_data);
  290 void on_preferences_radiobutton_dot_toggled(GtkToggleButton *w, gpointer user_data);
  291 void on_preferences_radiobutton_ex_toggled(GtkToggleButton *w, gpointer user_data);
  292 void on_preferences_radiobutton_asterisk_toggled(GtkToggleButton *w, gpointer user_data);
  293 void on_preferences_radiobutton_slash_toggled(GtkToggleButton *w, gpointer user_data);
  294 void on_preferences_radiobutton_division_slash_toggled(GtkToggleButton *w, gpointer user_data);
  295 void on_preferences_radiobutton_division_toggled(GtkToggleButton *w, gpointer user_data);
  296 void on_preferences_radiobutton_digit_grouping_none_toggled(GtkToggleButton *w, gpointer user_data);
  297 void on_preferences_radiobutton_digit_grouping_standard_toggled(GtkToggleButton *w, gpointer user_data);
  298 void on_preferences_radiobutton_digit_grouping_locale_toggled(GtkToggleButton *w, gpointer user_data);
  299 void on_preferences_button_result_font_toggled(GtkButton *w, gpointer user_data);
  300 void on_preferences_button_expression_font_toggled(GtkButton *w, gpointer user_data);
  301 void on_preferences_button_status_font_toggled(GtkButton *w, gpointer user_data);
  302 void on_units_togglebutton_from_toggled(GtkToggleButton *togglebutton, gpointer user_data);
  303 void on_units_button_convert_clicked(GtkButton *button, gpointer user_data);
  304 void on_units_togglebutton_to_toggled(GtkToggleButton *togglebutton, gpointer user_data);
  305 void on_units_entry_from_val_activate(GtkEntry *entry, gpointer user_data);
  306 void on_units_entry_to_val_activate(GtkEntry *entry, gpointer user_data);
  307 gboolean on_units_entry_from_val_focus_out_event(GtkEntry *entry, GdkEventFocus *event, gpointer user_data);
  308 gboolean on_units_entry_to_val_focus_out_event(GtkEntry *entry, GdkEventFocus *event, gpointer user_data);
  309 void on_units_button_close_clicked(GtkButton *button, gpointer user_data);
  310 void on_radiobutton_radians_toggled(GtkToggleButton *togglebutton, gpointer user_data);
  311 void on_radiobutton_degrees_toggled(GtkToggleButton *togglebutton, gpointer user_data);
  312 void on_radiobutton_gradians_toggled(GtkToggleButton *togglebutton, gpointer user_data);
  313 void on_radiobutton_no_default_angle_unit_toggled(GtkToggleButton *togglebutton, gpointer user_data);
  314 gboolean on_gcalc_exit(GtkWidget *widget, GdkEvent *event, gpointer user_data);
  315 void on_expression_activate(GtkEntry *entry, gpointer user_data);
  316 void on_button_execute_clicked(GtkButton *button, gpointer user_data);
  317 void on_button_del_clicked(GtkButton *w, gpointer user_data);
  318 void on_button_ac_clicked(GtkButton *w, gpointer user_data);
  319 void on_button_hyp_toggled(GtkToggleButton *w, gpointer user_data);
  320 void on_button_inv_toggled(GtkToggleButton *w, gpointer user_data);
  321 void on_button_tan_clicked(GtkButton *w, gpointer user_data);
  322 void on_button_sine_clicked(GtkButton *w, gpointer user_data);
  323 void on_button_cosine_clicked(GtkButton *w, gpointer user_data);
  324 void on_button_store_clicked(GtkButton *w, gpointer user_data);
  325 void on_button_mod_clicked(GtkButton *w, gpointer user_data);
  326 void on_button_reciprocal_clicked(GtkButton *w, gpointer user_data);
  327 void on_togglebutton_expression_toggled(GtkToggleButton *togglebutton, gpointer user_data);
  328 void on_togglebutton_result_toggled(GtkToggleButton *togglebutton, gpointer user_data);
  329 void on_expression_changed(GtkEditable *w, gpointer user_data);
  330 void on_expression_move_cursor(GtkEntry*, GtkMovementStep, gint, gboolean, gpointer);
  331 void on_button_zero_clicked(GtkButton *w, gpointer user_data);
  332 void on_button_one_clicked(GtkButton *w, gpointer user_data);
  333 void on_button_two_clicked(GtkButton *w, gpointer user_data);
  334 void on_button_three_clicked(GtkButton *w, gpointer user_data);
  335 void on_button_four_clicked(GtkButton *w, gpointer user_data);
  336 void on_button_five_clicked(GtkButton *w, gpointer user_data);
  337 void on_button_six_clicked(GtkButton *w, gpointer user_data);
  338 void on_button_seven_clicked(GtkButton *w, gpointer user_data);
  339 void on_button_eight_clicked(GtkButton *w, gpointer user_data);
  340 void on_button_nine_clicked(GtkButton *w, gpointer user_data);
  341 void on_button_dot_clicked(GtkButton *w, gpointer user_data);
  342 void on_button_brace_open_clicked(GtkButton *w, gpointer user_data);
  343 void on_button_brace_close_clicked(GtkButton *w, gpointer user_data);
  344 void on_button_times_clicked(GtkButton *w, gpointer user_data);
  345 void on_button_add_clicked(GtkButton *w, gpointer user_data);
  346 void on_button_sub_clicked(GtkButton *w, gpointer user_data);
  347 void on_button_divide_clicked(GtkButton *w, gpointer user_data);
  348 void on_button_ans_clicked(GtkButton *w, gpointer user_data);
  349 void on_button_exp_clicked(GtkButton *w, gpointer user_data);
  350 void on_button_xy_clicked(GtkButton *w, gpointer user_data);
  351 void on_button_square_clicked();
  352 void on_button_sqrt_clicked(GtkButton *w, gpointer user_data);
  353 void on_button_log_clicked(GtkButton *w, gpointer user_data);
  354 void on_button_ln_clicked(GtkButton *w, gpointer user_data);
  355 void on_menu_item_manage_variables_activate(GtkMenuItem *w, gpointer user_data);
  356 void on_menu_item_manage_functions_activate(GtkMenuItem *w, gpointer user_data);
  357 void on_menu_item_manage_units_activate(GtkMenuItem *w, gpointer user_data);
  358 void on_menu_item_datasets_activate(GtkMenuItem *w, gpointer user_data);
  359 void on_menu_item_import_csv_file_activate(GtkMenuItem *w, gpointer user_data);
  360 void on_menu_item_export_csv_file_activate(GtkMenuItem *w, gpointer user_data);
  361 void on_menu_item_convert_to_unit_expression_activate(GtkMenuItem *w, gpointer user_data);
  362 void on_menu_item_convert_to_base_units_activate(GtkMenuItem *w, gpointer user_data);
  363 void on_menu_item_convert_to_best_unit_activate(GtkMenuItem *w, gpointer user_data);
  364 void on_menu_item_set_prefix_activate(GtkMenuItem*, gpointer user_data);
  365 void on_menu_item_insert_date_activate(GtkMenuItem *w, gpointer user_data);
  366 void on_menu_item_insert_matrix_activate(GtkMenuItem *w, gpointer user_data);
  367 void on_menu_item_insert_vector_activate(GtkMenuItem *w, gpointer user_data);
  368 void on_menu_item_enable_variables_activate(GtkMenuItem *w, gpointer user_data);
  369 void on_menu_item_enable_functions_activate(GtkMenuItem *w, gpointer user_data);
  370 void on_menu_item_enable_units_activate(GtkMenuItem *w, gpointer user_data);
  371 void on_menu_item_enable_unknown_variables_activate(GtkMenuItem *w, gpointer user_data);
  372 void on_menu_item_calculate_variables_activate(GtkMenuItem *w, gpointer user_data);
  373 void on_menu_item_enable_variable_units_activate(GtkMenuItem *w, gpointer user_data);
  374 void on_menu_item_allow_complex_activate(GtkMenuItem *w, gpointer user_data);
  375 void on_menu_item_allow_infinite_activate(GtkMenuItem *w, gpointer user_data);
  376 void on_menu_item_new_unknown_activate(GtkMenuItem *w, gpointer user_data);
  377 void on_menu_item_new_variable_activate(GtkMenuItem *w, gpointer user_data);
  378 void on_menu_item_new_matrix_activate(GtkMenuItem *w, gpointer user_data);
  379 void on_menu_item_new_vector_activate(GtkMenuItem *w, gpointer user_data);
  380 void on_menu_item_new_function_activate(GtkMenuItem *w, gpointer user_data);
  381 void on_menu_item_new_dataset_activate(GtkMenuItem *w, gpointer user_data);
  382 void on_menu_item_new_unit_activate(GtkMenuItem *w, gpointer user_data);
  383 void on_menu_item_rpn_mode_activate(GtkMenuItem *w, gpointer user_data);
  384 void on_menu_item_rpn_syntax_activate(GtkMenuItem *w, gpointer user_data);
  385 void on_menu_item_limit_implicit_multiplication_activate(GtkMenuItem *w, gpointer user_data);
  386 void on_menu_item_adaptive_parsing_activate(GtkMenuItem *w, gpointer user_data);
  387 void on_menu_item_ignore_whitespace_activate(GtkMenuItem *w, gpointer user_data);
  388 void on_menu_item_no_special_implicit_multiplication_activate(GtkMenuItem *w, gpointer user_data);
  389 void on_menu_item_fetch_exchange_rates_activate(GtkMenuItem *w, gpointer user_data);
  390 void on_menu_item_save_defs_activate(GtkMenuItem *w, gpointer user_data);
  391 void on_menu_item_save_mode_activate(GtkMenuItem *w, gpointer user_data);
  392 void on_menu_item_edit_prefs_activate(GtkMenuItem *w, gpointer user_data);
  393 void on_menu_item_degrees_activate(GtkMenuItem *w, gpointer user_data);
  394 void on_menu_item_radians_activate(GtkMenuItem *w, gpointer user_data);
  395 void on_menu_item_gradians_activate(GtkMenuItem *w, gpointer user_data);
  396 void on_menu_item_no_default_angle_unit_activate(GtkMenuItem *w, gpointer user_data);
  397 void set_output_base_from_dialog(int base);
  398 void output_base_updated_from_menu();
  399 void input_base_updated_from_menu();
  400 void update_keypad_bases();
  401 void on_menu_item_binary_activate(GtkMenuItem *w, gpointer user_data);
  402 void on_menu_item_octal_activate(GtkMenuItem *w, gpointer user_data);
  403 void on_menu_item_decimal_activate(GtkMenuItem *w, gpointer user_data);
  404 void on_menu_item_duodecimal_activate(GtkMenuItem *w, gpointer user_data);
  405 void on_menu_item_hexadecimal_activate(GtkMenuItem *w, gpointer user_data);
  406 void on_number_base_spinbutton_base_value_changed(GtkSpinButton *w, gpointer user_data);
  407 void on_menu_item_custom_base_activate(GtkMenuItem *w, gpointer user_data);
  408 void on_menu_item_roman_activate(GtkMenuItem *w, gpointer user_data);
  409 void on_menu_item_sexagesimal_activate(GtkMenuItem *w, gpointer user_data);
  410 void on_menu_item_time_format_activate(GtkMenuItem *w, gpointer user_data);
  411 void on_menu_item_set_base_activate(GtkMenuItem *w, gpointer user_data);
  412 void on_set_base_radiobutton_output_binary_toggled(GtkToggleButton *w, gpointer user_data);
  413 void on_set_base_radiobutton_output_octal_toggled(GtkToggleButton *w, gpointer user_data);
  414 void on_set_base_radiobutton_output_decimal_toggled(GtkToggleButton *w, gpointer user_data);
  415 void on_set_base_radiobutton_output_duodecimal_toggled(GtkToggleButton *w, gpointer user_data);
  416 void on_set_base_radiobutton_output_hexadecimal_toggled(GtkToggleButton *w, gpointer user_data);
  417 void on_set_base_radiobutton_output_other_toggled(GtkToggleButton *w, gpointer user_data);
  418 void on_set_base_radiobutton_output_sexagesimal_toggled(GtkToggleButton *w, gpointer user_data);
  419 void on_set_base_radiobutton_output_time_toggled(GtkToggleButton *w, gpointer user_data);
  420 void on_set_base_radiobutton_output_roman_toggled(GtkToggleButton *w, gpointer user_data);
  421 void on_set_base_spinbutton_output_other_value_changed(GtkSpinButton *w, gpointer user_data);
  422 void on_set_base_radiobutton_input_binary_toggled(GtkToggleButton *w, gpointer user_data);
  423 void on_set_base_radiobutton_input_octal_toggled(GtkToggleButton *w, gpointer user_data);
  424 void on_set_base_radiobutton_input_decimal_toggled(GtkToggleButton *w, gpointer user_data);
  425 void on_set_base_radiobutton_input_duodecimal_toggled(GtkToggleButton *w, gpointer user_data);
  426 void on_set_base_radiobutton_input_hexadecimal_toggled(GtkToggleButton *w, gpointer user_data);
  427 void on_set_base_radiobutton_input_other_toggled(GtkToggleButton *w, gpointer user_data);
  428 void on_set_base_radiobutton_input_roman_toggled(GtkToggleButton *w, gpointer user_data);
  429 void on_set_base_spinbutton_input_other_value_changed(GtkSpinButton *w, gpointer user_data);
  430 void convert_number_bases(const gchar *initial_expression, bool b_result = false);
  431 void on_menu_item_convert_number_bases_activate(GtkMenuItem *w, gpointer user_data);
  432 void on_menu_item_periodic_table_activate(GtkMenuItem *w, gpointer user_data);
  433 void on_menu_item_assumptions_integer_activate(GtkMenuItem *w, gpointer user_data);
  434 void on_menu_item_assumptions_rational_activate(GtkMenuItem *w, gpointer user_data);
  435 void on_menu_item_assumptions_real_activate(GtkMenuItem *w, gpointer user_data);
  436 void on_menu_item_assumptions_complex_activate(GtkMenuItem *w, gpointer user_data);
  437 void on_menu_item_assumptions_number_activate(GtkMenuItem *w, gpointer user_data);
  438 void on_menu_item_assumptions_nonmatrix_activate(GtkMenuItem *w, gpointer user_data);
  439 void on_menu_item_assumptions_none_activate(GtkMenuItem *w, gpointer user_data);
  440 void on_menu_item_assumptions_nonzero_activate(GtkMenuItem *w, gpointer user_data);
  441 void on_menu_item_assumptions_positive_activate(GtkMenuItem *w, gpointer user_data);
  442 void on_menu_item_assumptions_nonnegative_activate(GtkMenuItem *w, gpointer user_data);
  443 void on_menu_item_assumptions_negative_activate(GtkMenuItem *w, gpointer user_data);
  444 void on_menu_item_assumptions_nonpositive_activate(GtkMenuItem *w, gpointer user_data);
  445 void on_menu_item_assumptions_unknown_activate(GtkMenuItem *w, gpointer user_data);
  446 void on_popup_menu_item_assume_nonzero_denominators_activate(GtkMenuItem *w, gpointer user_data);
  447 void on_popup_menu_item_abort_activate(GtkMenuItem *w, gpointer user_data);
  448 void on_popup_menu_item_clear_activate(GtkMenuItem *w, gpointer user_data);
  449 void on_popup_menu_item_display_normal_activate(GtkMenuItem *w, gpointer user_data);
  450 void on_popup_menu_item_display_engineering_activate(GtkMenuItem *w, gpointer user_data);
  451 void on_popup_menu_item_display_scientific_activate(GtkMenuItem *w, gpointer user_data);
  452 void on_popup_menu_item_display_purely_scientific_activate(GtkMenuItem *w, gpointer user_data);
  453 void on_popup_menu_item_display_non_scientific_activate(GtkMenuItem *w, gpointer user_data);
  454 void on_popup_menu_item_display_no_prefixes_activate(GtkMenuItem *w, gpointer user_data);
  455 void on_popup_menu_item_display_prefixes_for_selected_units_activate(GtkMenuItem *w, gpointer user_data);
  456 void on_popup_menu_item_display_prefixes_for_currencies_activate(GtkMenuItem *w, gpointer user_data);
  457 void on_popup_menu_item_display_prefixes_for_all_units_activate(GtkMenuItem *w, gpointer user_data);
  458 void on_popup_menu_item_fraction_decimal_activate(GtkMenuItem *w, gpointer user_data);
  459 void on_popup_menu_item_fraction_decimal_exact_activate(GtkMenuItem *w, gpointer user_data);
  460 void on_popup_menu_item_fraction_combined_activate(GtkMenuItem *w, gpointer user_data);
  461 void on_popup_menu_item_fraction_fraction_activate(GtkMenuItem *w, gpointer user_data);
  462 void on_popup_menu_item_binary_activate(GtkMenuItem *w, gpointer user_data);
  463 void on_popup_menu_item_roman_activate(GtkMenuItem *w, gpointer user_data);
  464 void on_popup_menu_item_sexagesimal_activate(GtkMenuItem *w, gpointer user_data);
  465 void on_popup_menu_item_time_format_activate(GtkMenuItem *w, gpointer user_data);
  466 void on_popup_menu_item_octal_activate(GtkMenuItem *w, gpointer user_data);
  467 void on_popup_menu_item_decimal_activate(GtkMenuItem *w, gpointer user_data);
  468 void on_popup_menu_item_duodecimal_activate(GtkMenuItem *w, gpointer user_data);
  469 void on_popup_menu_item_hexadecimal_activate(GtkMenuItem *w, gpointer user_data);
  470 void on_popup_menu_item_custom_base_activate(GtkMenuItem *w, gpointer user_data);
  471 void on_popup_menu_item_abbreviate_names_activate(GtkMenuItem *w, gpointer user_data);
  472 void on_popup_menu_item_all_prefixes_activate(GtkMenuItem *w, gpointer user_data);
  473 void on_popup_menu_item_denominator_prefixes_activate(GtkMenuItem *w, gpointer user_data);
  474 void on_popup_menu_item_view_matrix_activate(GtkMenuItem *w, gpointer user_data);
  475 void on_popup_menu_item_view_vector_activate(GtkMenuItem *w, gpointer user_data);
  476 void on_popup_menu_item_complex_rectangular_activate(GtkMenuItem *w, gpointer user_data);
  477 void on_popup_menu_item_complex_exponential_activate(GtkMenuItem *w, gpointer user_data);
  478 void on_popup_menu_item_complex_polar_activate(GtkMenuItem *w, gpointer user_data);
  479 void on_menu_item_complex_rectangular_activate(GtkMenuItem *w, gpointer user_data);
  480 void on_menu_item_complex_exponential_activate(GtkMenuItem *w, gpointer user_data);
  481 void on_menu_item_complex_polar_activate(GtkMenuItem *w, gpointer user_data);
  482 void on_menu_item_display_normal_activate(GtkMenuItem *w, gpointer user_data);
  483 void on_menu_item_display_engineering_activate(GtkMenuItem *w, gpointer user_data);
  484 void on_menu_item_display_scientific_activate(GtkMenuItem *w, gpointer user_data);
  485 void on_menu_item_display_purely_scientific_activate(GtkMenuItem *w, gpointer user_data);
  486 void on_menu_item_display_non_scientific_activate(GtkMenuItem *w, gpointer user_data);
  487 void on_menu_item_display_no_prefixes_activate(GtkMenuItem *w, gpointer user_data);
  488 void on_menu_item_display_prefixes_for_selected_activate(GtkMenuItem *w, gpointer user_data);
  489 void on_menu_item_display_prefixes_for_currencies_activate(GtkMenuItem *w, gpointer user_data);
  490 void on_menu_item_display_prefixes_for_all_units_activate(GtkMenuItem *w, gpointer user_data);
  491 void on_menu_item_indicate_infinite_series_activate(GtkMenuItem *w, gpointer user_data);
  492 void on_menu_item_show_ending_zeroes_activate(GtkMenuItem *w, gpointer user_data);
  493 void on_menu_item_round_halfway_to_even_activate(GtkMenuItem *w, gpointer user_data);
  494 void on_menu_item_negative_exponents_activate(GtkMenuItem *w, gpointer user_data);
  495 void on_menu_item_sort_minus_last_activate(GtkMenuItem *w, gpointer user_data);
  496 void on_menu_item_fraction_decimal_activate(GtkMenuItem *w, gpointer user_data);
  497 void on_menu_item_fraction_decimal_exact_activate(GtkMenuItem *w, gpointer user_data);
  498 void on_menu_item_fraction_combined_activate(GtkMenuItem *w, gpointer user_data);
  499 void on_menu_item_fraction_fraction_activate(GtkMenuItem *w, gpointer user_data);
  500 void on_menu_item_interval_adaptive_activate(GtkMenuItem *w, gpointer user_data);
  501 void on_menu_item_interval_significant_activate(GtkMenuItem *w, gpointer user_data);
  502 void on_menu_item_interval_interval_activate(GtkMenuItem *w, gpointer user_data);
  503 void on_menu_item_interval_plusminus_activate(GtkMenuItem *w, gpointer user_data);
  504 void on_menu_item_interval_midpoint_activate(GtkMenuItem *w, gpointer user_data);
  505 void on_menu_item_all_prefixes_activate(GtkMenuItem *w, gpointer user_data);
  506 void on_menu_item_denominator_prefixes_activate(GtkMenuItem *w, gpointer user_data);
  507 void on_menu_item_place_units_separately_activate(GtkMenuItem *w, gpointer user_data);
  508 void on_menu_item_post_conversion_none_activate(GtkMenuItem *w, gpointer user_data);
  509 void on_menu_item_post_conversion_base_activate(GtkMenuItem *w, gpointer user_data);
  510 void on_menu_item_post_conversion_optimal_activate(GtkMenuItem *w, gpointer user_data);
  511 void on_menu_item_post_conversion_optimal_si_activate(GtkMenuItem *w, gpointer user_data);
  512 void on_menu_item_abbreviate_names_activate(GtkMenuItem *w, gpointer user_data);
  513 void on_menu_item_always_exact_activate(GtkMenuItem *w, gpointer user_data);
  514 void on_menu_item_try_exact_activate(GtkMenuItem *w, gpointer user_data);
  515 void on_menu_item_approximate_activate(GtkMenuItem *w, gpointer user_data);
  516 void on_menu_item_interval_arithmetic_activate(GtkMenuItem *w, gpointer user_data);
  517 void on_menu_item_ic_none(GtkMenuItem *w, gpointer user_data);
  518 void on_menu_item_ic_variance_activate(GtkMenuItem *w, gpointer user_data);
  519 void on_menu_item_ic_interval_arithmetic_activate(GtkMenuItem *w, gpointer user_data);
  520 void on_menu_item_ic_simple(GtkMenuItem *w, gpointer user_data);
  521 void on_menu_item_save_activate(GtkMenuItem *w, gpointer user_data);
  522 void on_menu_item_save_image_activate(GtkMenuItem *w, gpointer user_data);
  523 void on_menu_item_copy_activate(GtkMenuItem *w, gpointer user_data);
  524 void on_menu_item_precision_activate(GtkMenuItem *w, gpointer user_data);
  525 void on_menu_item_decimals_activate(GtkMenuItem *w, gpointer user_data);
  526 void on_menu_item_plot_functions_activate(GtkMenuItem *w, gpointer user_data);
  527 void on_menu_item_factorize_activate(GtkMenuItem *w, gpointer user_data);
  528 void on_menu_item_simplify_activate(GtkMenuItem *w, gpointer user_data);
  529 void on_menu_item_expand_partial_fractions_activate(GtkMenuItem *w, gpointer user_data);
  530 void on_menu_item_set_unknowns_activate(GtkMenuItem *w, gpointer user_data);
  531 void on_menu_item_assume_nonzero_denominators_activate(GtkMenuItem *w, gpointer user_data);
  532 void on_menu_item_algebraic_mode_simplify_activate(GtkMenuItem *w, gpointer user_data);
  533 void on_menu_item_algebraic_mode_factorize_activate(GtkMenuItem *w, gpointer user_data);
  534 void on_menu_item_algebraic_mode_hybrid_activate(GtkMenuItem *w, gpointer user_data);
  535 gboolean on_main_window_focus_in_event(GtkWidget *w, GdkEventFocus *e, gpointer user_data);
  536 
  537 void on_button_registerup_clicked(GtkButton *button, gpointer user_data);
  538 void on_button_registerdown_clicked(GtkButton *button, gpointer user_data);
  539 void on_button_editregister_clicked(GtkButton *button, gpointer user_data);
  540 void on_button_deleteregister_clicked(GtkButton *button, gpointer user_data);
  541 void on_button_clearstack_clicked(GtkButton *button, gpointer user_data);
  542 void on_stackview_selection_changed(GtkTreeSelection *treeselection, gpointer user_data);
  543 void on_stackview_item_edited(GtkCellRendererText *renderer, gchar *path, gchar *new_text, gpointer user_data);
  544 void on_stackview_item_editing_started(GtkCellRenderer *renderer, GtkCellEditable *editable, gchar *path, gpointer user_data);
  545 void on_stackview_item_editing_canceled(GtkCellRenderer *renderer, gpointer user_data);
  546 
  547 void on_historyview_selection_changed(GtkTreeSelection *select, gpointer);
  548 
  549 void on_unit_edit_entry_name_changed(GtkEditable *editable, gpointer user_data);
  550 void on_unit_edit_combobox_class_changed(GtkComboBox *om, gpointer user_data);
  551 void on_unit_edit_checkbutton_mix_toggled(GtkToggleButton *w, gpointer);
  552 void on_unit_edit_combo_system_changed(GtkComboBox *om, gpointer user_data);
  553 void on_units_button_new_clicked(GtkButton *button, gpointer user_data);
  554 void on_units_button_edit_clicked(GtkButton *button, gpointer user_data);
  555 void on_units_button_insert_clicked(GtkButton *button, gpointer user_data);
  556 void on_units_button_convert_to_clicked(GtkButton *button, gpointer user_data);
  557 void on_units_button_delete_clicked(GtkButton *button, gpointer user_data);
  558 void on_units_combobox_to_unit_changed(GtkComboBox *w, gpointer user_data);
  559 void on_variables_button_new_clicked(GtkButton *button, gpointer user_data);
  560 void on_variables_button_edit_clicked(GtkButton *button, gpointer user_data);
  561 void on_variables_button_insert_clicked(GtkButton *button, gpointer user_data);
  562 void on_variables_button_delete_clicked(GtkButton *button, gpointer user_data);
  563 void on_variables_button_export_clicked(GtkButton *button, gpointer user_data);
  564 void on_variables_button_close_clicked(GtkButton *button, gpointer user_data);
  565 void on_functions_button_new_clicked(GtkButton *button, gpointer user_data);
  566 void on_functions_button_edit_clicked(GtkButton *button, gpointer user_data);
  567 void on_functions_button_insert_clicked(GtkButton *button, gpointer user_data);
  568 void on_functions_button_apply_clicked(GtkButton *button, gpointer user_data);
  569 void on_functions_button_delete_clicked(GtkButton *button, gpointer user_data);
  570 void on_functions_button_close_clicked(GtkButton *button, gpointer user_data);
  571 void on_datasets_button_close_clicked(GtkButton *button, gpointer user_data);
  572 void on_function_edit_entry_name_changed(GtkEditable *editable, gpointer user_data);
  573 void on_variable_edit_entry_name_changed(GtkEditable *editable, gpointer user_data);
  574 void on_unknown_edit_checkbutton_custom_assumptions_toggled(GtkToggleButton *w, gpointer user_data);
  575 void on_unknown_edit_combobox_type_changed(GtkComboBox *om, gpointer user_data);
  576 void on_unknown_edit_combobox_sign_changed(GtkComboBox *om, gpointer user_data);
  577 
  578 void on_function_changed();
  579 void on_simple_function_changed();
  580 void on_argument_changed();
  581 void on_unit_changed();
  582 void on_variable_changed();
  583 void on_dataset_changed();
  584 void on_dataobject_changed();
  585 void on_dataproperty_changed();
  586 void on_matrix_changed();
  587 void on_unknown_changed();
  588 void on_name_changed();
  589 
  590 void on_dataset_edit_entry_name_changed(GtkEditable *editable, gpointer user_data);
  591 void on_dataset_edit_button_new_property_clicked(GtkButton *button, gpointer user_data);
  592 void on_dataset_edit_button_edit_property_clicked(GtkButton *button, gpointer user_data);
  593 void on_dataset_edit_button_del_property_clicked(GtkButton *button, gpointer user_data);
  594 void on_dataset_edit_button_names_clicked(GtkButton *button, gpointer user_data);
  595 
  596 void on_datasets_button_newset_clicked(GtkButton *button, gpointer user_data);
  597 void on_datasets_button_editset_clicked(GtkButton *button, gpointer user_data);
  598 void on_datasets_button_delset_clicked(GtkButton *button, gpointer user_data);
  599 void on_datasets_button_newobject_clicked(GtkButton *button, gpointer user_data);
  600 void on_datasets_button_editobject_clicked(GtkButton *button, gpointer user_data);
  601 void on_datasets_button_delobject_clicked(GtkButton *button, gpointer user_data);
  602 
  603 void on_nbases_button_close_clicked(GtkButton *button, gpointer user_data);
  604 void on_nbases_entry_decimal_changed(GtkEditable *editable, gpointer user_data);
  605 void on_nbases_entry_binary_changed(GtkEditable *editable, gpointer user_data);
  606 void on_nbases_entry_octal_changed(GtkEditable *editable, gpointer user_data);
  607 void on_nbases_entry_hexadecimal_changed(GtkEditable *editable, gpointer user_data);
  608 void on_nbases_entry_duo_changed(GtkEditable *editable, gpointer user_data);
  609 void on_nbases_entry_roman_changed(GtkEditable *editable, gpointer user_data);
  610 void on_nbases_entry_sexa_changed(GtkEditable *editable, gpointer user_data);
  611 
  612 void on_percentage_button_clear_clicked(GtkWidget*, gpointer);
  613 
  614 void on_menu_item_show_percentage_dialog_activate(GtkMenuItem *w, gpointer user_data);
  615 
  616 void on_menu_item_show_calendarconversion_dialog_activate(GtkMenuItem *w, gpointer user_data);
  617 void on_popup_menu_item_calendarconversion_activate(GtkMenuItem *w, gpointer user_data);
  618 void on_popup_menu_item_to_utc_activate(GtkMenuItem *w, gpointer user_data);
  619 
  620 void calendar_changed(GtkWidget*, gpointer);
  621 
  622 void on_button_functions_clicked(GtkButton *button, gpointer user_data);
  623 void on_button_variables_clicked(GtkButton *button, gpointer user_data);
  624 void on_button_units_clicked(GtkButton *button, gpointer user_data);
  625 void on_button_convert_clicked(GtkButton *button, gpointer user_data);
  626 
  627 void on_menu_item_about_activate(GtkMenuItem *w, gpointer user_data);
  628 void on_menu_item_help_activate(GtkMenuItem *w, gpointer user_data);
  629 
  630 void on_precision_dialog_spinbutton_precision_value_changed(GtkSpinButton *w, gpointer user_data);
  631 void on_precision_dialog_button_recalculate_clicked(GtkButton *w, gpointer user_data);
  632 void on_decimals_dialog_spinbutton_max_value_changed(GtkSpinButton *w, gpointer user_data);
  633 void on_decimals_dialog_spinbutton_min_value_changed(GtkSpinButton *w, gpointer user_data);
  634 void on_decimals_dialog_checkbutton_max_toggled(GtkToggleButton *w, gpointer user_data);
  635 void on_decimals_dialog_checkbutton_min_toggled(GtkToggleButton *w, gpointer user_data);
  636 
  637 gboolean on_expressiontext_button_press_event(GtkWidget *w, GdkEventButton *event, gpointer user_data);
  638 
  639 gboolean on_resultview_button_press_event(GtkWidget *w, GdkEventButton *event, gpointer user_data);
  640 gboolean on_resultview_popup_menu(GtkWidget *w, gpointer user_data);
  641 
  642 gboolean on_expressiontext_key_press_event(GtkWidget *w, GdkEventKey *event, gpointer user_data);
  643 
  644 void on_expressionbuffer_cursor_position_notify();
  645 
  646 gboolean on_resultview_draw(GtkWidget *w, cairo_t *cr, gpointer user_data);
  647 
  648 gboolean on_tMatrixEdit_key_press_event(GtkWidget *w, GdkEventKey *event, gpointer user_data);
  649 gboolean on_tMatrixEdit_button_press_event(GtkWidget *w, GdkEventButton *event, gpointer user_data);
  650 gboolean on_tMatrixEdit_cursor_changed(GtkTreeView *w, gpointer user_data);
  651 
  652 void on_matrix_edit_spinbutton_columns_value_changed(GtkSpinButton *w, gpointer user_data);
  653 void on_matrix_edit_spinbutton_rows_value_changed(GtkSpinButton *w, gpointer user_data);
  654 
  655 void on_matrix_edit_radiobutton_matrix_toggled(GtkToggleButton *w, gpointer user_data);
  656 void on_matrix_edit_radiobutton_vector_toggled(GtkToggleButton *w, gpointer user_data);
  657 
  658 gboolean on_tMatrix_key_press_event(GtkWidget *w, GdkEventKey *event, gpointer user_data);
  659 gboolean on_tMatrix_button_press_event(GtkWidget *w, GdkEventButton *event, gpointer user_data);
  660 gboolean on_tMatrix_cursor_changed(GtkTreeView *w, gpointer user_data);
  661 
  662 void on_matrix_spinbutton_columns_value_changed(GtkSpinButton *w, gpointer user_data);
  663 void on_matrix_spinbutton_rows_value_changed(GtkSpinButton *w, gpointer user_data);
  664 
  665 void on_matrix_radiobutton_matrix_toggled(GtkToggleButton *w, gpointer user_data);
  666 void on_matrix_radiobutton_vector_toggled(GtkToggleButton *w, gpointer user_data);
  667 
  668 void on_csv_import_radiobutton_matrix_toggled(GtkToggleButton *w, gpointer user_data);
  669 void on_csv_import_radiobutton_vectors_toggled(GtkToggleButton *w, gpointer user_data);
  670 void on_csv_import_combobox_delimiter_changed(GtkComboBox *w, gpointer user_data);
  671 void on_csv_import_button_file_clicked(GtkButton *button, gpointer user_data);
  672 
  673 void on_csv_export_combobox_delimiter_changed(GtkComboBox *w, gpointer user_data);
  674 void on_csv_export_button_file_clicked(GtkButton *button, gpointer user_data);
  675 void on_csv_export_radiobutton_current_toggled(GtkToggleButton *w, gpointer user_data);
  676 void on_csv_export_radiobutton_matrix_toggled(GtkToggleButton *w, gpointer user_data);
  677 
  678 void on_type_label_date_clicked(GtkButton *w, gpointer user_data);
  679 void on_type_label_file_clicked(GtkButton *w, gpointer user_data);
  680 
  681 void on_functions_button_deactivate_clicked(GtkButton *w, gpointer user_data);
  682 void on_variables_button_deactivate_clicked(GtkButton *w, gpointer user_data);
  683 void on_units_button_deactivate_clicked(GtkButton *w, gpointer user_data);
  684 
  685 void on_function_edit_button_subfunctions_clicked(GtkButton *w, gpointer user_data);
  686 void on_function_edit_button_add_subfunction_clicked(GtkButton *w, gpointer user_data);
  687 void on_function_edit_button_modify_subfunction_clicked(GtkButton *w, gpointer user_data);
  688 void on_function_edit_button_remove_subfunction_clicked(GtkButton *w, gpointer user_data);
  689 void on_function_edit_entry_subexpression_activate(GtkEntry *entry, gpointer user_data);
  690 void on_function_edit_button_add_argument_clicked(GtkButton *w, gpointer user_data);
  691 void on_function_edit_button_remove_argument_clicked(GtkButton *w, gpointer user_data);
  692 void on_function_edit_button_modify_argument_clicked(GtkButton *w, gpointer user_data);
  693 void on_function_edit_entry_argument_name_activate(GtkEntry *entry, gpointer user_data);
  694 void on_function_edit_button_rules_clicked(GtkButton *w, gpointer user_data);
  695 void on_argument_rules_checkbutton_enable_min_toggled(GtkToggleButton *w, gpointer user_data);
  696 void on_argument_rules_checkbutton_enable_max_toggled(GtkToggleButton *w, gpointer user_data);
  697 void on_argument_rules_checkbutton_enable_condition_toggled(GtkToggleButton *w, gpointer user_data);
  698 
  699 void on_variable_edit_button_names_clicked(GtkButton *w, gpointer user_data);
  700 void on_unknown_edit_button_names_clicked(GtkButton *w, gpointer user_data);
  701 void on_matrix_edit_button_names_clicked(GtkButton *w, gpointer user_data);
  702 void on_function_edit_button_names_clicked(GtkButton *w, gpointer user_data);
  703 void on_unit_edit_button_names_clicked(GtkButton *w, gpointer user_data);
  704 
  705 void on_names_edit_checkbutton_abbreviation_toggled(GtkToggleButton *w, gpointer user_data);
  706 void on_names_edit_button_add_clicked(GtkButton *w, gpointer user_data);
  707 void on_names_edit_button_modify_clicked(GtkButton *w, gpointer user_data);
  708 void on_names_edit_button_remove_clicked(GtkButton *w, gpointer user_data);
  709 void on_names_edit_entry_name_activate(GtkEntry *w, gpointer user_data);
  710 void on_names_edit_entry_name_changed(GtkEditable *editable, gpointer user_data);
  711 
  712 void on_plot_button_save_clicked(GtkButton *w, gpointer user_data);
  713 void on_plot_button_add_clicked(GtkButton *w, gpointer user_data);
  714 void on_plot_button_modify_clicked(GtkButton *w, gpointer user_data);
  715 void on_plot_button_remove_clicked(GtkButton *w, gpointer user_data);
  716 void on_plot_checkbutton_xlog_toggled(GtkToggleButton *w, gpointer user_data);
  717 void on_plot_checkbutton_ylog_toggled(GtkToggleButton *w, gpointer user_data);
  718 void on_plot_radiobutton_step_toggled(GtkToggleButton *w, gpointer user_data);
  719 void on_plot_radiobutton_steps_toggled(GtkToggleButton *w, gpointer user_data);
  720 void on_plot_entry_expression_activate(GtkEntry *entry, gpointer user_data);
  721 
  722 void on_unit_dialog_button_apply_clicked(GtkButton *w, gpointer user_data);
  723 void on_unit_dialog_button_ok_clicked(GtkButton *w, gpointer user_data);
  724 void on_unit_dialog_entry_unit_activate(GtkEntry *entry, gpointer user_data);
  725 
  726 void convert_from_convert_entry_unit();
  727 void on_convert_button_convert_clicked(GtkButton *w, gpointer user_data);
  728 void on_convert_entry_unit_activate(GtkEntry *entry, gpointer user_data);
  729 
  730 void on_element_button_clicked(GtkButton *w, gpointer user_data);
  731 
  732 void on_convert_entry_search_changed(GtkEntry *w, gpointer user_data);
  733 void on_units_entry_search_changed(GtkEntry *w, gpointer user_data);
  734 void on_units_convert_search_changed(GtkEntry *w, gpointer user_data);
  735 void on_functions_entry_search_changed(GtkEntry *w, gpointer user_data);
  736 void on_variables_entry_search_changed(GtkEntry *w, gpointer user_data);
  737 
  738 void save_accels();
  739 
  740 gboolean on_menu_key_press(GtkWidget *widget, GdkEventKey *event);
  741 
  742 #ifdef __cplusplus
  743 }
  744 #endif
  745 
  746 #endif
  747