X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flayout.h;h=f29ebb2572af29ea635f69e9ea31c525f1da9386;hb=ba0820145782f4f6a31d9fe88c73e15d4a3e1fd6;hp=ad4c598b4c97960d9cc5426d70a0a1ae6f398db0;hpb=7c6267e4b10364cc892776e0a426eb32ade6b0b4;p=lyx.git diff --git a/src/layout.h b/src/layout.h index ad4c598b4c..f29ebb2572 100644 --- a/src/layout.h +++ b/src/layout.h @@ -5,13 +5,15 @@ * LyX, The Document Processor * * Copyright 1995 Matthias Ettrich - * Copyright 1995-1999 The LyX Team. + * Copyright 1995-2000 The LyX Team. * * ====================================================== */ #ifndef LAYOUT_H #define LAYOUT_H +#include + #ifdef __GNUG__ #pragma interface #endif @@ -20,9 +22,6 @@ #include "lyxfont.h" #include "Spacing.h" -#include -using std::vector; -using std::pair; /// Reads the style files extern void LyXSetStyle(); @@ -42,7 +41,7 @@ enum { // no good name for this /// The different output types enum OutputType { /// - LATEX, + LATEX = 1, /// LINUXDOC, /// @@ -54,7 +53,7 @@ enum OutputType { /// The different margin types enum LYX_MARGIN_TYPE { /// - MARGIN_MANUAL, + MARGIN_MANUAL = 1, /// MARGIN_FIRST_DYNAMIC, /// @@ -65,6 +64,7 @@ enum LYX_MARGIN_TYPE { MARGIN_RIGHT_ADDRESS_BOX }; + /// enum LyXAlignment { /// @@ -84,14 +84,15 @@ enum LyXAlignment { }; -inline void operator|=(LyXAlignment & la1, LyXAlignment la2) { +inline +void operator|=(LyXAlignment & la1, LyXAlignment la2) { la1 = static_cast(la1 | la2); } /// The different LaTeX-Types enum LYX_LATEX_TYPES { /// - LATEX_PARAGRAPH, + LATEX_PARAGRAPH = 1, /// LATEX_COMMAND, /// @@ -144,7 +145,19 @@ enum LYX_LABEL_TYPES { LABEL_FIRST_COUNTER = LABEL_COUNTER_CHAPTER }; - +enum LYX_END_LABEL_TYPES { + /// + END_LABEL_NO_LABEL, + /// + END_LABEL_BOX, + /// + END_LABEL_FILLED_BOX, + /// + END_LABEL_ENUM_FIRST = END_LABEL_NO_LABEL, + /// + END_LABEL_ENUM_LAST = END_LABEL_FILLED_BOX +}; + /* 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. @@ -179,6 +192,7 @@ public: void readAlign(LyXLex &); void readAlignPossible(LyXLex &); void readLabelType(LyXLex &); + void readEndLabelType(LyXLex &); void readMargin(LyXLex &); void readLatexType(LyXLex &); void readSpacing(LyXLex &); @@ -258,16 +272,19 @@ public: Spacing spacing; /// - LyXAlignment align; // add approp. signedness + LyXAlignment align; + + /// + LyXAlignment alignpossible; /// - LyXAlignment alignpossible; // add approp. signedness + char labeltype; // add approp. type /// - char labeltype; // add approp. signedness + char endlabeltype; /// - char margintype; // add approp. signedness + LYX_MARGIN_TYPE margintype; /// bool fill_top; @@ -337,17 +354,21 @@ private: class LyXTextClass { public: /// - typedef vector LayoutList; - + typedef std::vector LayoutList; + /// + typedef LayoutList::const_iterator const_iterator; /// + typedef LayoutList::size_type size_type; + /// + explicit LyXTextClass (string const & = string(), string const & = string(), string const & = string()); /// - LayoutList::const_iterator begin() const { return layoutlist.begin(); } + const_iterator begin() const { return layoutlist.begin(); } /// - LayoutList::const_iterator end() const { return layoutlist.end(); } + const_iterator end() const { return layoutlist.end(); } /// bool Read(string const & filename, bool merge = false); @@ -420,9 +441,9 @@ public: /// int maxcounter() const { return maxcounter_; } /// - LayoutList::size_type numLayouts() const { return layoutlist.size(); } + size_type numLayouts() const { return layoutlist.size(); } /// - LyXLayout const & operator[](LayoutList::size_type i) const { + LyXLayout const & operator[](size_type i) const { return layoutlist[i]; } private: @@ -481,63 +502,62 @@ private: /// -inline void operator|=(LyXTextClass::Provides & p1, LyXTextClass::Provides p2) +inline +void operator|=(LyXTextClass::Provides & p1, LyXTextClass::Provides p2) { p1 = static_cast(p1 | p2); } /// -inline ostream & operator<<(ostream & os, LyXTextClass::PageSides p) -{ - switch (p) { - case LyXTextClass::OneSide: - os << "1"; - break; - case LyXTextClass::TwoSides: - os << "2"; - break; - } - return os; -} +std::ostream & operator<<(std::ostream & os, LyXTextClass::PageSides p); /// class LyXTextClassList { public: /// - typedef vector ClassList; + typedef std::vector 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(ClassList::size_type textclass, - LyXTextClass::LayoutList::size_type layout) const; + LyXLayout const & Style(size_type textclass, + LyXTextClass::size_type layout) const; /// Gets layout number from textclass number and layout name - pair - NumberOfLayout(ClassList::size_type textclass, + std::pair + NumberOfLayout(size_type textclass, string const & name) const; /// Gets a layout name from layout number and textclass number string const & - NameOfLayout(ClassList::size_type textclass, - LyXTextClass::LayoutList::size_type layout) const; + NameOfLayout(size_type textclass, + LyXTextClass::size_type layout) const; /** Gets textclass number from name. Returns -1 if textclass name does not exist */ - pair + std::pair NumberOfClass(string const & textclass) const; /// - string const & NameOfClass(ClassList::size_type number) const; + string const & NameOfClass(size_type number) const; /// - string const & LatexnameOfClass(ClassList::size_type number) const; + string const & LatexnameOfClass(size_type number) const; /// - string const & DescOfClass(ClassList::size_type number) const; + string const & DescOfClass(size_type number) const; /// - LyXTextClass const & TextClass(ClassList::size_type textclass) const; + LyXTextClass const & TextClass(size_type textclass) const; /** Read textclass list. Returns false if this fails @@ -547,7 +567,7 @@ public: /** Load textclass. Returns false if this fails */ - bool Load(ClassList::size_type number) const; + bool Load(size_type number) const; private: /// mutable ClassList classlist;