3 * Container of all dialogs and signals a LyXView needs or uses to access them.
4 * Author: Allan Rae <rae@lyx.org>
6 * ======================================================
8 * LyX, The Document Processor
10 * Copyright 1995 Matthias Ettrich
11 * Copyright 1995-2000 The LyX Team.
13 * This file Copyright 2000
15 * ======================================================
22 #include <sigc++/signal_system.h>
25 #include <boost/utility.hpp>
29 // Maybe this should be a UIFunc modelled on LyXFunc
41 #ifdef SIGC_CXX_NAMESPACES
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.
50 class Dialogs : public noncopyable
53 /**@name Constructors and Deconstructors */
61 /** Redraw all visible popups because, for example, the GUI colours
62 have been re-mapped. */
63 static Signal0<void> redrawGUI;
65 /**@name Global Hide and Update Signals */
67 /// Hide all visible popups
68 Signal0<void> hideAll;
70 /// Hide any dialogs that require a buffer for them to operate
71 Signal0<void> hideBufferDependent;
73 /** Update visible, buffer-dependent dialogs
74 If the bool is true then a buffer change has occurred
75 else its still the same buffer.
77 Signal1<void, bool> updateBufferDependent;
80 /**@name Dialog Access Signals.
81 Put into some sort of alphabetical order */
83 /// Do we really have to push this?
84 Signal1<void, std::vector<string> const &> SetDocumentClassChoice;
85 /// show the key and label of a bibliography entry
86 Signal1<void, InsetCommand *> showBibitem;
87 /// show the bibtex dialog
88 Signal1<void, InsetCommand *> showBibtex;
90 Signal0<void> showCharacter;
92 Signal1<void, InsetCommand *> showCitation;
94 Signal1<void, string const &> createCitation;
96 Signal0<void> showCopyright;
98 Signal0<void> showCredits;
100 Signal1<void, InsetError *> showError;
102 Signal1<void, InsetGraphics *> showGraphics;
103 /// show the details of a LyX file include inset
104 Signal1<void, InsetCommand *> showInclude;
105 /// create a LyX file include inset
106 Signal1<void, string const &> createInclude;
108 Signal1<void, InsetCommand *> showIndex;
110 Signal1<void, string const &> createIndex;
112 Signal1<void, InsetInfo *> showInfo;
114 Signal0<void> showLayoutDocument;
116 Signal0<void> showLayoutParagraph;
118 Signal0<void> showLayoutCharacter;
120 Signal0<void> setUserFreeFont;
121 /// show the version control log
122 Signal0<void> showVCLogFile;
123 /// show the LaTeX log or build file
124 Signal0<void> showLogFile;
126 Signal0<void> showPreamble;
128 Signal0<void> showPreferences;
130 Signal0<void> showPrint;
132 Signal1<void, InsetCommand *> showRef;
134 Signal1<void, string const &> createRef;
136 Signal0<void> showSearch;
137 /// pop up the splash
138 Signal0<void> showSplash;
139 /// hide the splash immediately
140 Signal0<void> hideSplash;
142 Signal1<void, InsetTabular *> showTabular;
144 Signal1<void, InsetTabular *> updateTabular;
146 Signal0<void> showTabularCreate;
148 Signal1<void, InsetCommand *> showTOC;
150 Signal1<void, string const &> createTOC;
152 Signal1<void, InsetCommand *> showUrl;
154 Signal1<void, string const &> createUrl;
156 Signal0<void> updateCharacter; // allow update as cursor moves
160 std::vector<DialogBase *> dialogs_;