]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetLayout.h
Let the Foot inset have a different Layout when inside a title
[lyx.git] / src / insets / InsetLayout.h
index 5b88cb89836187b7552f0ea5d965ff77bf1672bb..9398e915822fc35b09f98dfb766e9a58cb228e7a 100644 (file)
@@ -15,6 +15,7 @@
 
 #include "ColorCode.h"
 #include "FontInfo.h"
+#include "Layout.h"
 
 #include "support/docstring.h"
 
@@ -75,13 +76,37 @@ 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_; }
+       /// Get language and babel dependent macro definitions needed for
+       /// this inset
+       docstring const babelpreamble() const { return babelpreamble_; }
        ///
        docstring counter() const { return counter_; }
        ///
@@ -146,13 +171,15 @@ public:
        bool resetsFont() const { return resetsfont_; }
        ///
        bool isDisplay() const { return display_; }
+       ///
+       bool forcelocalfontswitch() const { return forcelocalfontswitch_; }
 private:
        ///
        void makeDefaultCSS() const;
        ///
        std::string defaultCSSClass() const;
        ///
-       std::string defaultCSSLabelClass() const { return defaultCSSClass() + "_label"; }
+       void readArgument(Lexer &);
        ///
        docstring name_;
        /**
@@ -174,6 +201,10 @@ private:
        ///
        std::string latexparam_;
        ///
+       docstring leftdelim_;
+       ///
+       docstring rightdelim_;
+       ///
        FontInfo font_;
        ///
        FontInfo labelfont_;
@@ -183,6 +214,10 @@ private:
        docstring counter_;
        ///
        docstring preamble_;
+       /// Language dependent macro definitions needed for this inset
+       docstring langpreamble_;
+       /// Language and babel dependent macro definitions needed for this inset
+       docstring babelpreamble_;
        ///
        docstring refprefix_;
        ///
@@ -236,10 +271,17 @@ private:
        bool resetsfont_;
        ///
        bool display_;
+       ///
+       bool forcelocalfontswitch_;
+       ///
+       Layout::LaTeXArgMap latexargs_;
+       ///
+       Layout::LaTeXArgMap postcommandargs_;
 };
 
 ///
 InsetLayout::InsetLyXType translateLyXType(std::string const & str);
+InsetLayout::InsetDecoration translateDecoration(std::string const & str);
 
 } // namespace lyx