]> git.lyx.org Git - lyx.git/blobdiff - src/Cursor.h
* src/LyXRC.{cpp,h}:
[lyx.git] / src / Cursor.h
index c56538a2df84148e8c6506c2fe08d8f1359f823e..1ee104cd52b8a6a9fcbcdb9d10c62c4315325b99 100644 (file)
@@ -14,8 +14,9 @@
 
 #include "DispatchResult.h"
 #include "DocIterator.h"
+#include "Font.h"
+#include "Undo.h"
 
-#include <iosfwd>
 #include <vector>
 
 
@@ -25,7 +26,6 @@ class Buffer;
 class BufferView;
 class FuncStatus;
 class FuncRequest;
-class Font;
 class Row;
 
 // these should go
@@ -61,6 +61,9 @@ public:
        /// sets cursor part
        void setCursor(DocIterator const & it);
 
+       ///
+       void setCurrentFont();
+
        //
        // selection
        //
@@ -186,6 +189,33 @@ public:
        /// output
        friend std::ostream & operator<<(std::ostream & os, Cursor const & cur);
 
+       ///
+       bool textUndo();
+       ///
+       bool textRedo();
+
+       /// makes sure the next operation will be stored
+       void finishUndo();
+
+       /// The general case: prepare undo for an arbitrary range.
+       void recordUndo(UndoKind kind, pit_type from, pit_type to);
+
+       /// Convenience: prepare undo for the range between 'from' and cursor.
+       void recordUndo(UndoKind kind, pit_type from);
+
+       /// Convenience: prepare undo for the single paragraph or cell
+       /// containing the cursor
+       void recordUndo(UndoKind kind = ATOMIC_UNDO);
+
+       /// Convenience: prepare undo for the inset containing the cursor
+       void recordUndoInset(UndoKind kind = ATOMIC_UNDO);
+
+       /// Convenience: prepare undo for the whole buffer
+       void recordUndoFullDocument();
+
+       /// Convenience: prepare undo for the selected paragraphs
+       void recordUndoSelection();
+
 public:
        ///
        BufferView * bv_;
@@ -230,6 +260,13 @@ private:
        /// position before dispatch started
        DocIterator beforeDispatchCursor_;
 
+// FIXME: make them private.
+public:
+       /// the current font settings
+       Font current_font;
+       /// the current font
+       Font real_current_font;
+
 private:
 
        //