]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetFlex.h
The last commit was, uhh, not what I intended.
[lyx.git] / src / insets / InsetFlex.h
index 141beb1b8076765f68d49764d8deb94a3a469362..96b3a71b2e41c411022a253a1d18c5da152230de 100644 (file)
 
 #include "InsetCollapsable.h"
 
-
 namespace lyx {
 
-
 /** The Flex inset, e.g., CharStyle, Custom inset or XML short element
 
 */
 class InsetFlex : public InsetCollapsable {
 public:
        ///
-       InsetFlex(BufferParams const &, InsetLayout const &);
+       InsetFlex(Buffer const &, std::string const & layoutName);
        ///
        docstring name() const { return from_utf8(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;
        ///
-       virtual docstring const editMessage() const;
+       docstring editMessage() const;
        ///
        InsetCode lyxCode() const { return FLEX_CODE; }
        ///
-       void write(Buffer const &, std::ostream &) const;
-       ///
-       void read(Buffer const & buf, Lexer & lex);
+       void write(std::ostream &) const;
        ///
-       bool forceDefaultParagraphs(idx_type) const { return true; }
+       void read(Lexer & lex);
 
        ///
-       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 validate(LaTeXFeatures &) const;
+       void textString(odocstream &) 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:
-       virtual Inset * clone() const;
+       Inset * clone() const { return new InsetFlex(*this); }
+       // FIXME The following two routines should be moved to InsetCollapsable.
+       // That will allow the redeclarations of these routines to be removed
+       // from its subclasses, such as InsetERT. But it will also require us
+       // to rework stdinsets.inc, to make sure we get the right behavior from
+       // the subclasses.
+       /// should paragraphs be forced to use the empty layout?
+       virtual bool forcePlainLayout(idx_type = 0) const 
+               { return getLayout().forcePlainLayout(); }
+       /// should the user be allowed to customize alignment, etc.?
+       virtual bool allowParagraphCustomization(idx_type = 0) const 
+               { return getLayout().allowParagraphCustomization(); }
 
        ///
        std::string name_;
-       ///
-       std::set<std::string> packages_;
-       ///
-       std::string preamble_;
 };