]> git.lyx.org Git - lyx.git/blobdiff - src/CutAndPaste.h
* docstream: factorize out some code and introduce odocfstream::reset()
[lyx.git] / src / CutAndPaste.h
index 220e2e217f31e5e88e8f2f658dd1fa995f6ba75c..ce6c7ab8efd1b4804d09094a205c94e85e5f68b6 100644 (file)
@@ -14,6 +14,9 @@
 #ifndef CUTANDPASTE_H
 #define CUTANDPASTE_H
 
+#include "TextClassPtr.h"
+
+#include "support/types.h"
 #include "support/docstring.h"
 
 #include <vector>
@@ -23,7 +26,6 @@ namespace lyx {
 class Buffer;
 class ErrorList;
 class InsetText;
-class TextClass;
 class Cursor;
 class ParagraphList;
 
@@ -51,7 +53,7 @@ void replaceSelection(Cursor & cur);
 /**
  * Cut the current selection and possibly push it to the cut buffer and
  * system clipboard.
- * Does handle undo.
+ * Does handle undo. Calls saveSelection.
  * \param doclear If this is true: Delete leading spaces in paragraphs before
  *                they get merged.
  * \param realcut If this is true: Push the selection to the cut buffer and
@@ -75,6 +77,8 @@ void saveSelection(Cursor & cur);
 bool selection();
 /// Clear our selection buffer
 void clearSelection();
+/// Clear our cut stack.
+void clearCutStack();
 /// Paste the current selection at \p cur
 /// Does handle undo. Does only work in text, not mathed.
 void pasteSelection(Cursor & cur, ErrorList &);
@@ -89,21 +93,22 @@ void pasteFromStack(Cursor & cur, ErrorList & errorList, size_t sel_index);
 /// Paste the paragraph list \p parlist at the position given by \p cur.
 /// Does not handle undo. Does only work in text, not mathed.
 void pasteParagraphList(Cursor & cur, ParagraphList const & parlist,
-                       textclass_type textclass, ErrorList & errorList);
+                       TextClassPtr textclass, ErrorList & errorList);
 
 
 /** Needed to switch between different classes. This works
  *  for a list of paragraphs beginning with the specified par.
  *  It changes layouts and character styles.
  */
-void switchBetweenClasses(textclass_type c1, textclass_type c2,
-                         InsetText & in, ErrorList &);
+void switchBetweenClasses(TextClassPtr const & c1, 
+       TextClassPtr const & c2, InsetText & in, ErrorList &);
 
 /// Get the current selection as a string. Does not change the selection.
 /// Does only work if the whole selection is in mathed.
 docstring grabSelection(Cursor const & cur);
 /// Erase the current selection.
 /// Does not handle undo. Does only work if the whole selection is in mathed.
+/// Calls saveSelection.
 void eraseSelection(Cursor & cur);
 /// Erase the selection and return it as a string.
 /// Does not handle undo. Does only work if the whole selection is in mathed.