#include "ColorCode.h"
#include "FontInfo.h"
-#include "Lexer.h"
#include "support/docstring.h"
namespace lyx {
+class Lexer;
+class TextClass;
+
///
class InsetLayout {
public:
///
InsetLayout();
///
- bool read(Lexer & lexrc);
+ enum InsetDecoration {
+ CLASSIC,
+ MINIMALISTIC,
+ CONGLOMERATE,
+ DEFAULT
+ };
+ enum InsetLyXType {
+ NOLYXTYPE,
+ CHARSTYLE,
+ CUSTOM,
+ ELEMENT,
+ END,
+ STANDARD
+ };
+ enum InsetLaTeXType {
+ NOLATEXTYPE,
+ COMMAND,
+ ENVIRONMENT,
+ ILT_ERROR
+ };
+ ///
+ bool read(Lexer & lexrc, TextClass const & tclass);
+ ///
+ docstring name() const { return name_; }
+ ///
+ void setName(docstring const & n) { name_ = n; }
///
- docstring name() const { return name_; };
+ InsetLyXType lyxtype() const { return lyxtype_; }
///
- std::string lyxtype() const { return lyxtype_; };
+ docstring labelstring() const { return labelstring_; }
///
- docstring labelstring() const { return labelstring_; };
+ InsetDecoration decoration() const { return decoration_; }
///
- //FIXME This could be an enum
- std::string decoration() const { return decoration_; };
+ InsetLaTeXType latextype() const { return latextype_; }
///
- std::string latextype() const { return latextype_; };
+ std::string latexname() const { return latexname_; }
///
- std::string latexname() const { return latexname_; };
+ std::string latexparam() const { return latexparam_; }
///
- std::string latexparam() const { return latexparam_; };
+ FontInfo font() const { return font_; }
///
- FontInfo font() const { return font_; };
+ FontInfo labelfont() const { return labelfont_; }
///
- FontInfo labelfont() const { return labelfont_; };
+ ColorCode bgcolor() const { return bgcolor_; }
///
- ColorCode bgcolor() const { return bgcolor_; };
+ docstring preamble() const { return preamble_; }
///
- std::string preamble() const { return preamble_; };
+ docstring counter() const { return counter_; }
+ ///
+ std::string const & htmlinnertag() const { return htmlinnertag_; }
+ ///
+ std::string const & htmlinnerattr() const { return htmlinnerattr_; }
+ ///
+ std::string const & htmltag() const { return htmltag_; }
+ ///
+ std::string const & htmlattr() const { return htmlattr_; }
+ ///
+ std::string const & htmllabel() const { return htmllabel_; }
+ ///
+ docstring htmlstyle() const { return htmlstyle_; }
+ ///
+ docstring htmlpreamble() const { return htmlpreamble_; }
///
std::set<std::string> requires() const { return requires_; };
///
bool isMultiPar() const { return multipar_; };
///
+ bool forcePlainLayout() const { return forceplain_; }
+ ///
+ bool allowParagraphCustomization() const { return custompars_; }
+ ///
bool isPassThru() const { return passthru_; };
///
bool isNeedProtect() const { return needprotect_; };
bool isKeepEmpty() const { return keepempty_; };
///
bool isForceLtr() const { return forceltr_; };
+ ///
+ bool isInToc() const { return intoc_; };
private:
///
docstring name_;
- ///
- std::string lyxtype_;
+ /**
+ * 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'.
+ */
+ InsetLyXType lyxtype_;
///
docstring labelstring_;
///
- std::string decoration_;
+ InsetDecoration decoration_;
///
- std::string latextype_;
+ InsetLaTeXType latextype_;
///
std::string latexname_;
///
///
ColorCode bgcolor_;
///
- std::string preamble_;
+ docstring counter_;
+ ///
+ docstring preamble_;
+ ///
+ std::string htmltag_;
+ ///
+ std::string htmlattr_;
+ ///
+ std::string htmlinnertag_;
+ ///
+ std::string htmlinnerattr_;
+ ///
+ std::string htmllabel_;
+ ///
+ docstring htmlstyle_;
+ ///
+ docstring htmlpreamble_;
///
std::set<std::string> requires_;
///
bool multipar_;
+ ///
+ bool custompars_;
+ ///
+ bool forceplain_;
///
bool passthru_;
///
bool keepempty_;
///
bool forceltr_;
+ /// should the contents be written to TOC strings?
+ bool intoc_;
};
+///
+InsetLayout::InsetLyXType translateLyXType(std::string const & str);
+
} // namespace lyx
#endif