* LyX, The Document Processor
*
* Copyright 1995 Matthias Ettrich
- * Copyright 1995-2000 The LyX Team.
+ * Copyright 1995-2001 The LyX Team.
*
* This file Copyright 2000
* Allan Rae
#include "LString.h"
#include <boost/utility.hpp>
+#include <boost/smart_ptr.hpp>
-class DialogBase;
+#ifdef __GNUG__
+#pragma interface
+#endif
+
+#include "DialogBase.h"
// Maybe this should be a UIFunc modelled on LyXFunc
class LyXView;
class InsetBibKey;
class InsetBibtex;
class InsetError;
+class InsetExternal;
class InsetInclude;
class InsetInfo;
class InsetTabular;
class InsetCommand;
-
-using std::vector;
-
-#ifdef SIGC_CXX_NAMESPACES
-using SigC::Signal0;
-using SigC::Signal1;
-#endif
+class InsetMinipage;
+class InsetFloat;
+class InsetERT;
+class Paragraph;
/** Container of all dialogs and signals a LyXView needs or uses to access them
The list of dialog signals isn't comprehensive but should be a good guide
for any future additions. Remember don't go overboard -- think minimal.
*/
-class Dialogs : public noncopyable
+class Dialogs : boost::noncopyable
{
public:
- /**@name Constructors and Deconstructors */
+ ///
+ typedef boost::shared_ptr<DialogBase> db_ptr;
+ /**@name Constructor */
//@{
///
Dialogs(LyXView *);
- ///
- ~Dialogs();
//@}
-
+
+ /** Redraw all visible dialogs because, for example, the GUI colours
+ have been re-mapped. */
+ static SigC::Signal0<void> redrawGUI;
+
/**@name Global Hide and Update Signals */
//@{
- /// Hide all visible popups
- Signal0<void> hideAll;
+ /// Hide all visible dialogs
+ SigC::Signal0<void> hideAll;
/// Hide any dialogs that require a buffer for them to operate
- Signal0<void> hideBufferDependent;
+ SigC::Signal0<void> hideBufferDependent;
/** Update visible, buffer-dependent dialogs
If the bool is true then a buffer change has occurred
else its still the same buffer.
*/
- Signal1<void, bool> updateBufferDependent;
+ SigC::Signal1<void, bool> updateBufferDependent;
//@}
/**@name Dialog Access Signals.
Put into some sort of alphabetical order */
//@{
/// Do we really have to push this?
- Signal1<void, vector<string> const &> SetDocumentClassChoice;
+ SigC::Signal1<void, std::vector<string> const &> SetDocumentClassChoice;
///
- Signal1<void, InsetBibKey *> showBibkey;
+ SigC::Signal0<void> showAboutlyx;
+ /// show the key and label of a bibliography entry
+ SigC::Signal1<void, InsetCommand *> showBibitem;
+ /// show the bibtex dialog
+ SigC::Signal1<void, InsetCommand *> showBibtex;
///
- Signal1<void, InsetBibtex *> showBibtex;
+ SigC::Signal0<void> showCharacter;
+ /// connected to the character dialog also
+ SigC::Signal0<void> setUserFreeFont;
///
- Signal0<void> showCharacter;
+ SigC::Signal1<void, InsetCommand *> showCitation;
///
- Signal1<void, InsetCommand *> showCitation;
+ SigC::Signal1<void, string const &> createCitation;
///
- Signal1<void, string const &> createCitation;
+ SigC::Signal0<void> showDocument;
///
- Signal0<void> showCopyright;
+ SigC::Signal1<void, InsetError *> showError;
+ /// show the external inset dialog
+ SigC::Signal1<void, InsetExternal *> showExternal;
+ /// show the contents of a file.
+ SigC::Signal1<void, string const &> showFile;
///
- Signal0<void> showCredits;
+ SigC::Signal1<void, InsetGraphics *> showGraphics;
+ /// show the details of a LyX file include inset
+ SigC::Signal1<void, InsetInclude *> showInclude;
///
- Signal1<void, InsetError *> showError;
+ SigC::Signal1<void, InsetCommand *> showIndex;
///
- Signal1<void, InsetGraphics *> showGraphics;
+ SigC::Signal1<void, string const &> createIndex;
///
- Signal1<void, InsetInclude *> showInclude;
+ SigC::Signal1<void, InsetInfo *> showInfo;
+ /// show the LaTeX log or build file
+ SigC::Signal0<void> showLogFile;
+ /// display the top-level maths panel
+ SigC::Signal0<void> showMathPanel;
///
- Signal1<void, InsetCommand *> showIndex;
+ SigC::Signal1<void, InsetMinipage *> showMinipage;
///
- Signal1<void, string const &> createIndex;
+ SigC::Signal1<void, InsetMinipage *> updateMinipage;
///
- Signal1<void, InsetInfo *> showInfo;
+ SigC::Signal1<void, InsetERT *> showERT;
///
- Signal0<void> showLayoutDocument;
+ SigC::Signal1<void, InsetERT *> updateERT;
///
- Signal0<void> showLayoutParagraph;
+ SigC::Signal1<void, InsetFloat *> showFloat;
///
- Signal0<void> showLogFile;
+ SigC::Signal0<void> showParagraph;
///
- Signal0<void> showPreamble;
+ SigC::Signal0<void> updateParagraph;
///
- Signal0<void> showPreferences;
+ SigC::Signal0<void> showPreamble;
///
- Signal0<void> showPrint;
+ SigC::Signal0<void> showPreferences;
///
- Signal1<void, InsetCommand *> showRef;
+ SigC::Signal0<void> showPrint;
///
- Signal1<void, string const &> createRef;
+ SigC::Signal1<void, InsetCommand *> showRef;
///
- Signal1<void, InsetTabular *> showTabular;
+ SigC::Signal1<void, string const &> createRef;
///
- Signal1<void, InsetTabular *> updateTabular;
+ SigC::Signal0<void> showSearch;
+ /// bring up the spellchecker
+ SigC::Signal0<void> showSpellchecker;
+ /// bring up the spellchecker tab in preferences
+ SigC::Signal0<void> showSpellcheckerPreferences;
///
- Signal1<void, InsetTabular *> hideTabular;
+ SigC::Signal1<void, InsetTabular *> showTabular;
///
- Signal0<void> showTabularCreate;
+ SigC::Signal1<void, InsetTabular *> updateTabular;
///
- Signal1<void, InsetCommand *> showTOC;
+ SigC::Signal0<void> showTabularCreate;
+ /// show the TexInfo
+ SigC::Signal0<void> showTexinfo;
+ /// show the thesaurus dialog
+ SigC::Signal1<void, string const &> showThesaurus;
///
- Signal1<void, string const &> createTOC;
+ SigC::Signal1<void, InsetCommand *> showTOC;
///
- Signal1<void, InsetCommand *> showUrl;
+ SigC::Signal1<void, string const &> createTOC;
///
- Signal1<void, string const &> createUrl;
+ SigC::Signal1<void, InsetCommand *> showUrl;
///
- Signal0<void> updateCharacter; // allow update as cursor moves
+ SigC::Signal1<void, string const &> createUrl;
+ /// show the version control log
+ SigC::Signal0<void> showVCLogFile;
//@}
private:
- ///
- vector<DialogBase *> dialogs_;
+ /// Add a dialog to the vector of dialogs.
+ void add(DialogBase *);
+ /// the dialogs being managed
+ std::vector<db_ptr> dialogs_;
};
#endif
-
-
-
-
-
-
-
-