#include "lyxfont.h"
#include "layout.h"
#include "lyxlayout_ptr_fwd.h"
-#include "ParagraphList_fwd.h"
+#include "ParagraphList.h"
#include <iosfwd>
void breakParagraph(LCursor & cur, bool keep_layout = false);
/// set layout over selection
- pit_type setLayout(pit_type start, pit_type end,
+ void setLayout(pit_type start, pit_type end,
std::string const & layout);
///
void setLayout(LCursor & cur, std::string const & layout);
std::string getStringToIndex(LCursor const & cur);
/// insert a character at cursor position
- void insertChar(LCursor & cur, char c);
+ void insertChar(LCursor & cur, lyx::char_type c);
/// insert an inset at cursor position
void insertInset(LCursor & cur, InsetBase * inset);
/// 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);
+ std::string currentState(LCursor & cur);
/** returns row near the specified
* y-coordinate in given paragraph (relative to the screen).
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);
+ pos_type pos, bool setfont = true, bool boundary = false);
///
void setCurrentFont(LCursor & cur);
void recUndo(pit_type first, pit_type last) const;
///
void recUndo(pit_type first) const;
- ///
- void setCursorFromCoordinates(LCursor & cur, int x, int y);
+ /// returns true if par was empty and was removed
+ bool setCursorFromCoordinates(LCursor & cur, int x, int y);
///
InsetBase * editXY(LCursor & cur, int x, int y);
/// Move cursor one line up.
///
bool cursorDownParagraph(LCursor & cur);
///
- void cursorHome(LCursor & cur);
+ bool cursorHome(LCursor & cur);
///
- void cursorEnd(LCursor & cur);
+ bool cursorEnd(LCursor & cur);
///
bool cursorPrevious(LCursor & cur);
///
bool cursorNext(LCursor & cur);
///
- void cursorTop(LCursor & cur);
- ///
- void cursorBottom(LCursor & cur);
+ bool cursorTop(LCursor & cur);
///
- void Delete(LCursor & cur);
- ///
- void backspace(LCursor & cur);
+ bool cursorBottom(LCursor & cur);
+ /// Erase character at cursor. Honour change tracking
+ bool erase(LCursor & cur);
+ /** At cursor position 0, merge paragraph with the one before it.
+ * Ignore CT (this is used in \c acceptChange, \c rejectChange for
+ * physical deletion of paragraph break)
+ */
+ bool backspacePos0(LCursor & cur);
+ /// Delete character before cursor. Honour CT
+ bool backspace(LCursor & cur);
///
bool selectWordWhenUnderCursor(LCursor & cur, lyx::word_location);
///
///
int cursorY(CursorSlice const & cursor, bool boundary) const;
+ /// delete double space or empty paragraphs around old cursor
+ bool deleteEmptyParagraphMechanism(LCursor & cur, LCursor & old);
+
///
friend class LyXScreen;
LyXFont current_font;
/// the current font
LyXFont real_current_font;
- /// our buffer's default layout font. This is textclass specific
- LyXFont defaultfont_;
///
int background_color_;
/// change on pit
pit_type undoSpan(pit_type pit);
- /// used in setlayout
- void makeFontEntriesLayoutSpecific(BufferParams const &, Paragraph & par);
-
/// Calculate and set the height of the row
void setHeightOfRow(pit_type, Row & row);
// position. Called by deleteEmptyParagraphMechanism
void fixCursorAfterDelete(CursorSlice & cur, CursorSlice const & where);
- /// delete double space or empty paragraphs around old cursor
- bool deleteEmptyParagraphMechanism(LCursor & cur, LCursor const & old);
-
///
void deleteWordForward(LCursor & cur);
///