]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetFlex.h
InsetInfo: enable inset dissolve
[lyx.git] / src / insets / InsetFlex.h
index da421d5f00e05a18d0729e053eac148a2bb021c8..0844246769e7b76a344a855fa4fae68d4b942427 100644 (file)
 #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);
+       InsetFlex(Buffer *, std::string const & layoutName);
        ///
-       docstring name() const { return from_ascii("Flex"); }
+       docstring layoutName() const { 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 il);
-       ///
-       virtual docstring const editMessage() const;
+       InsetLayout const & getLayout() const;
        ///
        InsetCode lyxCode() const { return FLEX_CODE; }
+       /// Default looks
+       InsetLayout::InsetDecoration decoration() const;
        ///
-       void write(Buffer const &, std::ostream &) const;
-       ///
-       void read(Buffer const & buf, Lexer & lex);
+       void write(std::ostream &) const;
+       /// should paragraph indendation be omitted in any case?
+       bool neverIndent() const { return true; }
        ///
-       void metrics(MetricsInfo &, Dimension &) const;
+       bool hasSettings() const { return false; }
        ///
-       void draw(PainterInfo &, int, int) const;
+       bool getStatus(Cursor & cur, FuncRequest const & cmd,
+               FuncStatus &) const;
        ///
-       void getDrawFont(FontInfo &) const;
+       void doDispatch(Cursor & cur, FuncRequest & cmd);
        ///
-       bool forceDefaultParagraphs(idx_type) const { return true; }
-
-       ///
-       int plaintext(Buffer const &, odocstream &,
-                     OutputParams const &) const;
-       ///
-       int docbook(Buffer const &, odocstream &,
-                   OutputParams const &) const;
-       /// the string that is passed to the TOC
-       virtual void textString(Buffer const &, odocstream &) const;
-
-       ///
-       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);
 
 protected:
-       InsetFlex(InsetFlex const &);
-       virtual void doDispatch(Cursor & cur, FuncRequest & cmd);
        ///
-       bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus &) const;
+       InsetFlex(InsetFlex const &);
 
 private:
-       friend class InsetFlexParams;
-
-       virtual Inset * clone() const;
-
        ///
-       InsetFlexParams params_;
+       Inset * clone() const { return new InsetFlex(*this); }
+       ///
+       std::string name_;
 };