// -*- C++ -*-
/* This file is part of
* ======================================================
- *
+ *
* LyX, The Document Processor
- *
+ *
* Copyright 1995 Matthias Ettrich
* Copyright 1995-2001 The LyX Team.
*
#ifndef LYX_LAYOUT_H
#define LYX_LAYOUT_H
-#ifdef __GNUG__
-#pragma interface
-#endif
-
#include "lyxfont.h"
#include "layout.h"
#include "Spacing.h"
///
string const & obsoleted_by() const;
///
+ string const & depends_on() const;
+ ///
string const & latexname() const { return latexname_; }
///
string const & labelstring() const { return labelstring_; }
/// Text that dictates how wide the left margin is on the screen
string leftmargin;
-
/// Text that dictates how wide the right margin is on the screen
string rightmargin;
-
/// Text that dictates how much space to leave after a potential label
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.
- */
+ /// Text that dictates the width of the indentation of indented pars
string parindent;
-
///
float parskip;
-
///
float itemsep;
-
///
float topsep;
-
///
float bottomsep;
-
///
float labelbottomsep;
-
///
float parsep;
-
///
Spacing spacing;
-
///
LyXAlignment align;
-
///
LyXAlignment alignpossible;
-
///
char labeltype; // add approp. type
-
///
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;
+ /// for new environment insets
+ string latexheader;
+ /// for new environment insets
+ string latexfooter;
+ /// for new environment insets
+ string latexparagraph;
/** true when the fragile commands in the paragraph need to be
\protect'ed. */
return latextype == LATEX_PARAGRAPH;
}
///
- bool isCommand() const {
+ bool isCommand() const {
return latextype == LATEX_COMMAND;
}
///
bool isEnvironment() const {
return (latextype == LATEX_ENVIRONMENT
+ || latextype == LATEX_BIB_ENVIRONMENT
|| latextype == LATEX_ITEM_ENVIRONMENT
|| latextype == LATEX_LIST_ENVIRONMENT);
}
LYX_LATEX_TYPES latextype;
/// Does this object belong in the title part of the document?
bool intitle;
+ /// Does this layout allow for an optional parameter?
+ int optionalargs;
+
private:
/// Name of the layout/paragraph environment
string name_;
/** Name of an layout that has replaced this layout.
This is used to rename a layout, while keeping backward
- compatibility
+ compatibility
*/
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_;
+
/// LaTeX name for environment
string latexname_;
-
/// Label string. "Abstract", "Reference", "Caption"...
string labelstring_;
-
///
string endlabelstring_;
-
/// Label string inside appendix. "Appendix", ...
string labelstring_appendix_;
-
/// LaTeX parameter for environment
string latexparam_;
-
/// Macro definitions needed for this layout
string preamble_;
};