#include "ColorCode.h"
#include "FontInfo.h"
+#include "Layout.h"
#include "support/docstring.h"
NOLYXTYPE,
CHARSTYLE,
CUSTOM,
- ELEMENT,
END,
STANDARD
};
ILT_ERROR
};
///
- bool read(Lexer & lexrc, TextClass const & tclass);
+ bool read(Lexer & lexrc, TextClass const & tclass,
+ bool validating = false);
///
docstring name() const { return name_; }
///
///
docstring labelstring() const { return labelstring_; }
///
+ docstring menustring() const { return menustring_; }
+ ///
bool contentaslabel() const { return contentaslabel_; }
///
InsetDecoration decoration() const { return decoration_; }
///
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_; }
+ ///
+ bool fixedwidthpreambleencoding() const { return fixedwidthpreambleencoding_; }
///
docstring counter() const { return counter_; }
///
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
///
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;
/// Defaults to true.
bool htmlisblock() const { return htmlisblock_; }
///
- std::set<std::string> requires() const { return requires_; }
+ std::string docbooktag() const { return docbooktag_; }
+ ///
+ std::string docbookattr() const { return docbookattr_; }
+ ///
+ std::set<std::string> required() const { return required_; }
///
bool isMultiPar() const { return multipar_; }
///
///
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_; }
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_;
/**
* 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), 'element' (docbook), 'standard'.
+ * footnote), 'standard'.
*/
InsetLyXType lyxtype_;
///
docstring labelstring_;
///
+ docstring menustring_;
+ ///
bool contentaslabel_;
///
InsetDecoration decoration_;
///
std::string latexparam_;
///
+ docstring leftdelim_;
+ ///
+ docstring rightdelim_;
+ ///
FontInfo font_;
///
FontInfo labelfont_;
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_;
+ ///
+ bool fixedwidthpreambleencoding_;
///
docstring refprefix_;
///
///
bool htmlisblock_;
///
- std::set<std::string> requires_;
+ std::string docbooktag_;
+ ///
+ std::string docbookattr_;
+ ///
+ std::set<std::string> required_;
///
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?
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