X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetFlex.h;h=f7ea07a0c3fea27ecf970c044ed24f7938166a21;hb=997f0621c5346bb623cf86713c4fe1be0c941104;hp=139ca4c4d66d403df2c2b2e4f43463efbe08e090;hpb=85f80979fc902450350732b15b75531825544252;p=lyx.git diff --git a/src/insets/InsetFlex.h b/src/insets/InsetFlex.h index 139ca4c4d6..f7ea07a0c3 100644 --- a/src/insets/InsetFlex.h +++ b/src/insets/InsetFlex.h @@ -13,77 +13,51 @@ #ifndef INSETFLEX_H #define INSETFLEX_H -#include "InsetCollapsable.h" -#include "TextClass.h" +#include "InsetCollapsible.h" namespace lyx { - -class InsetFlexParams { -public: - /// - void write(std::ostream & os) const; - /// - void read(Lexer & lex); - /// - std::string name; -}; - - /** The Flex inset, e.g., CharStyle, Custom inset or XML short element */ -class InsetFlex : public InsetCollapsable { +class InsetFlex : public InsetCollapsible { public: /// - InsetFlex(BufferParams const &, InsetLayout const &); + InsetFlex(Buffer *, std::string const & layoutName); /// - docstring name() const { return from_ascii("Flex"); } + docstring layoutName() const override { return from_utf8("Flex:" + name_); } /// - InsetLayout const & getLayout(BufferParams const &) const - { return *layout_; } - /// Is this character style defined in the document's textclass? - /// May be wrong after textclass change or paste from another document - bool undefined() const; - /// (Re-)set the character style parameters from \p il - void setLayout(InsetLayout const & il); + InsetLayout const & getLayout() const override; /// - virtual docstring const editMessage() const; + InsetCode lyxCode() const override { return FLEX_CODE; } + /// Default looks + InsetDecoration decoration() const override; /// - InsetCode lyxCode() const { return FLEX_CODE; } + void write(std::ostream &) const override; + /// should paragraph indentation be omitted in any case? + bool neverIndent() const override { return true; } /// - void write(Buffer const &, std::ostream &) const; + bool hasSettings() const override { return false; } /// - void read(Buffer const & buf, Lexer & lex); + bool canTrackChanges() const override { return name_ != "URL"; } /// - bool forceDefaultParagraphs(idx_type) const { return true; } - - /// - int plaintext(Buffer const &, odocstream &, - OutputParams const &) const; + bool getStatus(Cursor & cur, FuncRequest const & cmd, + FuncStatus &) const override; /// - int docbook(Buffer const &, odocstream &, - OutputParams const &) const; - /// the string that is passed to the TOC - virtual void textString(Buffer const &, odocstream &) const; - + void doDispatch(Cursor & cur, FuncRequest & cmd) override; /// - InsetFlexParams const & params() const { return params_; } - - /// should paragraph indendation be ommitted in any case? - bool neverIndent(Buffer const &) const { return true; } + void updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted = false) override; protected: + /// InsetFlex(InsetFlex const &); private: - friend class InsetFlexParams; - - virtual Inset * clone() const; - /// - InsetFlexParams params_; + Inset * clone() const override { return new InsetFlex(*this); } + /// + std::string name_; };