#define INSETFLEX_H
#include "InsetCollapsable.h"
-#include "TextClass.h"
+using std::string;
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 &);
+ InsetFlex(BufferParams const &,
+ TextClassPtr tc, string const & layoutName);
///
- docstring name() const { return from_ascii("Flex"); }
- ///
- 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;
///
///
void read(Buffer const & buf, Lexer & lex);
///
- bool forceDefaultParagraphs(idx_type) const { return true; }
+ virtual bool allowParagraphCustomization(idx_type) const { return false; }
///
int plaintext(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_; }
+ void validate(LaTeXFeatures &) const;
/// should paragraph indendation be ommitted in any case?
bool neverIndent(Buffer const &) const { return true; }
InsetFlex(InsetFlex const &);
private:
- friend class InsetFlexParams;
-
virtual Inset * clone() const;
///
- InsetFlexParams params_;
+ std::string name_;
+ ///
+ std::set<std::string> packages_;
+ ///
+ std::string preamble_;
};