// -*- C++ -*- /* Dialogs.h * Container of all dialogs and signals a LyXView needs or uses to access them. * Author: Allan Rae * This file is part of * ====================================================== * * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich * Copyright 1995-2000 The LyX Team. * * This file Copyright 2000 * Allan Rae * ====================================================== */ #ifndef DIALOGS_H #define DIALOGS_H #include #include #include "LString.h" #include class DialogBase; // Maybe this should be a UIFunc modelled on LyXFunc class LyXView; class InsetGraphics; class InsetBibKey; class InsetBibtex; class InsetError; class InsetInclude; class InsetInfo; class InsetTabular; class InsetCommand; using std::vector; #ifdef SIGC_CXX_NAMESPACES using SigC::Signal0; using SigC::Signal1; #endif /** 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 { public: /**@name Constructors and Deconstructors */ //@{ /// Dialogs(LyXView *); /// ~Dialogs(); //@} /** Redraw all visible popups because, for example, the GUI colours have been re-mapped. */ static Signal0 redrawGUI; /**@name Global Hide and Update Signals */ //@{ /// Hide all visible popups Signal0 hideAll; /// Hide any dialogs that require a buffer for them to operate Signal0 hideBufferDependent; /** Update visible, buffer-dependent dialogs If the bool is true then a buffer change has occurred else its still the same buffer. */ Signal1 updateBufferDependent; //@} /**@name Dialog Access Signals. Put into some sort of alphabetical order */ //@{ /// Do we really have to push this? Signal1 const &> SetDocumentClassChoice; /// show the key and label of a bibliography entry Signal1 showBibitem; /// show the bibtex dialog Signal1 showBibtex; /// Signal0 showCharacter; /// Signal1 showCitation; /// Signal1 createCitation; /// Signal0 showCopyright; /// Signal0 showCredits; /// Signal1 showError; /// Signal1 showGraphics; /// show the details of a LyX file include inset Signal1 showInclude; /// create a LyX file include inset Signal1 createInclude; /// Signal1 showIndex; /// Signal1 createIndex; /// Signal1 showInfo; /// Signal0 showLayoutDocument; /// Signal0 showLayoutParagraph; /// Signal0 showLayoutCharacter; /// Signal0 setUserFreeFont; /// show the version control log Signal0 showVCLogFile; /// show the LaTeX log or build file Signal0 showLogFile; /// Signal0 showPreamble; /// Signal0 showPreferences; /// Signal0 showPrint; /// Signal1 showRef; /// Signal1 createRef; /// pop up the splash Signal0 showSplash; /// hide the splash immediately Signal0 hideSplash; /// Signal1 showTabular; /// Signal1 updateTabular; /// Signal0 showTabularCreate; /// Signal1 showTOC; /// Signal1 createTOC; /// Signal1 showUrl; /// Signal1 createUrl; /// Signal0 updateCharacter; // allow update as cursor moves //@} private: /// vector dialogs_; }; #endif