#include "lyxfont.h"
#include "layout.h"
#include "Spacing.h"
-#include "LString.h"
+#include "support/docstring.h"
+
+#include <string>
+
+
+namespace lyx {
class LyXLex;
class LyXTextClass;
///
LyXLayout();
///
- bool Read(LyXLex &, LyXTextClass const &);
+ bool read(LyXLex &, LyXTextClass const &);
///
void readAlign(LyXLex &);
///
///
void readSpacing(LyXLex &);
///
- string const & name() const;
+ std::string const & name() const;
+ ///
+ void setName(std::string const & n);
///
- void setName(string const & n);
+ std::string const & obsoleted_by() const;
///
- string const & obsoleted_by() const;
+ std::string const & depends_on() const;
///
- string const & depends_on() const;
+ std::string const & latexname() const { return latexname_; }
///
- string const & latexname() const { return latexname_; }
+ lyx::docstring const & labelstring() const { return labelstring_; }
///
- string const & labelstring() const { return labelstring_; }
+ lyx::docstring const & endlabelstring() const { return endlabelstring_; }
///
- string const & endlabelstring() const { return endlabelstring_; }
+ docstring const & preamble() const { return preamble_; }
///
- string const & preamble() const { return preamble_; }
+ std::string const & latexparam() const { return latexparam_; }
///
- string const & latexparam() const { return latexparam_; }
+ std::string const & innertag() const { return innertag_; }
///
- string const & labelstring_appendix() const {
+ std::string const & labeltag() const { return labeltag_; }
+ ///
+ std::string const & itemtag() const { return itemtag_; }
+ ///
+ lyx::docstring const & labelstring_appendix() const {
return labelstring_appendix_;
}
/** Default font for this layout/environment.
LyXFont reslabelfont;
/// Text that dictates how wide the left margin is on the screen
- string leftmargin;
+ std::string leftmargin;
/// Text that dictates how wide the right margin is on the screen
- string rightmargin;
+ std::string rightmargin;
/// Text that dictates how much space to leave after a potential label
- string labelsep;
+ std::string labelsep;
/// Text that dictates how much space to leave before a potential label
- string labelindent;
+ std::string labelindent;
/// Text that dictates the width of the indentation of indented pars
- string parindent;
+ std::string parindent;
///
- float parskip;
+ double parskip;
///
- float itemsep;
+ double itemsep;
///
- float topsep;
+ double topsep;
///
- float bottomsep;
+ double bottomsep;
///
- float labelbottomsep;
+ double labelbottomsep;
///
- float parsep;
+ double parsep;
///
Spacing spacing;
///
bool pass_thru;
///
bool is_environment;
+ /// show this in toc
+ int toclevel;
+ /// special value of toclevel for non-section layouts
+ static const int NOT_IN_TOC;
/// for new environment insets
- string latexheader;
+ std::string latexheader;
/// for new environment insets
- string latexfooter;
+ std::string latexfooter;
/// for new environment insets
- string latexparagraph;
+ std::string latexparagraph;
/** true when the fragile commands in the paragraph need to be
\protect'ed. */
bool intitle;
/// Does this layout allow for an optional parameter?
int optionalargs;
+ /// Which counter to step
+ lyx::docstring counter;
+ /// Depth of XML command
+ int commanddepth;
private:
/// Name of the layout/paragraph environment
- string name_;
+ std::string name_;
/** Name of an layout that has replaced this layout.
This is used to rename a layout, while keeping backward
compatibility
*/
- string obsoleted_by_;
+ std::string obsoleted_by_;
/** Name of an layout which preamble must come before this one
This is used when the preamble snippet uses macros defined in
another preamble
*/
- string depends_on_;
+ std::string depends_on_;
/// LaTeX name for environment
- string latexname_;
+ std::string latexname_;
/// Label string. "Abstract", "Reference", "Caption"...
- string labelstring_;
+ lyx::docstring labelstring_;
///
- string endlabelstring_;
+ lyx::docstring endlabelstring_;
/// Label string inside appendix. "Appendix", ...
- string labelstring_appendix_;
+ lyx::docstring labelstring_appendix_;
/// LaTeX parameter for environment
- string latexparam_;
+ std::string latexparam_;
+ /// Internal tag to use (e.g., <title></title> for sect header)
+ std::string innertag_;
+ /// Internal tag to use e.g. to surround varlistentry label)
+ std::string labeltag_;
+ /// Internal tag to surround the item text in a list)
+ std::string itemtag_;
/// Macro definitions needed for this layout
- string preamble_;
+ docstring preamble_;
};
+
+} // namespace lyx
+
#endif