]> git.lyx.org Git - lyx.git/blobdiff - src/lyxparagraph.h
white-space changes, removed definitions.h several enum changes because of this,...
[lyx.git] / src / lyxparagraph.h
index caa3540fdb8e344a31176937c23725a31eb15ad0..988b1c18b009922ae8008801f7758554216d63a8 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*-
 /* This file is part of
- * ======================================================
+ * ====================================================== 
  * 
  *           LyX, The Document Processor
  *      
 #pragma interface
 #endif
 
-#define NEW_TEXT 1
 //#define NEW_TABLE 1
 
 #ifdef NEW_TABLE
 #include <list>
 #endif
 
-#ifdef NEW_TEXT
 #include <vector>
-//#include <deque>
-//#define __STD_STUFF 1
-//#include <rope.h>
-#endif
 
-#include "definitions.h"
 #include "insets/lyxinset.h"
+#include "insets/insetbib.h"
 #include "table.h"
-#include "support/textutils.h"
 #include "vspace.h"
-#include "insets/insetbib.h"
 #include "layout.h"
 
 class BufferParams;
@@ -46,6 +38,52 @@ struct LaTeXFeatures;
 /// A LyXParagraph holds all text, attributes and insets in a text paragraph
 class LyXParagraph  {
 public:
+       ///
+       enum PEXTRA_TYPE {
+               ///
+               PEXTRA_NONE,
+               ///
+               PEXTRA_INDENT,
+               ///
+               PEXTRA_MINIPAGE,
+               ///
+               PEXTRA_FLOATFLT
+       };
+       ///
+       enum MINIPAGE_ALIGNMENT {
+               ///
+               MINIPAGE_ALIGN_TOP,
+               ///
+               MINIPAGE_ALIGN_MIDDLE,
+               ///
+               MINIPAGE_ALIGN_BOTTOM
+       };
+       ///
+       enum META_KIND {
+               ///
+               META_FOOTNOTE = 1,
+               ///
+               META_MARGIN,
+               ///
+               META_FIG,
+               ///
+               META_TAB,
+               ///
+               META_ALGORITHM,
+               ///
+               META_WIDE_FIG,
+               ///
+               META_WIDE_TAB,
+               ///
+               META_HFILL,
+               ///
+               META_NEWLINE,
+               ///
+               META_PROTECTED_SEPARATOR,
+               ///
+               META_INSET
+       };
+
        /// The footnoteflag
        enum footnote_flag {
                ///
@@ -96,18 +134,6 @@ public:
                id = id_arg;
        }
 
-#ifndef NEW_TEXT
-       /** allocates more memory for the specified paragraph
-         pos is needed to specify the paragraph correctly. Remember the
-         closed footnotes
-         */
-       void Enlarge(int pos, int number);
-       /** make the allocated memory fit to the needed size
-         used to make a paragraph smaller
-         */
-       void FitSize();
-#endif
-       
        ///
        void read();
        
@@ -142,7 +168,6 @@ public:
        }
 
 
-#ifdef NEW_TEXT
        ///
        typedef char value_type;
        ///
@@ -154,14 +179,6 @@ public:
        TextContainer text;
        ///
        size_type size() const { return text.size(); }
-#else
-       ///
-       int last;
-       ///
-       int size;
-       ///
-       char * text;
-#endif
        /// 
        VSpace added_space_top;
        
@@ -271,23 +288,18 @@ public:
         */ 
        LyXParagraph * NextAfterFootnote();
        ///
+       LyXParagraph * NextAfterFootnote() const;
+       ///
        LyXParagraph * PreviousBeforeFootnote();
        ///
        LyXParagraph * LastPhysicalPar();
        ///
        LyXParagraph * FirstPhysicalPar();
 
-#ifdef NEW_TEXT
        /// returns the physical paragraph
        LyXParagraph * ParFromPos(size_type pos);
        /// returns the position in the physical par
        int PositionInParFromPos(size_type pos);
-#else
-       /// returns the physical paragraph
-       LyXParagraph * ParFromPos(int pos);
-       /// returns the position in the physical par
-       int PositionInParFromPos(int pos);
-#endif
 
        /// for the environments
        LyXParagraph * DepthHook(int depth);
@@ -312,7 +324,6 @@ public:
        void SetOnlyLayout(LyXTextClass::LayoutList::size_type new_layout);
        ///
        int GetFirstCounter(int i);
-#ifdef NEW_TEXT
        ///
        size_type Last();
        ///
@@ -338,11 +349,14 @@ public:
        ///
        char GetChar(size_type pos);
        ///
+       char GetChar(size_type pos) const;
+       ///
        void SetFont(size_type pos, LyXFont const & font);
        ///
         string GetWord(size_type &);
        /// Returns the height of the highest font in range
-       LyXFont::FONT_SIZE HighestFontInRange(size_type startpos, size_type endpos) const;
+       LyXFont::FONT_SIZE HighestFontInRange(size_type startpos,
+                                             size_type endpos) const;
        ///
        void InsertChar(size_type pos, char c);
        ///
@@ -361,146 +375,26 @@ public:
        void CutIntoMinibuffer(size_type pos);
        ///
        void InsertFromMinibuffer(size_type pos);
+
        ///
-       bool IsHfill(size_type pos) {
-               return IsHfillChar(GetChar(pos));
-       }
-       
-       ///
-       bool IsInset(size_type pos) {
-               return IsInsetChar(GetChar(pos));
-       }
-       
-       ///
-       bool IsFloat(size_type pos) {
-               return IsFloatChar(GetChar(pos));
-       }
-       
-       ///
-       bool IsNewline(size_type pos) {
-               bool tmp = false;
-               if (pos >= 0)
-                       tmp= IsNewlineChar(GetChar(pos));
-               return tmp;
-       }
-       
-       ///
-       bool IsSeparator(size_type pos) {
-               return IsSeparatorChar(GetChar(pos));
-       }
-       
-       ///
-       bool IsLineSeparator(size_type pos) {
-               return IsLineSeparatorChar(GetChar(pos));
-       }
-       
-       ///
-       bool IsKomma(size_type pos){
-               return IsKommaChar(GetChar(pos));
-       }
-       
-       /// Used by the spellchecker
-       bool IsLetter(size_type pos);
-       
-       /// 
-       bool IsWord(size_type pos ) {
-         return IsWordChar( GetChar(pos) ) ;
-       }
-#else
-       ///
-       int Last();
-       ///
-       void Erase(int pos);
-       /** the flag determines wether the layout should be copied
-        */ 
-       void BreakParagraph(int pos, int flag);
-       ///
-       void BreakParagraphConservative(int pos);
-       /** Get unistantiated font setting. Returns the difference
-         between the characters font and the layoutfont.
-         This is what is stored in the fonttable
-        */
-       LyXFont GetFontSettings(int pos);
-       /** Get fully instantiated font. If pos == -1, use the layout
-         font attached to this paragraph.
-         If pos == -2, use the label font of the layout attached here.
-         In all cases, the font is instantiated, i.e. does not have any
-         attributes with values LyXFont::INHERIT, LyXFont::IGNORE or 
-         LyXFont::TOGGLE.
-         */
-       LyXFont getFont(int pos);
-       ///
-       char GetChar(int pos);
-       ///
-       void SetFont(int pos, LyXFont const & font);
-       ///
-        string GetWord(int &);
-       /// Returns the height of the highest font in range
-       LyXFont::FONT_SIZE HighestFontInRange(int startpos, int endpos) const;
-       ///
-       void InsertChar(int pos, char c);
-       ///
-       void InsertInset(int pos, Inset * inset);
-       ///
-       Inset * GetInset(int pos);
-       ///
-       Inset * ReturnNextInsetPointer(int & pos);
-       ///
-       void OpenFootnote(int pos);
-       ///
-       void CloseFootnote(int pos);
-       /// important for cut and paste
-       void CopyIntoMinibuffer(int pos);
-       ///
-       void CutIntoMinibuffer(int pos);
+       bool IsHfill(size_type pos) const;
        ///
-       void InsertFromMinibuffer(int pos);
+       bool IsInset(size_type pos) const;
        ///
-       bool IsHfill(int pos) {
-               return IsHfillChar(GetChar(pos));
-       }
-       
+       bool IsFloat(size_type pos) const;
        ///
-       bool IsInset(int pos) {
-               return IsInsetChar(GetChar(pos));
-       }
-       
+       bool IsNewline(size_type pos) const;
        ///
-       bool IsFloat(int pos) {
-               return IsFloatChar(GetChar(pos));
-       }
-       
+       bool IsSeparator(size_type pos) const;
        ///
-       bool IsNewline(int pos) {
-               bool tmp = false;
-               if (pos >= 0)
-                       tmp= IsNewlineChar(GetChar(pos));
-               return tmp;
-       }
-       
+       bool IsLineSeparator(size_type pos) const;
        ///
-       bool IsSeparator(int pos) {
-               return IsSeparatorChar(GetChar(pos));
-       }
-       
-       ///
-       bool IsLineSeparator(int pos) {
-               return IsLineSeparatorChar(GetChar(pos));
-       }
-       
-       ///
-       bool IsKomma(int pos){
-               return IsKommaChar(GetChar(pos));
-       }
-       
+       bool IsKomma(size_type pos) const;
        /// Used by the spellchecker
-       bool IsLetter(int pos);
-       
+       bool IsLetter(size_type pos) const;
        /// 
-       bool IsWord( int pos ) {
-         return IsWordChar( GetChar(pos) ) ;
-       }
-#endif
+       bool IsWord(size_type pos) const;
+
        /** This one resets all layout and dtp switches but not the font
         of the single characters
         */ 
@@ -557,7 +451,6 @@ public:
         void SetPExtraType(int type, char const * width, char const * widthp);
        ///
         void UnsetPExtraType();
-#ifdef NEW_TEXT
        ///
        bool RoffContTableRows(FILE * file, size_type i,
                               int actcell);
@@ -565,13 +458,6 @@ public:
        void DocBookContTableRows(string & file, string & extra, int & desc_on,
                                  size_type i,
                                  int current_cell_number, int & column);
-#else
-       ///
-       bool RoffContTableRows(FILE * file, int i, int actcell);
-       ///
-       void DocBookContTableRows(string & file, string & extra, int & desc_on,
-                                 int i, int current_cell_number, int & column);
-#endif
        ///
        bool linuxDocConvertChar(char c, string & sgml_string);
        ///
@@ -585,17 +471,10 @@ private:
          is limited. (Asger)
        */
        struct FontTable  {
-#ifdef NEW_TEXT
                /// Start position of paragraph this font attribute covers
                size_type pos;
                /// Ending position of paragraph this font attribute covers
                size_type pos_end;
-#else
-               /// Start position of paragraph this font attribute covers
-               int pos;
-               /// Ending position of paragraph this font attribute covers
-               int pos_end;
-#endif
                /** Font. Interpretation of the font values:
                If a value is LyXFont::INHERIT_*, it means that the font 
                attribute is inherited from either the layout of this
@@ -613,13 +492,8 @@ private:
        };
        ///
        struct InsetTable {
-#ifdef NEW_TEXT
                ///
                size_type pos;
-#else
-               ///
-               int pos;
-#endif
                ///
                Inset * inset;
 #ifndef NEW_TABLE
@@ -654,7 +528,6 @@ private:
        bool SimpleTeXOnePar(string & file, TexRow & texrow);
        ///
        bool SimpleTeXOneTablePar(string & file, TexRow & texrow);
-#ifdef NEW_TEXT
        ///
        bool TeXContTableRows(string & file, size_type i,
                              int current_cell_number,
@@ -671,25 +544,9 @@ private:
                                   LyXLayout const & style,
                                   size_type & i,
                                   int & column, char const c);
-#else
-       ///
-       bool TeXContTableRows(string & file, int i, int current_cell_number,
-                              int & column, TexRow & texrow);
-       ///
-       void SimpleTeXBlanks(string & file, TexRow & texrow,
-                            int const i, int & column, LyXFont const & font,
-                            LyXLayout const & style);
-       ///
-       void SimpleTeXSpecialChars(string & file, TexRow & texrow,
-                                  LyXFont & font, LyXFont & running_font,
-                                  LyXFont & basefont, bool & open_font,
-                                  LyXLayout const & style,
-                                  int & i, int & column, char const c);
-#endif
        ///
        int id;
        ///
        static unsigned int paragraph_id;
 };
-
 #endif