]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiClipboard.h
* fix spelling in comments to please John.
[lyx.git] / src / frontends / qt4 / GuiClipboard.h
index 8ccd709d608cac1e93b025b96b230dcdd125bfb2..d0552a828136292e6e9aafd2ced55dc513d43f72 100644 (file)
@@ -1,6 +1,6 @@
 // -*- C++ -*-
 /**
- * \file qt4/GuiClipboard.h
+ * \file GuiClipboard.h
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
  * Full author contact details are available in file CREDITS.
  */
 
-#ifndef CLIPBOARD_H
-#define CLIPBOARD_H
+#ifndef GUICLIPBOARD_H
+#define GUICLIPBOARD_H
 
 #include "frontends/Clipboard.h"
 
+#include <QObject>
+
 namespace lyx {
 namespace frontend {
 
+class QMacPasteboardMimeGraphics;
+
 /**
  * The Qt4 version of the Clipboard.
  */
-class GuiClipboard: public Clipboard
+class GuiClipboard: public QObject, public Clipboard
 {
+       Q_OBJECT
 public:
-       virtual ~GuiClipboard() {}
+       GuiClipboard();
 
        /** Clipboard overloaded methods
         */
        //@{
-       std::string const get() const;
-       void put(std::string const & str);
+       std::string const getAsLyX() const;
+       FileName getAsGraphics(Cursor const & cur, GraphicsType type) const;
+       docstring const getAsText() const;
+       void put(std::string const & lyx, docstring const & text);
+       bool hasLyXContents() const;
+       bool hasGraphicsContents(GraphicsType type = AnyGraphicsType) const;
+       bool hasTextContents() const;
+       bool isInternal() const;
+       bool hasInternal() const;
+       bool empty() const;
        //@}
+
+       FileName getPastedGraphicsFileName(Cursor const & cur,
+               Clipboard::GraphicsType & type) const;
+
+private Q_SLOTS:
+       void on_dataChanged();
+
+private:
+       bool text_clipboard_empty_;
+       bool has_lyx_contents_;
+       bool has_graphics_contents_;
 };
 
+QString const lyxMimeType();
+QString const pdfMimeType();
+QString const emfMimeType();
+QString const wmfMimeType();
+
 } // namespace frontend
 } // namespace lyx
 
-#endif // CLIPBOARD_H
+#endif // GUICLIPBOARD_H