#include <vector>
#include <sigc++/signal_system.h>
-using std::vector;
-
-#ifdef SIGC_CXX_NAMESPACES
-using SigC::Signal0;
-using SigC::Signal1;
-#endif
-
#include "LString.h"
+#include <boost/utility.hpp>
class DialogBase;
// 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 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
+class Dialogs : public noncopyable
{
public:
/**@name Constructors and Deconstructors */
~Dialogs();
//@}
+ /** Redraw all visible popups because, for example, the GUI colours
+ have been re-mapped. */
+ static Signal0<void> redrawGUI;
+
/**@name Global Hide and Update Signals */
//@{
/// Hide all visible popups
Signal0<void> hideAll;
- /// Hide any popups that require a buffer for them to operate
+ /// Hide any dialogs that require a buffer for them to operate
Signal0<void> hideBufferDependent;
- /// Update visible, buffer-dependent popups
- Signal0<void> updateBufferDependent;
+ /** 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;
//@}
- /**@name Dialog Access Signals */
+ /**@name Dialog Access Signals.
+ Put into some sort of alphabetical order */
//@{
- /// Opens the Preamble Dialog.
- Signal0<void> showPreamble;
+ /// Do we really have to push this?
+ Signal1<void, vector<string> const &> SetDocumentClassChoice;
///
- Signal0<void> showLogFile;
+ Signal1<void, InsetBibKey *> showBibkey;
///
- Signal1<void, InsetTabular *> showTabular;
+ Signal1<void, InsetBibtex *> showBibtex;
///
- Signal1<void, InsetTabular *> updateTabular;
+ Signal0<void> showCharacter;
///
- Signal1<void, InsetTabular *> hideTabular;
+ Signal1<void, InsetCommand *> showCitation;
///
- Signal0<void> showTabularCreate;
+ Signal1<void, string const &> createCitation;
///
- Signal0<void> showCharacter;
+ Signal0<void> showCopyright;
///
- Signal0<void> updateCharacter; // allow update as cursor moves
+ Signal0<void> showCredits;
///
- Signal0<void> showParagraph;
+ Signal1<void, InsetError *> showError;
///
- Signal0<void> showDocument;
- /// Do we really have to push this?
- Signal1<void, vector<string> const &> SetDocumentClassChoice;
+ Signal1<void, InsetGraphics *> showGraphics;
///
- Signal0<void> showPrint;
+ Signal1<void, InsetInclude *> showInclude;
///
- Signal0<void> showCopyright;
+ Signal1<void, InsetCommand *> showIndex;
///
- Signal0<void> showCredits;
+ Signal1<void, string const &> createIndex;
+ ///
+ Signal1<void, InsetInfo *> showInfo;
+ ///
+ Signal0<void> showLayoutDocument;
+ ///
+ Signal0<void> showLayoutParagraph;
+ /// show the version control log
+ Signal0<void> showVCLogFile;
+ /// show the LaTeX log or build file
+ Signal0<void> showLogFile;
+ ///
+ Signal0<void> showPreamble;
///
Signal0<void> showPreferences;
///
- Signal1<void, InsetInclude *> showInclude;
+ Signal0<void> showPrint;
///
- Signal1<void, InsetIndex *> showIndex;
+ Signal1<void, InsetCommand *> showRef;
///
- Signal1<void, InsetBibKey *> showBibkey;
+ Signal1<void, string const &> createRef;
///
- Signal1<void, InsetCitation *> showCitation;
+ Signal1<void, InsetTabular *> showTabular;
///
- Signal1<void, string const &> createCitation;
+ Signal1<void, InsetTabular *> updateTabular;
///
- Signal1<void, InsetCitation *> hideCitation;
+ Signal0<void> showTabularCreate;
///
- Signal1<void, InsetBibtex *> showBibtex;
+ Signal1<void, InsetCommand *> showTOC;
///
- Signal1<void, InsetInfo *> showInfo;
+ Signal1<void, string const &> createTOC;
+ ///
+ Signal1<void, InsetCommand *> showUrl;
+ ///
+ Signal1<void, string const &> createUrl;
+ ///
+ Signal0<void> updateCharacter; // allow update as cursor moves
//@}
private:
- /// Disallow default constructor
- Dialogs() {}
- /// Disallow copy constructor
- Dialogs(Dialogs &) {}
///
vector<DialogBase *> dialogs_;
};
#endif
-
-
-
-
-
-
-
-