+ ///
+ void resetDialogs();
+
+ /// Hide all visible dialogs
+ void hideAll() const;
+
+ /// Update all visible dialogs.
+ /**
+ * Check the status of all visible dialogs and disable or reenable
+ * them as appropriate.
+ *
+ * Disabling is needed for example when a dialog is open and the
+ * cursor moves to a position where the corresponding inset is not
+ * allowed.
+ */
+ void updateDialogs();
+
+ /** \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.
+ Several of these dialogs do not need any data,
+ so it defaults to string().
+ \param inset ownership 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 showDialog(std::string const & name,
+ std::string const & data, Inset * inset = 0);
+
+ /** \param name == "citation", "bibtex" etc; an identifier used
+ to reset the contents of a particular dialog with \param data.
+ See the comments to 'show', above.
+ */
+ void updateDialog(std::string const & name, std::string const & data);
+
+ /** All Dialogs of the given \param name will be closed if they are
+ connected to the given \param inset.
+ */
+ void hideDialog(std::string const & name, Inset * inset);
+ ///
+ void disconnectDialog(std::string const & name);