]> git.lyx.org Git - lyx.git/blobdiff - src/lyxlayout.h
Alfredo's second patch
[lyx.git] / src / lyxlayout.h
index d0f79c7b96b12d76bc7a87032819407648219bba..079b79a85374fda99ad08ad6d449557fd9db3492 100644 (file)
@@ -1,9 +1,9 @@
 // -*- 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"
@@ -52,6 +48,8 @@ public:
        ///
        string const & obsoleted_by() const;
        ///
+       string const & depends_on() const;
+       ///
        string const & latexname() const { return latexname_; }
        ///
        string const & labelstring() const { return labelstring_; }
@@ -94,74 +92,54 @@ public:
 
        /// 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;
+       /// for new environment insets
+       string latexheader;
+       /// for new environment insets
+       string latexfooter;
 
        /** true when the fragile commands in the paragraph need to be
            \protect'ed. */
@@ -173,12 +151,13 @@ public:
                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);
        }
@@ -186,31 +165,35 @@ public:
        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_;
 };