#include "lyxfont.h"
#include "layout.h"
#include "lyxlayout_ptr_fwd.h"
-#include "ParagraphList_fwd.h"
+#include "ParagraphList.h"
#include <iosfwd>
class BufferView;
class CursorSlice;
class Dimension;
+class ErrorList;
class InsetBase;
class InsetBase_code;
class FuncRequest;
///
typedef lyx::pos_type pos_type;
///
+ typedef lyx::char_type char_type;
+ ///
typedef lyx::pit_type pit_type;
/// constructor
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);
///
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 Delete(LCursor & cur);
+ bool cursorTop(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 singleWidth(Paragraph const & par, pos_type pos) const;
///
int singleWidth(Paragraph const & par,
- pos_type pos, char c, LyXFont const & Font) const;
+ pos_type pos, char_type c, LyXFont const & Font) const;
/// return the color of the canvas
LColor_color backgroundColor() const;
///
void write(Buffer const & buf, std::ostream & os) const;
/// returns whether we've seen our usual 'end' marker
- bool read(Buffer const & buf, LyXLex & lex);
+ bool read(Buffer const & buf, LyXLex & lex, ErrorList & errorList);
///
int ascent() const;
/// delete double space or empty paragraphs around old cursor
bool deleteEmptyParagraphMechanism(LCursor & cur, LCursor & old);
- ///
- friend class LyXScreen;
-
public:
///
Dimension dim_;
LyXFont current_font;
/// the current font
LyXFont real_current_font;
- /// our buffer's default layout font. This is textclass specific
- /* This is actually never initialized! Should be replaced by a
- * defaultfont() method that looks at the textclass (easy). [JMarc]*/
- LyXFont defaultfont_;
///
int background_color_;