// -*- C++ -*-
-/* This file is part of
- * ======================================================
+/**
+ * \file lyxlayout.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
- * LyX, The Document Processor
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
+ * \author André Pönitz
*
- * Copyright 1995 Matthias Ettrich
- * Copyright 1995-2001 The LyX Team.
- *
- * ====================================================== */
+ * Full author contact details are available in file CREDITS.
+ */
#ifndef LYX_LAYOUT_H
#define LYX_LAYOUT_H
#include "lyxfont.h"
#include "layout.h"
#include "Spacing.h"
-#include "LString.h"
+
+#include <string>
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);
+ ///
+ std::string const & obsoleted_by() const;
+ ///
+ std::string const & depends_on() const;
///
- void setName(string const & n);
+ std::string const & latexname() const { return latexname_; }
///
- string const & obsoleted_by() const;
+ std::string const & labelstring() const { return labelstring_; }
///
- string const & depends_on() const;
+ std::string const & endlabelstring() const { return endlabelstring_; }
///
- string const & latexname() const { return latexname_; }
+ std::string const & preamble() const { return preamble_; }
///
- string const & labelstring() const { return labelstring_; }
+ std::string const & latexparam() const { return latexparam_; }
///
- string const & endlabelstring() const { return endlabelstring_; }
+ std::string const & innertag() const { return innertag_; }
///
- string const & preamble() const { return preamble_; }
+ std::string const & labeltag() const { return labeltag_; }
///
- string const & latexparam() const { return latexparam_; }
+ std::string const & itemtag() const { return itemtag_; }
///
- string const & labelstring_appendix() const {
+ std::string 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;
-
- /** Text that dictates the width of the indentation of
- indented paragraphs.
- */
- string parindent;
-
+ std::string labelindent;
+ /// Text that dictates the width of the indentation of indented pars
+ 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;
-
///
LyXAlignment align;
-
///
LyXAlignment alignpossible;
-
///
- char labeltype; // add approp. type
-
+ LYX_LABEL_TYPES labeltype;
///
LYX_END_LABEL_TYPES endlabeltype;
-
///
LYX_MARGIN_TYPE margintype;
-
///
bool fill_top;
-
///
bool fill_bottom;
-
///
bool newline_allowed;
-
///
bool nextnoindent;
-
///
bool free_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
+ std::string latexheader;
+ /// for new environment insets
+ std::string latexfooter;
+ /// for new environment insets
+ 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
+ std::string 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_;
-
+ std::string labelstring_;
///
- string endlabelstring_;
-
+ std::string endlabelstring_;
/// Label string inside appendix. "Appendix", ...
- string labelstring_appendix_;
-
+ std::string 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_;
+ std::string preamble_;
};
#endif