1 /*
2    Kickshaw - A Menu Editor for Openbox
3 
4    Copyright (c) 2010–2018        Marcus Schätzle
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    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14    GNU General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License along
17    with Kickshaw. If not, see http://www.gnu.org/licenses/.
18 */
19 
20 #ifndef __context_menu_h
21 #define __context_menu_h
22 
23 extern ks_data ks;
24 
25 extern void action_option_insert (gchar *origin);
26 extern void add_new (gchar *new_menu_element);
27 extern gboolean check_expansion_statuses_of_nodes (GtkTreeModel *foreach_or_filter_model,
28                                                    GtkTreePath *foreach_or_filter_path,
29                                                    GtkTreeIter *foreach_or_filter_iter,
30                                                    gboolean *expansion_statuses_of_nodes);
31 extern void check_for_existing_options (GtkTreeIter *parent, guint8 number_of_opts,
32 gchar **options_array, gboolean *opts_exist);
33 extern gboolean check_if_invisible_descendant_exists (GtkTreeModel *filter_model,
34                                                       G_GNUC_UNUSED GtkTreePath *filter_path,
35                                                       GtkTreeIter *filter_iter,
36                                                       gboolean *at_least_one_descendant_is_invisible);
37 extern void generate_items_for_action_option_combo_box (gchar *preset_choice);
38 extern void icon_choosing_by_button_or_context_menu (void);
39 extern void remove_all_children (void);
40 extern void remove_icons_from_menus_or_items (void);
41 extern void remove_rows (gchar *origin);
42 #if GLIB_CHECK_VERSION(2,8,0)
43 extern gboolean streq_any (const gchar *string, ...) G_GNUC_NULL_TERMINATED;
44 #else
45 extern gboolean streq_any (const gchar *string, ...);
46 #endif
47 extern void visualise_menus_items_and_separators (gpointer recursively_pointer);
48 
49 #if !(GLIB_CHECK_VERSION(2,16,0))
50 extern gint g_strcmp0 (const gchar *string1, const gchar *string2);
51 #endif
52 
53 #endif
54