1 /*
2  * Bluefish HTML Editor
3  * bfwin_uimanager.h
4  *
5  * Copyright (C) 2011 James Hayward and Olivier Sessink
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 
21 #ifndef BFWIN_UIMANAGER_H_
22 #define BFWIN_UIMANAGER_H_
23 
24 #include "bluefish.h"
25 #include "bfwin.h"
26 
27 
28 #define BF_RECENT_FILE_GROUP		"bluefish-recent-file"
29 #define BF_RECENT_PROJECT_GROUP		"bluefish-recent-project"
30 
31 void sync_fullscreen_toggle(Tbfwin *bfwin, gboolean is_fullscreen);
32 
33 void bfwin_main_ui_init(Tbfwin * bfwin, GtkWidget * vbox);
34 void bfwin_set_undo_redo_actions(Tbfwin * bfwin, gboolean undo, gboolean redo);
35 void bfwin_set_cutcopypaste_actions(Tbfwin * bfwin, gboolean enabled);
36 void bfwin_set_document_menu_items(Tdocument * doc);
37 
38 void bfwin_action_set_sensitive(GtkUIManager * manager, const gchar * path, gboolean sensitive);
39 
40 void bfwin_set_menu_toggle_item(GtkActionGroup * action_group, const gchar * action_name, gboolean is_active);
41 void bfwin_set_menu_toggle_item_from_path(GtkUIManager * manager, const gchar * path, gboolean is_active);
42 
43 void bfwin_encoding_set_wo_activate(Tbfwin * bfwin, const gchar * encoding);
44 void bfwin_lang_mode_set_wo_activate(Tbfwin * bfwin, Tbflang * bflang);
45 
46 void bfwin_commands_menu_create(Tbfwin * bfwin);
47 void bfwin_encodings_menu_create(Tbfwin * bfwin);
48 void bfwin_filters_menu_create(Tbfwin * bfwin);
49 void bfwin_outputbox_menu_create(Tbfwin * bfwin);
50 void lang_mode_menu_create(Tbfwin * bfwin);
51 
52 /*void bfwin_recent_menu_add(Tbfwin * bfwin, GFile * file, GFileInfo * finfo, gboolean is_project);*/
53 void bfwin_recent_menu_add(Tbfwin *bfwin, gboolean project, const gchar *curi, GFile *uri);
54 void bfwin_recent_menu_remove(Tbfwin *bfwin, gboolean project, const gchar *curi, GFile *uri);
55 void bfwin_recent_menu_create(Tbfwin *bfwin, gboolean only_update_session);
56 void bfwin_templates_menu_create(Tbfwin * bfwin);
57 
58 void sync_fullscreen_toggle(Tbfwin *bfwin, gboolean is_fullscreen);
59 #ifdef MAC_INTEGRATION
60 void bfwin_action_groups_set_sensitive(Tbfwin * bfwin, gboolean sensitive);
61 gboolean bfwin_action_group_is_available(GtkUIManager * manager, gchar * action_group_name);
62 #endif
63 
64 #endif							/* BFWIN_UIMANAGER_H_ */
65