]> git.lyx.org Git - lyx.git/blobdiff - src/layout.h
More ascii-export fixes and when making copy of single tabular cells now the
[lyx.git] / src / layout.h
index 7359b2d4a065c09e8f1144739180c78783894514..51f4af3bcb2b4a3f43c709eafcdcc53e4ea736f8 100644 (file)
@@ -5,7 +5,7 @@
  *           LyX, The Document Processor
  *      
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2000 The LyX Team.
+ *           Copyright 1995-2001 The LyX Team.
  *
  * ====================================================== */
 
 #pragma interface
 #endif
 
-#include "lyxlex.h"
 #include "lyxfont.h"
 #include "Spacing.h"
+#include "support/types.h"
 #include <boost/utility.hpp>
 
+class LyXLeX;
+
 /// Reads the style files
 extern void LyXSetStyle();
 
-///
-enum no_good_name_for_this {
-       ///
-        LYX_ENVIRONMENT_DEFAULT = 97,
+enum layout_default {
        ///
        LYX_LAYOUT_DEFAULT = 99
 };
 
-
 // Could this cause confusion that both DUMMY_LAYOUT and  LAYOUT_DEFAULT has
 // the same value? (Lgb)
 ///
@@ -43,8 +41,8 @@ enum no_good_name_for_this {
 
 /// The different output types
 enum OutputType {
-        ///
-        LATEX = 1,
+       ///
+       LATEX = 1,
        ///
        LINUXDOC,
        ///
@@ -53,6 +51,7 @@ enum OutputType {
        LITERATE
 };
 
+
 /// The different margin types
 enum LYX_MARGIN_TYPE {
        ///
@@ -83,7 +82,7 @@ enum LyXAlignment {
        ///
        LYX_ALIGN_LAYOUT = 16,
        ///
-        LYX_ALIGN_SPECIAL = 32
+       LYX_ALIGN_SPECIAL = 32
 };
 
 ///
@@ -92,6 +91,7 @@ void operator|=(LyXAlignment & la1, LyXAlignment la2) {
        la1 = static_cast<LyXAlignment>(la1 | la2);
 }
 
+
 /// The different LaTeX-Types
 enum LYX_LATEX_TYPES {
        ///
@@ -106,6 +106,7 @@ enum LYX_LATEX_TYPES {
        LATEX_LIST_ENVIRONMENT
 };
 
+
 /// The different label types
 enum LYX_LABEL_TYPES {
        ///
@@ -113,7 +114,7 @@ enum LYX_LABEL_TYPES {
        ///
        LABEL_MANUAL,
        ///
-        LABEL_BIBLIO,
+       LABEL_BIBLIO,
        ///
        LABEL_TOP_ENVIRONMENT,
        ///
@@ -146,6 +147,7 @@ enum LYX_LABEL_TYPES {
        LABEL_COUNTER_ENUMIV
 };
 
+
 ///
 enum LYX_END_LABEL_TYPES {
        ///
@@ -210,7 +212,7 @@ public:
        ///
        string const & name() const { return name_; }
        ///
-       void name(string const & n) { name_ = n; }
+       void setName(string const & n) { name_ = n; }
        ///
        string const & obsoleted_by() const { return obsoleted_by_; }
        ///
@@ -302,7 +304,7 @@ public:
        char labeltype; // add approp. type
 
        ///
-       char endlabeltype;
+       LYX_END_LABEL_TYPES endlabeltype;
 
        ///
        LYX_MARGIN_TYPE margintype;
@@ -321,6 +323,10 @@ public:
 
        ///
        bool free_spacing;
+
+       ///
+       bool pass_thru;
+
        /** true when the fragile commands in the paragraph need to be
            \protect'ed. */
        bool needprotect;
@@ -367,9 +373,9 @@ private:
        string labelstring_appendix_;
 
        /// LaTeX parameter for environment
-        string latexparam_;
+       string latexparam_;
 
-        /// Macro definitions needed for this layout
+       /// Macro definitions needed for this layout
        string preamble_;
 };
 
@@ -382,8 +388,6 @@ public:
        ///
        typedef LayoutList::const_iterator const_iterator;
        ///
-       typedef LayoutList::size_type size_type;
-       ///
        explicit
        LyXTextClass (string const & = string(), 
                      string const & = string(), 
@@ -461,8 +465,8 @@ public:
        ///
        int tocdepth() const { return tocdepth_; }
 
-        ///
-        OutputType outputType() const { return outputType_; }
+       ///
+       OutputType outputType() const { return outputType_; }
 
        ///
        LyXFont const & defaultfont() const { return defaultfont_; }
@@ -475,9 +479,9 @@ public:
         ///
        int maxcounter() const { return maxcounter_; }
        ///
-       size_type numLayouts() const { return layoutlist.size(); }
+       lyx::layout_type numLayouts() const { return layoutlist.size(); }
        ///
-       LyXLayout const & operator[](size_type i) const {
+       LyXLayout const & operator[](lyx::layout_type i) const {
                return layoutlist[i];
        }
 private:
@@ -492,9 +496,9 @@ private:
        ///
        string description_;
        /// Specific class options
-        string opt_fontsize_;
+       string opt_fontsize_;
        ///
-        string opt_pagestyle_;
+       string opt_pagestyle_;
        ///
        string options_;
        ///
@@ -511,8 +515,8 @@ private:
        int secnumdepth_;
        ///
        int tocdepth_;
-        ///
-        OutputType outputType_;
+       ///
+       OutputType outputType_;
        /** Base font. The paragraph and layout fonts are resolved against
            this font. This has to be fully instantiated. Attributes
            LyXFont::INHERIT, LyXFont::IGNORE, and LyXFont::TOGGLE are
@@ -524,7 +528,7 @@ private:
 
        /// Text that dictates how wide the right margin is on the screen
        string rightmargin_;
-        ///
+       ///
        int maxcounter_; // add approp. signedness
 
        ///
@@ -547,50 +551,46 @@ std::ostream & operator<<(std::ostream & os, LyXTextClass::PageSides p);
 
 
 ///
-class LyXTextClassList : public noncopyable {
+class LyXTextClassList : boost::noncopyable {
 public:
        ///
        typedef std::vector<LyXTextClass> ClassList;
        ///
        typedef ClassList::const_iterator const_iterator;
        ///
-       typedef ClassList::size_type size_type;
-       ///
        const_iterator begin() const { return classlist.begin(); }
        ///
        const_iterator end() const { return classlist.end(); }
        
        /// Gets layout structure from layout number and textclass number
-       LyXLayout const & Style(size_type textclass,
-                               LyXTextClass::size_type layout) const;
+       LyXLayout const & Style(lyx::textclass_type textclass,
+                               lyx::layout_type layout) const;
 
        /// Gets layout number from textclass number and layout name
-       std::pair<bool, LyXTextClass::size_type> const
-       NumberOfLayout(size_type textclass,
-                      string const & name) const;
+       std::pair<bool, lyx::layout_type> const
+       NumberOfLayout(lyx::textclass_type textclass, string const & name) const;
 
        /// Gets a layout name from layout number and textclass number
        string const &
-       NameOfLayout(size_type textclass,
-                    LyXTextClass::size_type layout) const;
+       NameOfLayout(lyx::textclass_type textclass, lyx::layout_type layout) const;
 
        /** Gets textclass number from name.
            Returns -1 if textclass name does not exist
        */
-       std::pair<bool, size_type> const
+       std::pair<bool, lyx::textclass_type> const
        NumberOfClass(string const & textclass) const;
 
        ///
-       string const & NameOfClass(size_type number) const;
+       string const & NameOfClass(lyx::textclass_type number) const;
 
        ///
-       string const & LatexnameOfClass(size_type number) const;
+       string const & LatexnameOfClass(lyx::textclass_type number) const;
 
        ///
-       string const & DescOfClass(size_type number) const;
+       string const & DescOfClass(lyx::textclass_type number) const;
 
        ///
-       LyXTextClass const & TextClass(size_type textclass) const;
+       LyXTextClass const & TextClass(lyx::textclass_type textclass) const;
 
        /** Read textclass list.
            Returns false if this fails
@@ -600,7 +600,7 @@ public:
        /** Load textclass.
            Returns false if this fails
        */
-       bool Load(size_type number) const;
+       bool Load(lyx::textclass_type number) const;
 private:
        ///
        mutable ClassList classlist;