]> git.lyx.org Git - lyx.git/blobdiff - src/lyxtext.h
clean up a bit
[lyx.git] / src / lyxtext.h
index f58f6de0d8b59230a101ffc163162904365ab8e7..7135568767a2716f82850dc97ca23d5b72ad928d 100644 (file)
@@ -67,7 +67,7 @@ public:
 
        /// Constructor
        LyXText(BufferView *);
-       ///
+       /// sets inset as owner
        LyXText(InsetText *);
 
        /// Destructor
@@ -75,8 +75,6 @@ public:
 
        void init(BufferView *, bool reinit = false);
        ///
-       mutable int number_of_rows;
-       ///
        mutable int height;
        ///
        mutable unsigned int width;
@@ -177,13 +175,7 @@ public:
        ///
        mutable int refresh_y;
        ///
-       int refresh_width;
-       ///
-       int refresh_x;
-       ///
        mutable Row * refresh_row;
-       ///
-       lyx::pos_type refresh_pos;
 
        /// give and set the LyXText status
        text_status status() const;
@@ -215,8 +207,7 @@ public:
        /** returns a pointer to a specified row. y is set to the beginning
         of the row
         */
-       Row * getRow(Paragraph * par,
-                    lyx::pos_type pos, int & y) const;
+       Row * getRow(Paragraph * par, lyx::pos_type pos, int & y) const;
        /** returns the firstrow, this could be done with the above too but
            IMO it's stupid to have to allocate a dummy y all the time I need
            the first row
@@ -290,6 +281,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.
@@ -349,6 +346,10 @@ public:
        ///
        void cursorEnd(BufferView *) const;
        ///
+       void cursorPrevious(BufferView * bv);
+       ///
+       void cursorNext(BufferView * bv);
+       ///
        void cursorTab(BufferView *) const;
        ///
        void cursorTop(BufferView *) const;
@@ -413,10 +414,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
@@ -432,6 +434,11 @@ public:
        bool gotoNextInset(BufferView *, std::vector<Inset::Code> const & codes,
                           string const & contents = string()) const;
        ///
+       void gotoInset(BufferView * bv, std::vector<Inset::Code> const & codes,
+                                               bool same_content);
+       ///
+       void gotoInset(BufferView * bv, Inset::Code code, bool same_content);
+       ///
 
        /* for the greater insets */
 
@@ -480,18 +487,17 @@ public:
 private:
        ///
        mutable Row * firstrow;
-
        ///
        mutable Row * lastrow;
 
        ///
        void cursorLeftOneWord(LyXCursor &) const;
+
        ///
        float getCursorX(BufferView *, Row *, lyx::pos_type pos,
                                         lyx::pos_type last, bool boundary) const;
        ///
-       void changeRegionCase(BufferView * bview,
+       void changeRegionCase(BufferView * bv,
                                       LyXCursor const & from,
                                       LyXCursor const & to,
                                       LyXText::TextCase action);
@@ -508,16 +514,17 @@ private:
          Lgb has learned that 'char' is a lousy type for non-characters
          */
        string copylayouttype;
+
        /** inserts a new row behind the specified row, increments
            the touched counters */
        void insertRow(Row * row, Paragraph * par, lyx::pos_type pos) const;
-       /** removes the row and reset the touched counters */
+       /// removes the row and reset the touched counters
        void removeRow(Row * row) const;
 
-       /** remove all following rows of the paragraph of the specified row. */
+       /// remove all following rows of the paragraph of the specified row.
        void removeParagraph(Row * row) const;
 
-       /** insert the specified paragraph behind the specified row */
+       /// insert the specified paragraph behind the specified row
        void insertParagraph(BufferView *,
                             Paragraph * par, Row * row) const;
 
@@ -574,12 +581,15 @@ private:
        /// paint the selection background
        void paintRowSelection(DrawRowParams & p);
 
+       /// paint change bar
+       void paintChangeBar(DrawRowParams & p);
        /// paint appendix marker
        void paintRowAppendix(DrawRowParams & p);
 
        /// paint page break marker. Returns its height.
        int paintPageBreak(string const & label, int y, DrawRowParams & p);
+
        /// paint env depth bar
        void paintRowDepthBar(DrawRowParams & p);
 
@@ -601,7 +611,7 @@ private:
 
        // fix the cursor `cur' after a characters has been deleted at `where'
        // position. Called by deleteEmptyParagraphMechanism
-       void fixCursorAfterDelete(BufferView * bview,
+       void fixCursorAfterDelete(BufferView * bv,
                                  LyXCursor & cur,
                                  LyXCursor const & where) const;
 
@@ -613,8 +623,14 @@ public:
        /** Updates all counters starting BEHIND the row. Changed paragraphs
         * with a dynamic left margin will be rebroken. */
        void updateCounters(BufferView *) const;
-       /// 
+       ///
        void update(BufferView * bv, bool changed = true);
+       /**
+        * Returns an inset if inset was hit, or 0 if not.
+        * If hit, the coordinates are changed relative to the inset.
+        */
+       Inset * checkInsetHit(BufferView * bv, int & x, int & y) const;
+
 private:
        ///
        void setCounter(Buffer const *, Paragraph * par) const;
@@ -665,7 +681,7 @@ private:
        ///
        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
         * in LaTeX the beginning of the text fits in some cases