X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FDelegates.h;h=b5844470e1827740b21cb7cc5ec7a0007eb3999f;hb=c0a1893008bd13650d470afff16f56720b65c87c;hp=330b9aa4ff15955869ebccc99022fe0ddd07fae3;hpb=0ee7c6e283bb6a592f6f86a2c45d34c60ba4026e;p=lyx.git diff --git a/src/frontends/Delegates.h b/src/frontends/Delegates.h index 330b9aa4ff..b5844470e1 100644 --- a/src/frontends/Delegates.h +++ b/src/frontends/Delegates.h @@ -17,11 +17,12 @@ namespace lyx { class Buffer; +class DocIterator; class Inset; namespace frontend { -class GuiBufferViewDelegate +class GuiBufferViewDelegate { public: virtual ~GuiBufferViewDelegate() {} @@ -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,8 +62,10 @@ 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.