X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetInfo.h;h=9af4d2fe4dc34f4f84ce8f03032c164915281cd1;hb=26ba2a65838731ce639a09539f617cb0f0be3b22;hp=811153afb048a08d2071d0edd566349d2a0c2e75;hpb=b0f579655cd70d5e060c451197010dde4cbd4e8e;p=lyx.git diff --git a/src/insets/InsetInfo.h b/src/insets/InsetInfo.h index 811153afb0..9af4d2fe4d 100644 --- a/src/insets/InsetInfo.h +++ b/src/insets/InsetInfo.h @@ -13,7 +13,6 @@ #define INSET_INFO_H #include "InsetCollapsible.h" -#include namespace lyx { @@ -98,8 +97,8 @@ icon: argument is the name of the LFUN such as "paste". The syntax is the same buffer: argument can be one of "name", "name-noext", "path", "class". This inset output the filename (with extension), filename (without extension), path, and textclass of this buffer. -lyxinfo: argument must (presently) be "version". This inset outputs information - about the version of LyX currently in use. +lyxinfo: argument must be "version" or "layoutformat". This outputs information + about the version of LyX currently in use or the current LyX layout format, respectively. vcs: argument can be one of "revision", "tree-revision", "author", "time", "date". This insets outputs revision control information, if available. @@ -139,10 +138,6 @@ public: UNKNOWN_INFO, // Invalid type }; /// - docstring getDate(std::string const, QDate const date = QDate::currentDate()) const; - /// - docstring getTime(std::string const, QTime const time = QTime::currentTime()) const; - /// std::vector> getArguments(Buffer const * buf, std::string const &) const; /// @@ -168,53 +163,66 @@ public: /// InsetInfo(Buffer * buf, std::string const & info = std::string()); /// - InsetCode lyxCode() const { return INFO_CODE; } + InsetCode lyxCode() const override { return INFO_CODE; } /// - docstring layoutName() const; + docstring layoutName() const override; /// - Inset * editXY(Cursor & cur, int x, int y); + Inset * editXY(Cursor & cur, int x, int y) override; /** FIXME: we would like to do that, but then InsetText::updateBuffer breaks * on info insets. Do we need to run this method on InsetInfo contents? * Having a InsetInfo that hides an InsetText is really annoying, actually. */ - ///bool isActive() const { return false; } + ///bool isActive() const override { return false; } /// - bool editable() const { return false; } + bool editable() const override { return false; } /// - bool hasSettings() const { return true; } + bool hasSettings() const override { return true; } /// - void read(Lexer & lex); + void read(Lexer & lex) override; /// - void write(std::ostream & os) const; + void write(std::ostream & os) const override; /// - bool validateModifyArgument(docstring const & argument) const { + bool validateModifyArgument(docstring const & argument) const override { return params_.validateArgument(&buffer(), argument); } /// - bool showInsetDialog(BufferView * bv) const; + bool showInsetDialog(BufferView * bv) const override; /// - bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const; + bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const override; /// - void doDispatch(Cursor & cur, FuncRequest & cmd); + void doDispatch(Cursor & cur, FuncRequest & cmd) override; /// Force inset into LTR environment if surroundings are RTL - bool forceLTR() const; + bool forceLTR(OutputParams const &) const override; + /// + bool forceLocalFontSwitch() const override; /// void setInfo(std::string const & info); /// - void updateBuffer(ParIterator const & it, UpdateType utype); + void updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted = false) override; + /// + void metrics(MetricsInfo & mi, Dimension & dim) const override; + /// + void draw(PainterInfo & pi, int x, int y) const override; + + /// + docstring toolTip(BufferView const & bv, int x, int y) const override; /// - docstring toolTip(BufferView const & bv, int x, int y) const; + std::string contextMenu(BufferView const &, int, int) const override; /// - std::string contextMenu(BufferView const &, int, int) const; + std::string contextMenuName() const override; + /// should paragraph indentation be omitted in any case? + bool neverIndent() const override { return true; } /// - std::string contextMenuName() const; - /// should paragraph indendation be omitted in any case? - bool neverIndent() const { return true; } + void validate(LaTeXFeatures & features) const override; /// InsetInfoParams params() const { return params_; } + /// Outputs the inset as DocBook, taking advantage of the metadata available in InsetInfoParams. + void docbook(XMLStream &, OutputParams const &) const override; + /// Outputs the inset as XHTML, taking advantage of the metadata available in InsetInfoParams. + docstring xhtml(XMLStream &, OutputParams const &) const override; private: /// - virtual Inset * clone() const { return new InsetInfo(*this); } + Inset * clone() const override { return new InsetInfo(*this); } /// void error(docstring const & err, Language const *); /// @@ -223,6 +231,8 @@ private: void setText(docstring const & str, Language const *); // make sure that the other version of setText is still available. using InsetCollapsible::setText; + /// Compute the information + void build(); /// bool initialized_; ///