]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetLayout.h
Do not output deleted rows columns if show changes in output is false
[lyx.git] / src / insets / InsetLayout.h
index 4619abcb0a363fe520009af7d7cae1ce7677649b..bed2136c4fdf12ffb7191c50af88e321e08d3fe0 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "ColorCode.h"
 #include "FontInfo.h"
+#include "Layout.h"
 
 #include "support/docstring.h"
 
@@ -65,6 +66,8 @@ public:
        ///
        docstring labelstring() const { return labelstring_; }
        ///
+       docstring menustring() const { return menustring_; }
+       ///
        bool contentaslabel() const { return contentaslabel_; }
        ///
        InsetDecoration decoration() const { return decoration_; }
@@ -75,12 +78,31 @@ public:
        ///
        std::string latexparam() const { return latexparam_; }
        ///
+       docstring leftdelim() const { return leftdelim_; }
+       ///
+       docstring rightdelim() const { return rightdelim_; }
+       ///
        FontInfo font() const { return font_; }
        ///
        FontInfo labelfont() const { return labelfont_; }
        ///
        ColorCode bgcolor() const { return bgcolor_; }
        ///
+       Layout::LaTeXArgMap const & latexargs() const { return latexargs_; }
+       ///
+       Layout::LaTeXArgMap const & postcommandargs() const { return postcommandargs_; }
+       /// Returns latexargs() + postcommandargs().
+       /// But note that it returns a *copy*, not a reference, so do not do
+       /// anything like:
+       ///   Layout::LaTeXArgMap::iterator it = args().begin();
+       ///   Layout::LaTeXArgMap::iterator en = args().end();
+       /// Those are iterators for different containers.
+       Layout::LaTeXArgMap args() const;
+       ///
+       unsigned int optArgs() const;
+       ///
+       unsigned int requiredArgs() const;
+       ///
        docstring preamble() const { return preamble_; }
        /// Get language dependent macro definitions needed for this inset
        docstring const langpreamble() const { return langpreamble_; }
@@ -88,6 +110,8 @@ public:
        /// this inset
        docstring const babelpreamble() const { return babelpreamble_; }
        ///
+       bool fixedwidthpreambleencoding() const { return fixedwidthpreambleencoding_; }
+       ///
        docstring counter() const { return counter_; }
        ///
        docstring refprefix() const { return refprefix_; }
@@ -98,7 +122,7 @@ public:
        std::string const & htmlattr() const;
        /// Tag for individual paragraphs in the inset. Default is none.
        std::string const & htmlinnertag() const { return htmlinnertag_; }
-       /// Attributes for that tag. Default (if a tag is provided) is: 
+       /// Attributes for that tag. Default (if a tag is provided) is:
        /// class="name_inner".
        std::string const & htmlinnerattr() const;
        /// A label for this environment, possibly including a reference
@@ -110,7 +134,7 @@ public:
        ///
        inline std::string htmllabeltag() const { return "span"; }
        ///
-       std::string htmllabelattr() const 
+       std::string htmllabelattr() const
                { return "class=\"" + defaultCSSClass() + "_label\""; }
        /// CSS associated with this inset.
        docstring htmlstyle() const;
@@ -134,16 +158,29 @@ public:
        ///
        bool isPassThru() const { return passthru_; }
        ///
+       docstring passThruChars() const { return passthru_chars_; }
+       ///
+       std::string newlineCmd() const { return newline_cmd_; }
+       ///
        bool parbreakIsNewline() const { return parbreakisnewline_; }
        ///
+       bool parbreakIgnored() const { return parbreakignored_; }
+       ///
        bool isNeedProtect() const { return needprotect_; }
        ///
+       bool needsCProtect() const { return needcprotect_; }
+       /// Protection of some elements such as \ref and \cite
+       /// in \mbox (needed by commands building on soul or ulem)
+       bool isNeedMBoxProtect() const { return needmboxprotect_; }
+       ///
        bool isFreeSpacing() const { return freespacing_; }
        ///
        bool isKeepEmpty() const { return keepempty_; }
        ///
        bool forceLTR() const { return forceltr_; }
        ///
+       bool forceOwnlines() const { return forceownlines_; }
+       ///
        bool isInToc() const { return intoc_; }
        ///
        bool spellcheck() const { return spellcheck_; }
@@ -151,13 +188,25 @@ public:
        bool resetsFont() const { return resetsfont_; }
        ///
        bool isDisplay() const { return display_; }
+       ///
+       bool forcelocalfontswitch() const { return forcelocalfontswitch_; }
+       ///
+       docstring const & obsoleted_by() const { return obsoleted_by_; }
+       ///
+       bool addToToc() const { return add_to_toc_; }
+       ///
+       std::string tocType() const { return toc_type_; }
+       ///
+       bool isTocCaption() const { return is_toc_caption_; }
+       ///
+       bool editExternally () const { return edit_external_; }
 private:
        ///
        void makeDefaultCSS() const;
        ///
        std::string defaultCSSClass() const;
        ///
-       std::string defaultCSSLabelClass() const { return defaultCSSClass() + "_label"; }
+       void readArgument(Lexer &);
        ///
        docstring name_;
        /**
@@ -169,6 +218,8 @@ private:
        ///
        docstring labelstring_;
        ///
+       docstring menustring_;
+       ///
        bool contentaslabel_;
        ///
        InsetDecoration decoration_;
@@ -179,6 +230,10 @@ private:
        ///
        std::string latexparam_;
        ///
+       docstring leftdelim_;
+       ///
+       docstring rightdelim_;
+       ///
        FontInfo font_;
        ///
        FontInfo labelfont_;
@@ -193,6 +248,8 @@ private:
        /// Language and babel dependent macro definitions needed for this inset
        docstring babelpreamble_;
        ///
+       bool fixedwidthpreambleencoding_;
+       ///
        docstring refprefix_;
        ///
        mutable std::string htmltag_;
@@ -221,22 +278,34 @@ private:
        std::set<std::string> requires_;
        ///
        bool multipar_;
-       /// 
+       ///
        bool custompars_;
        ///
        bool forceplain_;
        ///
        bool passthru_;
        ///
+       docstring passthru_chars_;
+       ///
+       std::string newline_cmd_;
+       ///
        bool parbreakisnewline_;
        ///
+       bool parbreakignored_;
+       ///
        bool freespacing_;
        ///
        bool keepempty_;
        ///
        bool forceltr_;
        ///
+       bool forceownlines_;
+       ///
        bool needprotect_;
+       ///
+       bool needcprotect_;
+       ///
+       bool needmboxprotect_;
        /// should the contents be written to TOC strings?
        bool intoc_;
        /// check spelling of this inset?
@@ -245,10 +314,30 @@ private:
        bool resetsfont_;
        ///
        bool display_;
+       ///
+       bool forcelocalfontswitch_;
+       /** Name of an insetlayout that has replaced this insetlayout.
+           This is used to rename an insetlayout, while keeping backward
+           compatibility
+       */
+       docstring obsoleted_by_;
+       ///
+       Layout::LaTeXArgMap latexargs_;
+       ///
+       Layout::LaTeXArgMap postcommandargs_;
+       ///
+       bool add_to_toc_;
+       ///
+       std::string toc_type_;
+       ///
+       bool is_toc_caption_;
+       ///
+       bool edit_external_;
 };
 
 ///
 InsetLayout::InsetLyXType translateLyXType(std::string const & str);
+InsetLayout::InsetDecoration translateDecoration(std::string const & str);
 
 } // namespace lyx