#include "ColorCode.h"
#include "FontInfo.h"
+#include "Layout.h"
#include "support/docstring.h"
-#include "support/debug.h"
#include <set>
#include <string>
///
docstring labelstring() const { return labelstring_; }
///
+ bool contentaslabel() const { return contentaslabel_; }
+ ///
InsetDecoration decoration() const { return decoration_; }
///
InsetLaTeXType latextype() const { return latextype_; }
///
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_; }
///
- std::string const & htmltag() const { return htmltag_; }
- ///
+ docstring refprefix() const { return refprefix_; }
+ /// The tag enclosing all the material in this inset. Default is "span".
+ std::string const & htmltag() const;
+ /// Additional attributes for inclusion with the start tag. Default (if
+ /// a tag is provided) is: class="name".
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:
+ /// class="name_inner".
std::string const & htmlinnerattr() const;
- ///
+ /// A label for this environment, possibly including a reference
+ /// to a counter. E.g., for footnote, it might be:
+ /// \arabic{footnote}
+ /// No default.
+ /// FIXME Could we get this from the layout?
std::string const & htmllabel() const { return htmllabel_; }
///
inline std::string htmllabeltag() const { return "span"; }
///
std::string htmllabelattr() const
{ return "class=\"" + defaultCSSClass() + "_label\""; }
- ///
+ /// CSS associated with this inset.
docstring htmlstyle() const;
- ///
+ /// Additional material for the header.
docstring htmlpreamble() const { return htmlpreamble_; }
- ///
+ /// Whether this inset represents a "block" of material, i.e., a set
+ /// of paragraphs of its own (true), or should be run into the previous
+ /// paragraph (false). Examples:
+ /// For branches, this is false.
+ /// For footnotes, this is true.
+ /// Defaults to true.
bool htmlisblock() const { return htmlisblock_; }
///
- std::set<std::string> requires() const { return requires_; };
+ std::set<std::string> requires() const { return requires_; }
///
- bool isMultiPar() const { return multipar_; };
+ bool isMultiPar() const { return multipar_; }
///
bool forcePlainLayout() const { return forceplain_; }
///
bool allowParagraphCustomization() const { return custompars_; }
///
- bool isPassThru() const { return passthru_; };
+ bool isPassThru() const { return passthru_; }
+ ///
+ bool parbreakIsNewline() const { return parbreakisnewline_; }
+ ///
+ bool isNeedProtect() const { return needprotect_; }
///
- bool isNeedProtect() const { return needprotect_; };
+ bool isFreeSpacing() const { return freespacing_; }
///
- bool isFreeSpacing() const { return freespacing_; };
+ bool isKeepEmpty() const { return keepempty_; }
///
- bool isKeepEmpty() const { return keepempty_; };
+ bool forceLTR() const { return forceltr_; }
///
- bool forceLTR() const { return forceltr_; };
+ bool isInToc() const { return intoc_; }
///
- bool isInToc() const { return intoc_; };
+ bool spellcheck() const { return spellcheck_; }
///
+ 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_;
/**
///
docstring labelstring_;
///
+ bool contentaslabel_;
+ ///
InsetDecoration decoration_;
///
InsetLaTeXType latextype_;
///
std::string latexparam_;
///
+ docstring leftdelim_;
+ ///
+ docstring rightdelim_;
+ ///
FontInfo font_;
///
FontInfo labelfont_;
docstring counter_;
///
docstring preamble_;
- /// The tag enclosing all the material in this inset. Default is none.
- std::string htmltag_;
- /// Additional attributes for inclusion with the start tag. Default (if
- /// a tag is provided) is: class="name".
+ /// Language dependent macro definitions needed for this inset
+ docstring langpreamble_;
+ /// Language and babel dependent macro definitions needed for this inset
+ docstring babelpreamble_;
+ ///
+ docstring refprefix_;
+ ///
+ mutable std::string htmltag_;
+ ///
mutable std::string htmlattr_;
- /// Tag for individual paragraphs in the inset. Default is none.
+ ///
std::string htmlinnertag_;
- /// Attributes for that tag. Default (if a tag is provided) is:
- /// class="name_inner".
+ ///
mutable std::string htmlinnerattr_;
- /// A label for this environment, possibly including a reference
- /// to a counter. E.g., for footnote, it might be:
- /// <span class='notenum'>\arabic{footnote}</span>
- /// No default.
- /// FIXME Could we get this from the layout?
+ ///
std::string htmllabel_;
- /// CSS associated with this inset.
+ ///
docstring htmlstyle_;
/// Cache for default CSS info for this inset.
mutable docstring htmldefaultstyle_;
- ///
+ /// Cache for default CSS class.
mutable std::string defaultcssclass_;
/// Whether to force generation of default CSS even if some is given.
/// False by default.
bool htmlforcecss_;
- /// Additional material for the header.
+ ///
docstring htmlpreamble_;
- /// Whether this inset represents a "block" of material, i.e., a set
- /// of paragraphs of its own (true), or should be run into the previous
- /// paragraph (false). Examples:
- /// For branches, this is false.
- /// For footnotes, this is true.
- /// Defaults to true.
+ ///
bool htmlisblock_;
///
std::set<std::string> requires_;
///
bool passthru_;
///
- bool needprotect_;
+ bool parbreakisnewline_;
///
bool freespacing_;
///
bool keepempty_;
///
bool forceltr_;
+ ///
+ bool needprotect_;
/// should the contents be written to TOC strings?
bool intoc_;
+ /// check spelling of this inset?
+ bool spellcheck_;
+ ///
+ 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