]> git.lyx.org Git - lyx.git/blob - src/lyx_gui.h
399a93d6e91351459f35ae484e04b7b6ade0681a
[lyx.git] / src / lyx_gui.h
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.
9  *
10  *======================================================*/
11
12 #ifndef _LYX_GUI_H_
13 #define _LYX_GUI_H_
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 class LyXView;
20 class LyX;
21 class Buffer;
22
23 /**
24   This class is going to be the entry point to {\em all} GUI funcionality.
25   From this object will all the things going on be initiated. However I
26   have not clearly figured out how this class is going to be, suggestions
27   are welcome. (Lgb)
28   */
29 class LyXGUI {
30 public:
31         /**@name Constructor */
32         //@{
33         
34         /** The only constructor allowed
35
36           If gui is false, LyX will operate in non-X mode
37           */
38         LyXGUI(LyX *owner, int *argc, char *argv[], bool gui);
39         ///
40         ~LyXGUI();
41         //@}
42         
43         /**@name Members */
44         //@{
45         /**
46           This functions starts the ball. For XForms it runs a loop of
47           fl_check_forms(). For QT this will probably be .exec().
48           */
49         void runTime();
50         /** This will take care of the initializaton done after the
51           main initialization.
52           */
53         void init();
54         ///
55         LyXView *lyxViews; // or something so that several views
56         // on the same time can be allowed.
57
58         /// Register the buffer with the first fount LyXView in lyxViews
59         void regBuf(Buffer*);
60         //@}
61 private:
62         /**@name Construcor */
63         //@{
64         /// not allowed
65         LyXGUI(); // don't allow this
66         /// not allowed
67         LyXGUI(const LyXGUI&); // nor this
68         //@}
69         
70         /**@name Members */
71         //@{
72         ///
73         void setDefaults();
74         ///
75         void create_forms();
76         //@}
77
78         /**@name Variables */
79         //@{
80         /// The LyX that owns this GUI.
81         LyX *_owner;
82         /// Do we have a gui?
83         bool gui;
84         //@}
85 };
86
87 #endif