// -*- 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 FormSplash; class InsetGraphics; class InsetBibKey; class InsetBibtex; class InsetError; class InsetExternal; class InsetInclude; class InsetInfo; class InsetTabular; class InsetCommand; #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; /// show the external inset dialog Signal1 showExternal; /// 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; /// Signal0 showSearch; /// pop up the splash Signal0 showSplash; /// destroy the splash dialog void destroySplash(); /// Signal1 showTabular; /// Signal1 updateTabular; /// Signal0 showTabularCreate; /// Signal1 showTOC; /// Signal1 createTOC; /// Signal1 showUrl; /// Signal1 createUrl; /// Signal0 updateCharacter; // allow update as cursor moves //@} private: /// the dialogs being managed std::vector dialogs_; /// the splash dialog FormSplash * splash_; }; #endif