- LABEL_COUNTER_CHAPTER,
- ///
- LABEL_COUNTER_SECTION,
- ///
- LABEL_COUNTER_SUBSECTION,
- ///
- LABEL_COUNTER_SUBSUBSECTION,
- ///
- LABEL_COUNTER_PARAGRAPH,
- ///
- LABEL_COUNTER_SUBPARAGRAPH,
- ///
- LABEL_COUNTER_ENUMI,
- ///
- LABEL_COUNTER_ENUMII,
- ///
- LABEL_COUNTER_ENUMIII,
- ///
- LABEL_COUNTER_ENUMIV,
- ///
- LABEL_FIRST_COUNTER = LABEL_COUNTER_CHAPTER
-};
-
-
-/* Fix labels are printed flushright, manual labels flushleft.
-* MARGIN_MANUAL and MARGIN_FIRST_DYNAMIC are *only* for LABEL_MANUAL,
-* MARGIN_DYNAMIC and MARGIN_STATIC are *not* for LABEL_MANUAL.
-* This seems a funny restriction, but I think other combinations are
-* not needed, so I will not change it yet.
-* Correction: MARGIN_FIRST_DYNAMIC also usable with LABEL_STATIC */
-
-
-/* There is a parindent and a parskip. Which one is used depends on the
-* paragraph_separation-flag of the text-object.
-* BUT: parindent is only thrown away, if a parskip is defined! So if you
-* want a space between the paragraphs and a parindent at the same time,
-* you should set parskip to zero and use topsep, parsep and bottomsep.
-*
-* The standard layout is an exception: its parindent is only set, if the
-* previous paragraph is standard too. Well, this is LateX and it is good! */
-
-
-/// Attributes of a layout/paragraph environment
-class LyXLayoutList;
-///
-class LyXLayout {
-public:
- ///
- LyXLayout ();
-
- ///
- ~LyXLayout ();
-
- ///
- void Copy (LyXLayout const &l);
-
- ///
- bool Read (LyXLex&, LyXLayoutList *);
-
- /// Name of the layout/paragraph environment
- LString name;
-
- /// Name of an layout that has replaced this layout.
- /** This is used to rename a layout, while keeping backward
- compatibility
- */
- LString obsoleted_by;
-
- /// Default font for this layout/environment
- /** The main font for this kind of environment. If an attribute has
- LyXFont::INHERITED_*, it means that the value is specified by
- the defaultfont for the entire layout. If we are nested, the font
- is inherited from the font in the environment one level up until the
- font is resolved. The values LyXFont::IGNORE_* and LyXFont::TOGGLE
- are illegal here.
- */
- LyXFont font;
-
- /// Default font for labels
- /** Interpretation the same as for font above */
- LyXFont labelfont;
-
- /// Resolved version of the font for this layout/environment
- /** This is a resolved version the default font. The font is resolved
- against the defaultfont of the entire layout. */
- LyXFont resfont;
-
- /// Resolved version of the font used for labels
- /** This is a resolved version the label font. The font is resolved
- against the defaultfont of the entire layout. */
- LyXFont reslabelfont;
-
- /// Text that dictates how wide the left margin is on the screen
- LString leftmargin;
-
- /// Text that dictates how wide the right margin is on the screen
- LString rightmargin;
-
- /// Text that dictates how much space to leave after a potential label
- LString labelsep;
-
- /// Text that dictates how much space to leave before a potential label
- LString labelindent;
-
- /// Text that dictates the width of the indentation of indented paragraphs
- LString parindent;
-
- /// Label string. "Abstract", "Reference", "Caption"...
- LString labelstring;
-
- /// Label string inside appendix. "Appendix", ...
- LString labelstring_appendix;
-
- /// LaTeX name for environment
- LString latexname;
-
- /// LaTeX parameter for environment
- LString latexparam; //arrae970411
-
- /// Macro definitions needed for this layout
- LString preamble;
-
- ///
- float parskip;
-
- ///
- float itemsep;
-
- ///
- float topsep;
-
- ///
- float bottomsep;
-
- ///
- float labelbottomsep;
-
- ///
- float parsep;
-
- ///
- Spacing spacing;
-
- ///
- char align; // add approp. signedness
-
- ///
- char alignpossible; // add approp. signedness
-
- ///
- char labeltype; // add approp. signedness
-
- ///
- char margintype; // add approp. signedness
-
- ///
- bool fill_top;
-
- ///
- bool fill_bottom;
-
- ///
- bool newline_allowed;
-
- ///
- bool nextnoindent;
-
- ///
- bool free_spacing;
- /// true when the fragile commands in the paragraph need to be
- /// \protect'ed.
- bool needprotect;
- /// true when empty paragraphs should be kept.
- bool keepempty;
- ///
- bool isParagraph() const {
- return latextype == LATEX_PARAGRAPH;
- }
- ///
- bool isCommand() const {
- return latextype == LATEX_COMMAND;
- }
- ///
- bool isEnvironment() const {
- return (latextype == LATEX_ENVIRONMENT
- || latextype == LATEX_ITEM_ENVIRONMENT
- || latextype == LATEX_LIST_ENVIRONMENT);
- }
- /// Type of LaTeX object
- LYX_LATEX_TYPES latextype;
- /// Does this object belong in the title part of the document?
- bool intitle;
-};
-
-
-///
-class LyXLayoutList {
-public:
- ///
- LyXLayoutList();
- ///
- ~LyXLayoutList();
- ///
- void Add (LyXLayout *l);
- ///
- bool Delete (LString const &name);
- ///
- LyXLayout *GetLayout (LString const &name);
- ///
- LyXLayout *ToAr();
- ///
- int GetNum();