// -*- 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-2001 The LyX Team. * * This file Copyright 2000 * Allan Rae * ====================================================== */ #ifndef DIALOGS_H #define DIALOGS_H #include "LString.h" #include #include #include #include #include #include #ifdef __GNUG__ #pragma interface #endif #include "DialogBase.h" // Maybe this should be a UIFunc modelled on LyXFunc class LyXView; class InsetGraphics; class InsetBibKey; 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 : boost::noncopyable { public: /// typedef boost::shared_ptr db_ptr; /**@name Constructor */ //@{ /// Dialogs(LyXView *); //@} /** Redraw all visible dialogs because, for example, the GUI colours have been re-mapped. */ static boost::signal0 redrawGUI; /// Toggle tooltips on/off in all dialogs. static boost::signal0 toggleTooltips; /// Are the tooltips on or off? static bool tooltipsEnabled(); /**@name Global Hide and Update Signals */ //@{ /// Hide all visible dialogs boost::signal0 hideAll; /// Hide any dialogs that require a buffer for them to operate boost::signal0 hideBufferDependent; /** Update visible, buffer-dependent dialogs If the bool is true then a buffer change has occurred else its still the same buffer. */ boost::signal1 updateBufferDependent; //@} /**@name Dialog Access Signals. Put into some sort of alphabetical order */ //@{ /// boost::function showAboutlyx; /// show the key and label of a bibliography entry boost::function showBibitem; /// show the bibtex dialog boost::function showBibtex; /// boost::function showCharacter; /// connected to the character dialog also boost::function setUserFreeFont; /// boost::function showCitation; /// boost::function createCitation; /// boost::function showDocument; /// boost::function showError; /// show the external inset dialog boost::function showExternal; /// show the contents of a file. boost::function showFile; /// show all forked child processes boost::function showForks; /// boost::function showGraphics; /// show the details of a LyX file include inset boost::function showInclude; /// boost::function showIndex; /// boost::function createIndex; /// boost::function showInfo; /// show the LaTeX log or build file boost::function showLogFile; /// display the top-level maths panel boost::function showMathPanel; /// boost::function showMinipage; /// boost::function updateMinipage; /// boost::function showERT; /// boost::function updateERT; /// boost::function showFloat; /// boost::function showParagraph; /// boost::signal0 updateParagraph; /// boost::function showPreamble; /// boost::function showPreferences; /// boost::function showPrint; /// boost::function showRef; /// boost::function createRef; /// boost::function showSearch; /// boost::function showSendto; /// bring up the spellchecker boost::function showSpellchecker; /// bring up the spellchecker tab in preferences boost::function showSpellcheckerPreferences; /// boost::function showTabular; /// boost::function updateTabular; /// boost::function showTabularCreate; /// show the TexInfo boost::function showTexinfo; /// show the thesaurus dialog boost::function showThesaurus; /// boost::function showTOC; /// boost::function createTOC; /// boost::function showUrl; /// boost::function createUrl; /// show the version control log boost::function showVCLogFile; //@} private: /// Add a dialog to the vector of dialogs. void add(DialogBase *); /// the dialogs being managed std::vector dialogs_; }; #endif