void setFont(LCursor & cur, LyXFont const &, bool toggleall = false);
/// rebreaks the given par
- void redoParagraph(pit_type pit);
+ bool redoParagraph(pit_type pit);
/// returns pos in given par at given x coord
pos_type x2pos(pit_type pit, int row, int x) const;
void toggleFree(LCursor & cur, LyXFont const &, bool toggleall = false);
///
- std::string getStringToIndex(LCursor & cur);
+ std::string getStringToIndex(LCursor const & cur);
/// insert a character at cursor position
void insertChar(LCursor & cur, char c);
FuncStatus & status) const;
/// access to out BufferView. This should go...
-// BufferView * bv();
- /// access to out BufferView. This should go...
BufferView * bv() const;
- /// access to individual paragraphs
- Paragraph & getPar(pit_type par) const;
+ /// read-only access to individual paragraph
+ Paragraph const & getPar(pit_type pit) const { return pars_[pit]; }
+ /// read-write access to individual paragraph
+ Paragraph & getPar(pit_type pit) { return pars_[pit]; }
// Returns the current font and depth as a message.
std::string LyXText::currentState(LCursor & cur);
bool setCursor(LCursor & cur, pit_type par, pos_type pos,
bool setfont = true, bool boundary = false);
///
- void setCursor(CursorSlice &, pit_type par,
- pos_type pos, bool boundary = false);
+ void setCursor(CursorSlice &, pit_type par, pos_type pos);
///
void setCursorIntern(LCursor & cur, pit_type par,
pos_type pos, bool setfont = true, bool boundary = false);
void recUndo(pit_type first, pit_type last) const;
///
void recUndo(pit_type first) const;
+ /// returns true if par was empty and was removed
+ bool setCursorFromCoordinates(LCursor & cur, int x, int y);
///
- void setCursorFromCoordinates(LCursor & cur, int x, int y);
- ///
- InsetBase * editXY(LCursor & cur, int x, int y) const;
+ InsetBase * editXY(LCursor & cur, int x, int y);
/// Move cursor one line up.
/**
* Returns true if an update is needed after the move.
RowMetrics computeRowMetrics(pit_type pit, Row const & row) const;
/// access to our paragraphs
- ParagraphList & paragraphs() const;
+ ParagraphList const & paragraphs() const { return pars_; }
+ ParagraphList & paragraphs() { return pars_; }
/// return true if this is the main text
bool isMainText() const;
///
int descent() const;
///
- int cursorX(CursorSlice const & cursor) const;
+ int cursorX(CursorSlice const & cursor, bool boundary) const;
///
- int cursorY(CursorSlice const & cursor) const;
+ int cursorY(CursorSlice const & cursor, bool boundary) const;
///
friend class LyXScreen;
void fixCursorAfterDelete(CursorSlice & cur, CursorSlice const & where);
/// delete double space or empty paragraphs around old cursor
- bool deleteEmptyParagraphMechanism(LCursor & cur, LCursor const & old);
+ bool deleteEmptyParagraphMechanism(LCursor & cur, LCursor & old);
///
void deleteWordForward(LCursor & cur);