4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
9 * \author Abdelrazak Younes
11 * Full author contact details are available in file CREDITS.
14 #ifndef BASE_CLIPBOARD_H
15 #define BASE_CLIPBOARD_H
17 #include "support/docstring.h"
23 * A Clipboard class manages the clipboard.
28 virtual ~Clipboard() {}
31 * Get the window system clipboard contents.
32 * This should be called when the user requests to paste from the
35 virtual docstring const get() const = 0;
37 * Fill the window system clipboard.
38 * This should be called when the user requests to cut or copy to
41 virtual void put(docstring const &) = 0;
43 /// state of clipboard.
44 /// \retval true if the system clipboard has been set within LyX.
45 virtual bool isInternal() const = 0;
46 /// Is the clipboard empty?
47 virtual bool empty() const = 0;
50 } // namespace frontend
52 /// Implementation is in Application.C
53 extern frontend::Clipboard & theClipboard();
58 #endif // BASE_CLIPBOARD_H