]> git.lyx.org Git - lyx.git/blob - src/lyx_main.h
NEW_INSETS changes, + some small things in insettabular.C
[lyx.git] / src / lyx_main.h
1 // -*- C++ -*-
2 /* This file is part of
3 * ====================================================== 
4
5 *           LyX, The Document Processor
6 *        
7 *           Copyright 1995 Matthias Ettrich
8 *           Copyright 1995-2000 The LyX Team.
9 *
10 * ====================================================== */
11
12 /* This is the declaration of the LyX class, there should only
13  * exist _one_ instance of this in the application. */
14
15 #ifndef LYX_MAIN_H
16 #define LYX_MAIN_H
17
18 #include <csignal>
19
20 #include "LString.h"
21
22 class LyXGUI;
23 class LyXRC;
24 class LastFiles;
25 class Buffer;
26 class kb_keymap;
27
28 extern string system_lyxdir;
29 extern string user_lyxdir;
30 extern string system_tempdir;
31
32 extern LastFiles * lastfiles; /* we should hopefully be able to move this
33                               * inside the LyX class */
34
35
36 /**
37   This is the main LyX object it encapsulates most of the other objects.
38 */
39 class LyX {
40 public:
41         /**@name Constructors and Deconstructors */
42         //@{
43         /// the only allowed constructor
44         LyX(int * argc, char * argv[]); // constructor
45         // Always is useful a destructor
46         ~LyX();
47         //@}
48
49         /**@name Pointers to... */
50         //@{
51         ///
52         LyXGUI * lyxGUI;  // should be only one of this
53         //@}
54 private:
55         /**@name Constructors and Deconstructors */
56         //@{
57         /// not allowed
58         LyX(const LyX &) {} // not allowed
59         /// not allowed
60         LyX() {} // not allowed
61         //@}
62
63         /**@name Private variables */
64         //@{
65         /// does this user start lyx for the first time?
66         bool first_start;
67         ///
68         string batch_command;
69         /// 
70         // struct sigaction act_; // seems to be unused
71         //@}
72         /**@name Private Members */
73         //@{
74         ///
75         void runtime();
76         ///
77         void init(int * argc, char * argv[], bool);
78         ///
79         void defaultKeyBindings(kb_keymap * kbmap);
80         ///
81         void deadKeyBindings(kb_keymap * kbmap);
82         ///
83         void queryUserLyXDir(bool explicit_userdir);
84         ///
85         void ReadRcFile(string const & name);
86         ///
87         bool easyParse(int * argc, char * argv[]);
88         //@}
89 };
90
91 #endif