X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FDelegates.h;h=d13af7eec5b3c7fdef0f12f6d30854135e7866fa;hb=d5fb80ed874057da0d0b31b836052b9fa35ba269;hp=3c75c66c4ba9944f810f1b8e8660e0aa97697749;hpb=b99433e73b1cb96553cd8558c7c2a5da72bb1f4f;p=lyx.git diff --git a/src/frontends/Delegates.h b/src/frontends/Delegates.h index 3c75c66c4b..d13af7eec5 100644 --- a/src/frontends/Delegates.h +++ b/src/frontends/Delegates.h @@ -12,11 +12,12 @@ #ifndef DELEGATES_H #define DELEGATES_H -#include "support/docstring.h" +#include "support/strfwd.h" namespace lyx { class Buffer; +class DocIterator; class Inset; namespace frontend { @@ -29,19 +30,27 @@ public: /// This function is called when some message shows up. virtual void message(docstring const & msg) = 0; - /// This function is called when some dialog needs to be shown. - virtual void showDialog(std::string const & name) = 0; - - /// This function is called when some dialog needs to be shown with - /// some data. - virtual void showDialogWithData(std::string const & name, - std::string const & data) = 0; - /// This function is called when some inset dialogs needs to be shown. - virtual void showInsetDialog(std::string const & name, - std::string const & data, Inset * inset) = 0; + /** \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. + \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? + */ + virtual void showDialog(std::string const & name, + std::string const & data, Inset * inset = 0) = 0; - /// This function is called when some dialogs needs to be updated. + /// This function is called when some dialogs needs to be reset. + /** \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. + */ virtual void updateDialog(std::string const & name, std::string const & data) = 0; }; @@ -53,16 +62,14 @@ public: virtual ~GuiBufferDelegate() {} /// This function is called when the buffer structure is changed. virtual void structureChanged() = 0; + /// This function is called when the buffer structure has been updated. + virtual void updateTocItem(std::string const &, DocIterator const &) = 0; /// This function is called when some parsing error shows up. - virtual void errors(std::string const &) = 0; + virtual void errors(std::string const &, bool from_master = false) = 0; /// This function is called when some message shows up. virtual void message(docstring const &) = 0; /// This function is called when the buffer busy status change. virtual void setBusy(bool) = 0; - /// This function is called when the buffer readonly status change. - virtual void setReadOnly(bool) = 0; - /// Update window titles of all users. - virtual void updateTitles() = 0; /// Reset autosave timers for all users. virtual void resetAutosaveTimers() = 0; };