X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxtext.h;h=ff3a73257b4070f7ef0464195f5e0370786bbb8a;hb=498f06d43a0f2000c3f704db1ea39fda3c819fe6;hp=176b9192e486ca46a6d649ae5219eff41d1e333c;hpb=774dabb32347b6dc2c1abbc202960f4f6f366db3;p=lyx.git diff --git a/src/lyxtext.h b/src/lyxtext.h index 176b9192e4..ff3a73257b 100644 --- a/src/lyxtext.h +++ b/src/lyxtext.h @@ -12,10 +12,6 @@ #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 @@ -485,7 +485,7 @@ private: /// void cursorLeftOneWord(LyXCursor &) const; - + /// float getCursorX(BufferView *, Row *, lyx::pos_type pos, lyx::pos_type last, bool boundary) const; @@ -511,13 +511,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; @@ -574,12 +574,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); @@ -613,7 +616,7 @@ 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. @@ -668,10 +671,7 @@ 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 * in LaTeX the beginning of the text fits in some cases @@ -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