/// Constructor
LyXText(BufferView *);
- ///
+ /// sets inset as owner
LyXText(InsetText *);
/// Destructor
void init(BufferView *, bool reinit = false);
///
- mutable int number_of_rows;
- ///
mutable int height;
///
mutable unsigned int width;
///
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;
/** 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
///
void cursorEnd(BufferView *) const;
///
+ void cursorPrevious(BufferView * bv);
+ ///
+ void cursorNext(BufferView * bv);
+ ///
void cursorTab(BufferView *) const;
///
void cursorTop(BufferView *) const;
///
void cursorLeftOneWord(LyXCursor &) const;
- ///
- void cursorPrevious(BufferView * bv);
- ///
- void cursorNext(BufferView * bv);
-
+
///
float getCursorX(BufferView *, Row *, lyx::pos_type pos,
lyx::pos_type last, bool boundary) const;
/** 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;
/// paint page break marker. Returns its height.
int paintPageBreak(string const & label, int y, DrawRowParams & p);
-
+
/// paint env depth bar
void paintRowDepthBar(DrawRowParams & p);
/** 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;
///
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