]> git.lyx.org Git - lyx.git/blob - src/frontends/lyx_gui.h
This file is part of LyX, the document processor.
[lyx.git] / src / frontends / lyx_gui.h
1 // -*- C++ -*-
2 /**
3  * \file lyx_gui.h
4  * This file is part of LyX, the document processor.
5  * Licence details can be found in the file COPYING.
6  *
7  * \author John Levon 
8  *
9  * Full author contact details are available in file CREDITS
10  */
11
12 #ifndef LYX_GUI_H
13 #define LYX_GUI_H
14  
15 #include "LColor.h"
16 #include "LString.h" 
17 #include <vector>
18
19 class Dialogs;
20 class LyXFont;
21 class LyXComm;
22
23 /// GUI interaction
24 namespace lyx_gui {
25
26         /// parse command line and do basic initialisation
27         void parse_init(int & argc, char * argv[]);
28
29         /**
30          * set up GUI parameters. At this point lyxrc may
31          * be used.
32          */
33         void parse_lyxrc();
34
35         /**
36          * Start the main event loop, after executing the given
37          * batch commands, and loading the given documents
38          */
39         void start(string const & batch, std::vector<std::string> files);
40
41         /**
42          * quit running LyX
43          */
44         void exit();
45  
46         /** Eg, passing LColor::black returns "000000",
47          *      passing LColor::white returns "ffffff".
48          */
49         string const hexname(LColor::color col);
50
51         /**
52          * update an altered GUI color
53          */
54         void update_color(LColor::color col);
55
56         /**
57          * update the font cache
58          */
59         void update_fonts();
60
61         /**
62          * is the given font available ?
63          */
64         bool font_available(LyXFont const & font);
65
66         /**
67          * add a callback for I/O read notification
68          */
69         void set_read_callback(int fd, LyXComm * comm);
70
71         /**
72          * remove a I/O read callback
73          */
74         void remove_read_callback(int fd);
75 }
76
77 #endif // LYX_GUI_H