]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetFlex.h
Inset::addToToc(): change signature. Use DocIterator instead of ParConstIterator...
[lyx.git] / src / insets / InsetFlex.h
index 139ca4c4d66d403df2c2b2e4f43463efbe08e090..63840a64ba51874a12b102554dd76b7e874937a5 100644 (file)
 #define INSETFLEX_H
 
 #include "InsetCollapsable.h"
-#include "TextClass.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 {
 public:
        ///
-       InsetFlex(BufferParams const &, InsetLayout const &);
-       ///
-       docstring name() const { return from_ascii("Flex"); }
+       InsetFlex(Buffer const &, std::string const & layoutName);
        ///
-       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);
+       docstring name() const { return from_utf8(name_); }
+
        ///
-       virtual docstring const editMessage() const;
+       docstring editMessage() const;
        ///
        InsetCode lyxCode() const { return FLEX_CODE; }
        ///
-       void write(Buffer const &, std::ostream &) const;
+       void write(std::ostream &) const;
        ///
-       void read(Buffer const & buf, Lexer & lex);
+       void read(Lexer & lex);
        ///
-       bool forceDefaultParagraphs(idx_type) const { return true; }
+       virtual bool allowParagraphCustomization(idx_type = 0) const { return false; }
 
        ///
-       int plaintext(Buffer const &, odocstream &,
-                     OutputParams const &) const;
+       int plaintext(odocstream &, OutputParams const &) const;
        ///
-       int docbook(Buffer const &, odocstream &,
-                   OutputParams const &) const;
+       int docbook(odocstream &, OutputParams const &) const;
        /// the string that is passed to the TOC
-       virtual void textString(Buffer const &, odocstream &) const;
-
+       void textString(odocstream &) const;
        ///
-       InsetFlexParams const & params() const { return params_; }
+       void validate(LaTeXFeatures &) const;
 
        /// should paragraph indendation be ommitted in any case?
-       bool neverIndent(Buffer const &) const { return true; }
+       bool neverIndent() const { return true; }
 
 protected:
        InsetFlex(InsetFlex const &);
 
 private:
-       friend class InsetFlexParams;
-
-       virtual Inset * clone() const;
+       Inset * clone() const { return new InsetFlex(*this); }
 
        ///
-       InsetFlexParams params_;
+       std::string name_;
+       ///
+       std::set<std::string> packages_;
+       ///
+       std::string preamble_;
 };