]> git.lyx.org Git - lyx.git/blobdiff - src/CutAndPaste.h
This is the first of a series of commits that will make InsetLayout a real class.
[lyx.git] / src / CutAndPaste.h
index e3fccedb76bc7fef0a3037d09bc1e8de319f06aa..e3ba435b03416560aa8cffe6192800d3aaae8bbb 100644 (file)
 #ifndef CUTANDPASTE_H
 #define CUTANDPASTE_H
 
+#include "TextClassPtr.h"
+
+#include "support/types.h"
 #include "support/docstring.h"
-#include "TextClass_ptr.h"
+
+#include "frontends/Clipboard.h"
 
 #include <vector>
 
+using lyx::frontend::Clipboard;
+
 namespace lyx {
 
 class Buffer;
 class ErrorList;
 class InsetText;
-class TextClass;
 class Cursor;
 class ParagraphList;
 
@@ -76,13 +81,20 @@ 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 &);
-/// Replace the current selection with the clipboard contents (internal or
-/// external: which is newer)
+/// Replace the current selection with the clipboard contents as text
+/// (internal or external: which is newer).
+/// Does handle undo. Does only work in text, not mathed.
+void pasteClipboardText(Cursor & cur, ErrorList & errorList,
+       bool asParagraphs = true);
+/// Replace the current selection with the clipboard contents as graphic.
 /// Does handle undo. Does only work in text, not mathed.
-void pasteClipboard(Cursor & cur, ErrorList & errorList, bool asParagraphs = true);
+void pasteClipboardGraphics(Cursor & cur, ErrorList & errorList,
+       Clipboard::GraphicsType preferedType = Clipboard::AnyGraphicsType);
 /// Replace the current selection with cut buffer \c sel_index
 /// Does handle undo. Does only work in text, not mathed.
 void pasteFromStack(Cursor & cur, ErrorList & errorList, size_t sel_index);
@@ -90,15 +102,15 @@ 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_ptr 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_ptr const & c1, 
-       TextClass_ptr const & 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.