X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetFlex.h;h=f7ea07a0c3fea27ecf970c044ed24f7938166a21;hb=997f0621c5346bb623cf86713c4fe1be0c941104;hp=9cdc7c7a6d1a5fb427e8a4387bf2ca1d512926b3;hpb=dc2a6f95ff6c2dc721125a565cb418fc8c333d9a;p=lyx.git diff --git a/src/insets/InsetFlex.h b/src/insets/InsetFlex.h index 9cdc7c7a6d..f7ea07a0c3 100644 --- a/src/insets/InsetFlex.h +++ b/src/insets/InsetFlex.h @@ -13,73 +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_utf8(params_.name); } - - /// Is this character style defined in the document's textclass? - /// May be wrong after textclass change or paste from another document - bool undefined() const; + docstring layoutName() const override { return from_utf8("Flex:" + name_); } /// - virtual docstring const editMessage() const; + InsetLayout const & getLayout() const override; /// - InsetCode lyxCode() const { return FLEX_CODE; } + InsetCode lyxCode() const override { return FLEX_CODE; } + /// Default looks + InsetDecoration decoration() const override; /// - void write(Buffer const &, std::ostream &) const; + void write(std::ostream &) const override; + /// should paragraph indentation be omitted in any case? + bool neverIndent() const override { return true; } /// - void read(Buffer const & buf, Lexer & lex); + bool hasSettings() const override { return false; } /// - bool forceDefaultParagraphs(idx_type) const { return true; } - + bool canTrackChanges() const override { return name_ != "URL"; } /// - 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_; };