]> git.lyx.org Git - lyx.git/blobdiff - src/lyxtext.h
fix compilation bug
[lyx.git] / src / lyxtext.h
index e3da0556bc501a4fe67d7a720636ee653c4032b5..ff3a73257b4070f7ef0464195f5e0370786bbb8a 100644 (file)
 #ifndef LYXTEXT_H
 #define LYXTEXT_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
-
 #include "lyxfont.h"
 #include "lyxcursor.h"
 #include "layout.h"
@@ -86,8 +82,6 @@ public:
        // unsigned is wrong here for text-insets!
        int first_y;
        ///
-       BufferView * bv_owner;
-       ///
        InsetText * inset_owner;
        ///
        UpdatableInset * the_locking_inset;
@@ -186,6 +180,9 @@ public:
        Inset::RESULT dispatch(FuncRequest const & cmd);
 
 private:
+       /// only the top-level LyXText has this non-zero
+       BufferView * bv_owner;
+
        /** wether the screen needs a refresh,
           starting with refresh_y
           */
@@ -214,10 +211,6 @@ public:
        */
        Row * firstRow() { return firstrow; }
 
-       /** returns the height of a default row, needed  for scrollbar
-        */
-       int defaultHeight() const;
-
        /** The cursor.
          Later this variable has to be removed. There should be now internal
          cursor in a text (and thus not in a buffer). By keeping this it is
@@ -281,6 +274,12 @@ public:
        /// returns the inset at cursor (if it exists), 0 otherwise
        Inset * getInset() const;
 
+       /// accept selected change
+       void acceptChange(BufferView * bv);
+
+       /// reject selected change 
+       void rejectChange(BufferView * bv);
        /** 'selects" the next word, where the cursor is not in
         and returns this word as string. THe cursor will be moved
         to the beginning of this word.
@@ -408,10 +407,11 @@ public:
 
        /* these things are for search and replace */
 
-       /** sets the selection over the number of characters of string,
-         no check!!
-         */
-       void setSelectionOverString(BufferView *, string const & str);
+       /**
+        * Sets the selection from the current cursor position to length
+        * characters to the right. No safety checks.
+        */
+       void setSelectionRange(BufferView *, lyx::pos_type length);
 
        /** simple replacing. The font of the first selected character
          is used
@@ -574,6 +574,9 @@ private:
        /// paint the selection background
        void paintRowSelection(DrawRowParams & p);
 
+       /// paint change bar
+       void paintChangeBar(DrawRowParams & p);
        /// paint appendix marker
        void paintRowAppendix(DrawRowParams & p);
 
@@ -668,9 +671,6 @@ private:
          screen in pixel */
        int labelFill(BufferView *, Row const * row) const;
 
-       ///
-       lyx::pos_type beginningOfMainBody(Buffer const *, Paragraph const * par) const;
-
        /**
         * Returns the left beginning of the text.
         * This information cannot be taken from the layout object, because
@@ -683,25 +683,6 @@ private:
        ///
        int labelEnd (BufferView *, Row const * row) const;
 
-       /** returns the number of separators in the specified row.
-         The separator on the very last column doesnt count
-         */
-       int numberOfSeparators(Buffer const *, Row const * row) const;
-
-       /** returns the number of hfills in the specified row. The
-         LyX-Hfill is a LaTeX \hfill so that the hfills at the
-         beginning and at the end were ignored. This is {\em MUCH}
-         more usefull than not to ignore!
-         */
-       int numberOfHfills(Buffer const *, Row const * row) const;
-
-       /// like NumberOfHfills, but only those in the manual label!
-       int numberOfLabelHfills(Buffer const *, Row const * row) const;
-       /** returns true, if a expansion is needed. Rules are given by
-         LaTeX
-         */
-       bool hfillExpansion(Buffer const *, Row const * row_ptr,
-                           lyx::pos_type pos) const;
        ///
        LColor::color backgroundColor();
 
@@ -728,13 +709,6 @@ private:
        unsigned char transformChar(unsigned char c, Paragraph * par,
                                    lyx::pos_type pos) const;
 
-       /** returns the paragraph position of the last character in the
-         specified row
-         */
-       lyx::pos_type rowLast(Row const * row) const;
-       ///
-       lyx::pos_type rowLastPrintable(Row const * row) const;
-
        ///
        void charInserted();
 public:
@@ -746,6 +720,12 @@ public:
        void ownerParagraph(Paragraph *) const;
        // set it searching first for the right owner using the paragraph id
        void ownerParagraph(int id, Paragraph *) const;
+
+       /// return true if this is the outer-most lyxtext
+       bool isTopLevel() const;
 };
 
-#endif
+/// return the default height of a row in pixels, considering font zoom
+extern int defaultRowHeight();
+
+#endif // LYXTEXT_H