X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FDialogs.h;h=972c250955d9abdf3a73bfb0179b6c13fcdaaa40;hb=3e39bef2c13125023f3b72532d90575bbe307335;hp=5fe2a6b392dc6c9202731a2d171597afe05c13dc;hpb=e2b3a1254c2cc1145ac7b24abd2c52bab915375e;p=lyx.git diff --git a/src/frontends/Dialogs.h b/src/frontends/Dialogs.h index 5fe2a6b392..972c250955 100644 --- a/src/frontends/Dialogs.h +++ b/src/frontends/Dialogs.h @@ -8,7 +8,7 @@ * 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 @@ -21,119 +21,174 @@ #include #include -using std::vector; +#include "LString.h" +#include +#include -#ifdef SIGC_CXX_NAMESPACES -using SigC::Signal0; -using SigC::Signal1; +#ifdef __GNUG__ +#pragma interface #endif -#include "LString.h" - -class DialogBase; +#include "DialogBase.h" // Maybe this should be a UIFunc modelled on LyXFunc class LyXView; -class InsetInclude; -class InsetIndex; +class InsetGraphics; class InsetBibKey; -class InsetCitation; class InsetBibtex; +class InsetError; +class InsetExternal; +class InsetInclude; class InsetInfo; class InsetTabular; +class InsetCommand; +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 +class Dialogs : boost::noncopyable { public: - /**@name Constructors and Deconstructors */ + /// + typedef boost::shared_ptr db_ptr; + /**@name Constructor */ //@{ /// Dialogs(LyXView *); - /// - ~Dialogs(); //@} - + + /** Redraw all visible dialogs because, for example, the GUI colours + have been re-mapped. */ + static SigC::Signal0 redrawGUI; + + /// Toggle tooltips on/off in all dialogs. + static SigC::Signal0 toggleTooltips; + + /// Are the tooltips on or off? + static bool tooltipsEnabled(); + /**@name Global Hide and Update Signals */ //@{ - /// Hide all visible popups - Signal0 hideAll; - - /// Hide any popups that require a buffer for them to operate - Signal0 hideBufferDependent; - - /// Update visible, buffer-dependent popups - Signal0 updateBufferDependent; + /// Hide all visible dialogs + SigC::Signal0 hideAll; + + /// Hide any dialogs that require a buffer for them to operate + SigC::Signal0 hideBufferDependent; + + /** Update visible, buffer-dependent dialogs + If the bool is true then a buffer change has occurred + else its still the same buffer. + */ + SigC::Signal1 updateBufferDependent; //@} - /**@name Dialog Access Signals */ + /**@name Dialog Access Signals. + Put into some sort of alphabetical order */ //@{ - /// Opens the Preamble Dialog. - Signal0 showPreamble; + /// Do we really have to push this? + SigC::Signal1 const &> SetDocumentClassChoice; /// - Signal0 showLogFile; + SigC::Signal0 showAboutlyx; + /// show the key and label of a bibliography entry + SigC::Signal1 showBibitem; + /// show the bibtex dialog + SigC::Signal1 showBibtex; /// - Signal1 showTabular; + SigC::Signal0 showCharacter; + /// connected to the character dialog also + SigC::Signal0 setUserFreeFont; /// - Signal1 updateTabular; + SigC::Signal1 showCitation; /// - Signal1 hideTabular; + SigC::Signal1 createCitation; /// - Signal0 showTabularCreate; + SigC::Signal0 showDocument; /// - Signal0 showCharacter; + SigC::Signal1 showError; + /// show the external inset dialog + SigC::Signal1 showExternal; + /// show the contents of a file. + SigC::Signal1 showFile; + /// show all forked child processes + SigC::Signal0 showForks; /// - Signal0 updateCharacter; // allow update as cursor moves + SigC::Signal1 showGraphics; + /// show the details of a LyX file include inset + SigC::Signal1 showInclude; /// - Signal0 showParagraph; + SigC::Signal1 showIndex; /// - Signal0 showDocument; - /// Do we really have to push this? - Signal1 const &> SetDocumentClassChoice; + SigC::Signal1 createIndex; + /// + SigC::Signal1 showInfo; + /// show the LaTeX log or build file + SigC::Signal0 showLogFile; + /// display the top-level maths panel + SigC::Signal0 showMathPanel; + /// + SigC::Signal1 showMinipage; /// - Signal0 showPrint; + SigC::Signal1 updateMinipage; /// - Signal0 showCopyright; + SigC::Signal1 showERT; /// - Signal0 showCredits; + SigC::Signal1 updateERT; /// - Signal0 showPreferences; + SigC::Signal1 showFloat; /// - Signal1 showInclude; + SigC::Signal0 showParagraph; /// - Signal1 showIndex; + SigC::Signal0 updateParagraph; /// - Signal1 showBibkey; + SigC::Signal0 showPreamble; /// - Signal1 showCitation; + SigC::Signal0 showPreferences; /// - Signal1 createCitation; + SigC::Signal0 showPrint; /// - Signal1 hideCitation; + SigC::Signal1 showRef; /// - Signal1 showBibtex; + SigC::Signal1 createRef; /// - Signal1 showInfo; + SigC::Signal0 showSearch; + /// + SigC::Signal0 showSendto; + /// bring up the spellchecker + SigC::Signal0 showSpellchecker; + /// bring up the spellchecker tab in preferences + SigC::Signal0 showSpellcheckerPreferences; + /// + SigC::Signal1 showTabular; + /// + SigC::Signal1 updateTabular; + /// + SigC::Signal0 showTabularCreate; + /// show the TexInfo + SigC::Signal0 showTexinfo; + /// show the thesaurus dialog + SigC::Signal1 showThesaurus; + /// + SigC::Signal1 showTOC; + /// + SigC::Signal1 createTOC; + /// + SigC::Signal1 showUrl; + /// + SigC::Signal1 createUrl; + /// show the version control log + SigC::Signal0 showVCLogFile; //@} private: - /// Disallow default constructor - Dialogs() {} - /// Disallow copy constructor - Dialogs(Dialogs &) {} - /// - vector dialogs_; + /// Add a dialog to the vector of dialogs. + void add(DialogBase *); + /// the dialogs being managed + std::vector dialogs_; }; #endif - - - - - - - -