]> git.lyx.org Git - lyx.git/blob - src/frontends/Dialogs.h
Some forgotten files and Anguses citation patch.
[lyx.git] / src / frontends / Dialogs.h
1 // -*- C++ -*-
2 /* Dialogs.h
3  * Container of all dialogs and signals a LyXView needs or uses to access them.
4  * Author: Allan Rae <rae@lyx.org>
5  * This file is part of
6  * ======================================================
7  *
8  *           LyX, The Document Processor
9  *
10  *           Copyright 1995 Matthias Ettrich
11  *           Copyright 1995-2000 The LyX Team.
12  *
13  *           This file Copyright 2000
14  *           Allan Rae
15  * ======================================================
16  */
17
18 #ifndef DIALOGS_H
19 #define DIALOGS_H
20
21 #include <vector>
22 #include <sigc++/signal_system.h>
23
24 using std::vector;
25
26 #ifdef SIGC_CXX_NAMESPACES
27 using SigC::Signal0;
28 using SigC::Signal1;
29 #endif
30
31 #include "LString.h"
32
33 class DialogBase;
34
35 // Maybe this should be a UIFunc modelled on LyXFunc
36 class LyXView;
37
38 class InsetInclude;
39 class InsetIndex;
40 class InsetBibKey;
41 class InsetCitation;
42 class InsetBibtex;
43 class InsetInfo;
44 class InsetTabular;
45
46 /** Container of all dialogs and signals a LyXView needs or uses to access them
47     The list of dialog signals isn't comprehensive but should be a good guide
48     for any future additions.  Remember don't go overboard -- think minimal.
49  */
50 class Dialogs
51 {
52 public:
53         /**@name Constructors and Deconstructors */
54         //@{
55         ///
56         Dialogs(LyXView *);
57         ///
58         ~Dialogs();
59         //@}
60         
61         /**@name Global Hide and Update Signals */
62         //@{
63         /// Hide all visible popups
64         Signal0<void> hideAll;
65         
66         /// Hide any popups that require a buffer for them to operate
67         Signal0<void> hideBufferDependent;
68         
69         /// Update visible, buffer-dependent popups
70         Signal0<void> updateBufferDependent;
71         //@}
72
73         /**@name Dialog Access Signals */
74         //@{
75         /// Opens the Preamble Dialog.
76         Signal0<void> showPreamble;
77         ///
78         Signal0<void> showLogFile;
79         ///
80         Signal1<void, InsetTabular *> showTabular;
81         ///
82         Signal1<void, InsetTabular *> updateTabular;
83         ///
84         Signal1<void, InsetTabular *> hideTabular;
85         ///
86         Signal0<void> showTabularCreate;
87         ///
88         Signal0<void> showCharacter;
89         ///
90         Signal0<void> updateCharacter;  // allow update as cursor moves
91         ///
92         Signal0<void> showParagraph;
93         ///
94         Signal0<void> showDocument;
95         /// Do we really have to push this?
96         Signal1<void, vector<string> const &> SetDocumentClassChoice;
97         ///
98         Signal0<void> showPrint;
99         ///
100         Signal0<void> showCopyright;
101         ///
102         Signal0<void> showCredits;
103         ///
104         Signal0<void> showPreferences;
105         ///
106         Signal1<void, InsetInclude *> showInclude;
107         ///
108         Signal1<void, InsetIndex *> showIndex;
109         ///
110         Signal1<void, InsetBibKey *> showBibkey;
111         ///
112         Signal1<void, InsetCitation *> showCitation;
113         ///
114         Signal1<void, string const &> createCitation;
115         ///
116         Signal1<void, InsetCitation *> hideCitation;
117         ///
118         Signal1<void, InsetBibtex *> showBibtex;
119         ///
120         Signal1<void, InsetInfo *> showInfo;
121         //@}
122 private:
123         /// Disallow default constructor
124         Dialogs() {}
125         /// Disallow copy constructor
126         Dialogs(Dialogs &) {}
127         ///
128         vector<DialogBase *> dialogs_;
129 };
130
131 #endif
132
133
134
135
136
137
138
139