]> git.lyx.org Git - features.git/blobdiff - src/insets/InsetLayout.h
Rationalize the handling of InsetLayout's preamble and requries. That is,
[features.git] / src / insets / InsetLayout.h
index 3107338e0d3faca9dff281b124d92f19c38550a3..886a6658851dd4edb7388df432b92cc6174fc6ee 100644 (file)
@@ -33,23 +33,39 @@ public:
        InsetLayout();
        ///
        enum InsetDecoration {
-               Classic,
-               Minimalistic,
-               Conglomerate,
-               Default
+               CLASSIC,
+               MINIMALISTIC,
+               CONGLOMERATE,
+               DEFAULT
+       };
+       enum InsetLyXType {
+               NOLYXTYPE,
+               CHARSTYLE,
+               CUSTOM,
+               ELEMENT,
+               END,
+               STANDARD
+       };
+       enum InsetLaTeXType {
+               NOLATEXTYPE,
+               COMMAND,
+               ENVIRONMENT,
+               ILT_ERROR
        };
        ///
-       bool read(Lexer & lexrc, TextClass & tclass);
+       bool read(Lexer & lexrc, TextClass const & tclass);
        ///
        docstring name() const { return name_; };
        ///
-       std::string lyxtype() const { return lyxtype_; };
+       void setName(docstring const & n) { name_ = n; }
+       ///
+       InsetLyXType lyxtype() const { return lyxtype_; };
        ///
        docstring labelstring() const { return labelstring_; };
        ///
        InsetDecoration decoration() const { return decoration_; };
        ///
-       std::string latextype() const { return latextype_; };
+       InsetLaTeXType latextype() const { return latextype_; };
        ///
        std::string latexname() const { return latexname_; };
        ///
@@ -61,12 +77,16 @@ public:
        ///
        ColorCode bgcolor() const { return bgcolor_; };
        ///
-       std::string preamble() const { return preamble_; };
+       docstring preamble() const { return preamble_; };
        ///
        std::set<std::string> requires() const { return requires_; };
        ///
        bool isMultiPar() const { return multipar_; };
        ///
+       bool forcePlainLayout() const { return forceplain_; }
+       ///
+       bool allowParagraphCustomization() const { return custompars_; }
+       ///
        bool isPassThru() const { return passthru_; };
        ///
        bool isNeedProtect() const { return needprotect_; };
@@ -76,6 +96,8 @@ public:
        bool isKeepEmpty() const { return keepempty_; };
        ///
        bool isForceLtr() const { return forceltr_; };
+       ///
+       bool isInToc() const { return intoc_; };
 private:
        ///
        docstring name_;
@@ -84,13 +106,13 @@ private:
                * Values are 'charstyle', 'custom' (things that by default look like a
                * footnote), 'element' (docbook), 'standard'.
                */
-       std::string lyxtype_;
+       InsetLyXType lyxtype_;
        ///
        docstring labelstring_;
        ///
        InsetDecoration decoration_;
        ///
-       std::string latextype_;
+       InsetLaTeXType latextype_;
        ///
        std::string latexname_;
        ///
@@ -102,11 +124,15 @@ private:
        ///
        ColorCode bgcolor_;
        ///
-       std::string preamble_;
+       docstring preamble_;
        ///
        std::set<std::string> requires_;
        ///
        bool multipar_;
+       /// 
+       bool custompars_;
+       ///
+       bool forceplain_;
        ///
        bool passthru_;
        ///
@@ -117,8 +143,13 @@ private:
        bool keepempty_;
        ///
        bool forceltr_;
+       /// should the contents be written to TOC strings?
+       bool intoc_;
 };
 
+///
+InsetLayout::InsetLyXType translateLyXType(std::string const & str);
+
 } // namespace lyx
 
 #endif