]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/Dialogs.h
Martin's changes to the Note inset.
[lyx.git] / src / frontends / Dialogs.h
index 73e90d5c1908fa9b3b530accf8eea214d1037489..9ae7f37b13be16bc7c759d1b9c241f698ca0ea02 100644 (file)
 #include <boost/signals/signal0.hpp>
 #include <boost/signals/signal1.hpp>
 
+
 class Dialog;
 class InsetBase;
 class LyXView;
 
-class InsetInfo;
-class Paragraph;
-class InsetTabular;
-
 /** 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.
@@ -74,27 +71,9 @@ public:
           Put into some sort of alphabetical order */
        //@{
        ///
-       void showAboutlyx();
-       ///
-       void showCharacter();
-       /// connected to the character dialog also
-       void setUserFreeFont();
-       ///
        void showDocument();
-       /// show the contents of a file.
-       void showFile(string const &);
        /// show all forked child processes
        void showForks();
-       /// show the LaTeX log or build file
-       void showLogFile();
-       /// display the top-level maths panel
-       void showMathPanel();
-       /// show the merge changes dialog
-       void showMergeChanges();
-       ///
-       void showParagraph();
-       ///
-       void updateParagraph();
        ///
        void showPreamble();
        ///
@@ -107,39 +86,49 @@ public:
        void showSendto();
        /// bring up the spellchecker
        void showSpellchecker();
-       ///
-       void showTabular(InsetTabular *);
-       ///
-       void updateTabular(InsetTabular *);
-       ///
-       void showTabularCreate();
-       /// show the TexInfo
-       void showTexinfo();
-       /// show the thesaurus dialog
-       void showThesaurus(string const &);
-       /// show the version control log
-       void showVCLogFile();
        //@}
 
-       /** name == "bibtex", "citation" etc
-           data is generated by the Inset::write method, to be read by the
-           Inset::read method in the frontends.
-           inset is stored. On a subsequent Apply from the frontends, the
-           stored inset will be modified. If no inset is stored, then a
-           new one will be created at the current cursor position.
-        */
+       /** \param name == "about" etc; an identifier used to
+           launch a particular dialog.
+           \param data is a string encoding of the data used to populate
+           the dialog. Several of these dialogs do not need any data,
+           so it defaults to string().
+       */
+       void show(string const & name, string const & data = string());
+
+       /** \param name == "bibtex", "citation" etc; an identifier used to
+           launch a particular dialog.
+           \param data is a string representation of the Inset contents.
+           It is often little more than the output from Inset::write.
+           It is passed to, and parsed by, the frontend dialog.
+           \param inset is _not_ passed to the frontend dialog.
+           It is stored internally and used by the kernel to ascertain
+           what to do with the FuncRequest dispatched from the frontend
+           dialog on 'Apply'; should it be used to create a new inset at
+           the current cursor position or modify an existing, 'open' inset?
+       */
        void show(string const & name, string const & data, InsetBase * inset);
-       /** name == "citation", "bibtex" etc.
-           Update the contents of the dialog.
-        */
+
+       /** \param name == "citation", "bibtex" etc; an identifier used
+           to update the contents of a particular dialog with \param data .
+           See the comments to 'show', above.
+       */
        void update(string const & name, string const & data);
-       ///
-       void Dialogs::hide(string const & name);
+
+       /// is the dialog currently visible?
+       bool visible(string const & name) const;
+
+       /** All Dialogs of the given \param name will be closed if they are
+           connected to the given \param inset.
+       */
+       static void hide(string const & name, InsetBase * inset);
        ///
        void disconnect(string const & name);
        ///
        InsetBase * getOpenInset(string const & name) const;
 private:
+       ///
+       void hideSlot(string const & name, InsetBase * inset);
        ///
        void redraw() const;
        ///