X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxtext.h;h=7135568767a2716f82850dc97ca23d5b72ad928d;hb=501f1dd61b6c0beb927151ecf331f78848261b59;hp=7a42c27739931696ccfd2d4fd3bc2aaeefba357b;hpb=aa495275eb13721e7253be5e50292e14c5767a07;p=lyx.git diff --git a/src/lyxtext.h b/src/lyxtext.h index 7a42c27739..7135568767 100644 --- a/src/lyxtext.h +++ b/src/lyxtext.h @@ -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 const & codes, string const & contents = string()) const; /// + void gotoInset(BufferView * bv, std::vector 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); @@ -512,13 +518,13 @@ private: /** 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. 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; @@ -575,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); @@ -602,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; @@ -614,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; @@ -666,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