]> git.lyx.org Git - lyx.git/blobdiff - src/lyxtext.h
minimal effort implementation of:
[lyx.git] / src / lyxtext.h
index db3b180bc1f921fbb95047d7d1e6d931d71ebbc9..4ec3824e002703bbe725d7c394f10254e063a315 100644 (file)
@@ -21,7 +21,7 @@
 #include "lyxfont.h"
 #include "layout.h"
 #include "lyxlayout_ptr_fwd.h"
-#include "ParagraphList_fwd.h"
+#include "ParagraphList.h"
 
 #include <iosfwd>
 
@@ -30,6 +30,7 @@ class BufferParams;
 class BufferView;
 class CursorSlice;
 class Dimension;
+class ErrorList;
 class InsetBase;
 class InsetBase_code;
 class FuncRequest;
@@ -50,6 +51,8 @@ public:
        ///
        typedef lyx::pos_type pos_type;
        ///
+       typedef lyx::char_type char_type;
+       ///
        typedef lyx::pit_type pit_type;
 
        /// constructor
@@ -108,7 +111,7 @@ public:
        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);
 
@@ -168,7 +171,7 @@ public:
        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);
 
@@ -209,20 +212,25 @@ public:
        ///
        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);
@@ -269,7 +277,7 @@ public:
        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;
@@ -315,7 +323,7 @@ public:
        ///
        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;
@@ -329,9 +337,6 @@ public:
        /// delete double space or empty paragraphs around old cursor
        bool deleteEmptyParagraphMechanism(LCursor & cur, LCursor & old);
 
-       ///
-       friend class LyXScreen;
-
 public:
        ///
        Dimension dim_;