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