]> git.lyx.org Git - features.git/blobdiff - src/insets/InsetLayout.h
Typo
[features.git] / src / insets / InsetLayout.h
index f11071fb6c8cd3210cd05416316135c0ce4f2c04..ed3c9a96ba830b1959fedc559a5fecb388795a4e 100644 (file)
@@ -5,7 +5,7 @@
  * Licence details can be found in the file COPYING.
  *
  * \author Martin Vermeer
- * \author Richard Heck
+ * \author Richard Kimberly Heck
  *
  * Full author contact details are available in file CREDITS.
  */
@@ -27,33 +27,35 @@ namespace lyx {
 class Lexer;
 class TextClass;
 
+
+enum class InsetDecoration : int {
+       CLASSIC,
+       MINIMALISTIC,
+       CONGLOMERATE,
+       DEFAULT
+};
+
+enum class InsetLyXType : int {
+       NOLYXTYPE,
+       CHARSTYLE,
+       CUSTOM,
+       END,
+       STANDARD
+};
+
+enum class InsetLaTeXType : int {
+       NOLATEXTYPE,
+       COMMAND,
+       ENVIRONMENT,
+       ILT_ERROR
+};
+
+
 ///
 class InsetLayout {
 public:
        ///
-       InsetLayout();
-       ///
-       enum InsetDecoration {
-               CLASSIC,
-               MINIMALISTIC,
-               CONGLOMERATE,
-               DEFAULT
-       };
-       ///
-       enum InsetLyXType {
-               NOLYXTYPE,
-               CHARSTYLE,
-               CUSTOM,
-               END,
-               STANDARD
-       };
-       ///
-       enum InsetLaTeXType {
-               NOLATEXTYPE,
-               COMMAND,
-               ENVIRONMENT,
-               ILT_ERROR
-       };
+       InsetLayout() { labelfont_.setColor(Color_error); }
        ///
        bool read(Lexer & lexrc, TextClass const & tclass,
                        bool validating = false);
@@ -99,9 +101,9 @@ public:
        /// Those are iterators for different containers.
        Layout::LaTeXArgMap args() const;
        ///
-       unsigned int optArgs() const;
+       int optArgs() const;
        ///
-       unsigned int requiredArgs() const;
+       int requiredArgs() const;
        ///
        docstring preamble() const { return preamble_; }
        /// Get language dependent macro definitions needed for this inset
@@ -150,16 +152,48 @@ public:
        ///
        std::string docbooktag() const { return docbooktag_; }
        ///
-       std::string docbooktagtype() const { return docbooktagtype_; }
+       std::string docbooktagtype() const;
        ///
        std::string docbookattr() const { return docbookattr_; }
        ///
+       std::string docbookinnertag() const { return docbookinnertag_; }
+       ///
+       std::string docbookinnertagtype() const;
+       ///
+       std::string docbookinnerattr() const { return docbookinnerattr_; }
+       ///
+       std::string const & docbookininfo() const;
+       ///
+       bool docbooksection() const { return docbooksection_; }
+       ///
+       bool docbooknotinpara() const { return docbooknotinpara_; }
+       ///
+       bool docbookargumentbeforemaintag() const { return docbookargumentbeforemaintag_; }
+       ///
+       bool docbookargumentaftermaintag() const { return docbookargumentaftermaintag_; }
+       ///
        std::string docbookwrappertag() const { return docbookwrappertag_; }
        ///
-       std::string docbookwrappertagtype() const { return docbookwrappertagtype_; }
+       std::string docbookwrappertagtype() const;
        ///
        std::string docbookwrapperattr() const { return docbookwrapperattr_; }
        ///
+       std::string docbookitemwrappertag() const { return docbookitemwrappertag_; }
+       ///
+       std::string docbookitemwrappertagtype() const;
+       ///
+       std::string docbookitemwrapperattr() const { return docbookitemwrapperattr_; }
+       ///
+       std::string docbookitemtag() const { return docbookitemtag_; }
+       ///
+       std::string docbookitemtagtype() const;
+       ///
+       std::string docbookitemattr() const { return docbookitemattr_; }
+       ///
+       bool docbooknofontinside() const { return docbooknofontinside_; }
+       ///
+       bool docbookrenderasimage() const { return docbookrenderasimage_; }
+       ///
        std::set<std::string> required() const { return required_; }
        ///
        bool isMultiPar() const { return multipar_; }
@@ -201,7 +235,7 @@ public:
        ///
        bool isDisplay() const { return display_; }
        ///
-       bool forcelocalfontswitch() const { return forcelocalfontswitch_; }
+       bool forceLocalFontSwitch() const { return forcelocalfontswitch_; }
        ///
        docstring const & obsoleted_by() const { return obsoleted_by_; }
        ///
@@ -220,23 +254,23 @@ private:
        ///
        void readArgument(Lexer &);
        ///
-       docstring name_;
+       docstring name_ = from_ascii("undefined");
        /**
                * This is only used (at present) to decide where to put them on the menus.
                * Values are 'charstyle', 'custom' (things that by default look like a
                * footnote), 'standard'.
                */
-       InsetLyXType lyxtype_;
+       InsetLyXType lyxtype_ = InsetLyXType::STANDARD;
        ///
-       docstring labelstring_;
+       docstring labelstring_ = from_ascii("UNDEFINED");
        ///
        docstring menustring_;
        ///
-       bool contentaslabel_;
+       bool contentaslabel_ = false;
        ///
-       InsetDecoration decoration_;
+       InsetDecoration decoration_ = InsetDecoration::DEFAULT;
        ///
-       InsetLaTeXType latextype_;
+       InsetLaTeXType latextype_ = InsetLaTeXType::NOLATEXTYPE;
        ///
        std::string latexname_;
        ///
@@ -246,11 +280,11 @@ private:
        ///
        docstring rightdelim_;
        ///
-       FontInfo font_;
+       FontInfo font_ = inherit_font;
        ///
-       FontInfo labelfont_;
+       FontInfo labelfont_ = sane_font;
        ///
-       ColorCode bgcolor_;
+       ColorCode bgcolor_ = Color_error;
        ///
        docstring counter_;
        ///
@@ -260,7 +294,7 @@ private:
        /// Language and babel dependent macro definitions needed for this inset
        docstring babelpreamble_;
        ///
-       bool fixedwidthpreambleencoding_;
+       bool fixedwidthpreambleencoding_ = false;
        ///
        docstring refprefix_;
        ///
@@ -281,65 +315,97 @@ private:
        mutable std::string defaultcssclass_;
        /// Whether to force generation of default CSS even if some is given.
        /// False by default.
-       bool htmlforcecss_;
+       bool htmlforcecss_ = false;
        ///
        docstring htmlpreamble_;
        ///
-       bool htmlisblock_;
+       bool htmlisblock_ = true;
        ///
        std::string docbooktag_;
        ///
-       std::string docbooktagtype_;
+       mutable std::string docbooktagtype_;
        ///
        std::string docbookattr_;
        ///
+       std::string docbookinnertag_;
+       ///
+       mutable std::string docbookinnertagtype_;
+       ///
+       std::string docbookinnerattr_;
+       ///
+       mutable std::string docbookininfo_;
+       ///
+       bool docbooknotinpara_ = false;
+       ///
+       bool docbookargumentbeforemaintag_ = false;
+    ///
+    bool docbookargumentaftermaintag_ = false;
+       ///
+       bool docbooksection_ = false;
+       ///
        std::string docbookwrappertag_;
        ///
-       std::string docbookwrappertagtype_;
+       mutable std::string docbookwrappertagtype_;
        ///
        std::string docbookwrapperattr_;
        ///
+       std::string docbookitemtag_;
+       ///
+       mutable std::string docbookitemtagtype_;
+       ///
+       std::string docbookitemattr_;
+       ///
+       std::string docbookitemwrappertag_;
+       ///
+       mutable std::string docbookitemwrappertagtype_;
+       ///
+       std::string docbookitemwrapperattr_;
+       ///
+       bool docbooknofontinside_ = false;
+       ///
+       bool docbookrenderasimage_ = false;
+       ///
        std::set<std::string> required_;
        ///
-       bool multipar_;
+       bool multipar_ = true;
        ///
-       bool custompars_;
+       bool custompars_ = true;
        ///
-       bool forceplain_;
+       bool forceplain_ = false;
        ///
-       bool passthru_;
+       bool passthru_ = false;
        ///
        docstring passthru_chars_;
        ///
        std::string newline_cmd_;
        ///
-       bool parbreakisnewline_;
+       bool parbreakisnewline_ = false;
        ///
-       bool parbreakignored_;
+       bool parbreakignored_ = false;
        ///
-       bool freespacing_;
+       bool freespacing_ = false;
        ///
-       bool keepempty_;
+       bool keepempty_ = false;
        ///
-       bool forceltr_;
+       bool forceltr_ = false;
        ///
-       bool forceownlines_;
+       bool forceownlines_ = false;
        ///
-       bool needprotect_;
+       bool needprotect_ = false;
        ///
-       bool needcprotect_;
+       bool needcprotect_ = false;
        ///
-       bool needmboxprotect_;
+       bool needmboxprotect_ = false;
        /// should the contents be written to TOC strings?
-       bool intoc_;
+       bool intoc_ = false;
        /// check spelling of this inset?
-       bool spellcheck_;
+       bool spellcheck_ = true;
        ///
-       bool resetsfont_;
+       bool resetsfont_ = false;
        ///
-       bool display_;
+       bool display_ = true;
        ///
-       bool forcelocalfontswitch_;
+       bool forcelocalfontswitch_ = false;
        /** Name of an insetlayout that has replaced this insetlayout.
            This is used to rename an insetlayout, while keeping backward
            compatibility
@@ -350,18 +416,18 @@ private:
        ///
        Layout::LaTeXArgMap postcommandargs_;
        ///
-       bool add_to_toc_;
+       bool add_to_toc_ = false;
        ///
        std::string toc_type_;
        ///
-       bool is_toc_caption_;
+       bool is_toc_caption_ = false;
        ///
-       bool edit_external_;
+       bool edit_external_ = false;
 };
 
 ///
-InsetLayout::InsetLyXType translateLyXType(std::string const & str);
-InsetLayout::InsetDecoration translateDecoration(std::string const & str);
+InsetLyXType translateLyXType(std::string const & str);
+InsetDecoration translateDecoration(std::string const & str);
 
 } // namespace lyx