]> git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/clipbrd.h
Added WX_DEFINE_*_USER_EXPORTED_ARRAY macros for external dlls.
[wxWidgets.git] / include / wx / os2 / clipbrd.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: clipbrd.h
3 // Purpose: Clipboard functionality.
4 // Note: this functionality is under review, and
5 // is derived from wxWindows 1.xx code. Please contact
6 // the wxWindows developers for further information.
7 // Author: David Webster
8 // Modified by:
9 // Created: 10/13/99
10 // RCS-ID: $Id$
11 // Copyright: (c) David Webster
12 // Licence: wxWindows licence
13 /////////////////////////////////////////////////////////////////////////////
14
15 #ifndef _WX_CLIPBRD_H_
16 #define _WX_CLIPBRD_H_
17
18 #if wxUSE_CLIPBOARD
19
20 #include "wx/list.h"
21 #include "wx/module.h"
22 #include "wx/dataobj.h" // for wxDataFormat
23
24 // These functions superceded by wxClipboard, but retained in order to
25 // implement wxClipboard, and for compatibility.
26
27 // open/close the clipboard
28 WXDLLEXPORT bool wxOpenClipboard();
29 WXDLLEXPORT bool wxIsClipboardOpened();
30 #define wxClipboardOpen wxIsClipboardOpened
31 WXDLLEXPORT bool wxCloseClipboard();
32
33 // get/set data
34 WXDLLEXPORT bool wxEmptyClipboard();
35 WXDLLEXPORT bool wxSetClipboardData(wxDataFormat dataFormat,
36 const void *data,
37 int width = 0, int height = 0);
38 WXDLLEXPORT void* wxGetClipboardData(wxDataFormat dataFormat,
39 long *len = NULL);
40
41 // clipboard formats
42 WXDLLEXPORT bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat);
43 WXDLLEXPORT wxDataFormat wxEnumClipboardFormats(wxDataFormat dataFormat);
44 WXDLLEXPORT int wxRegisterClipboardFormat(wxChar *formatName);
45 WXDLLEXPORT bool wxGetClipboardFormatName(wxDataFormat dataFormat,
46 wxChar *formatName,
47 int maxCount);
48
49 //-----------------------------------------------------------------------------
50 // wxClipboard
51 //-----------------------------------------------------------------------------
52
53 class WXDLLEXPORT wxDataObject;
54 class WXDLLEXPORT wxClipboard : public wxObject
55 {
56 DECLARE_DYNAMIC_CLASS(wxClipboard)
57
58 public:
59 wxClipboard();
60 ~wxClipboard();
61
62 // open the clipboard before SetData() and GetData()
63 virtual bool Open();
64
65 // close the clipboard after SetData() and GetData()
66 virtual void Close();
67
68 // query whether the clipboard is opened
69 virtual bool IsOpened() const;
70
71 // set the clipboard data. all other formats will be deleted.
72 virtual bool SetData( wxDataObject *data );
73
74 // add to the clipboard data.
75 virtual bool AddData( wxDataObject *data );
76
77 // ask if data in correct format is available
78 virtual bool IsSupported( wxDataFormat format );
79
80 // fill data with data on the clipboard (if available)
81 virtual bool GetData( wxDataObject& data );
82
83 // clears wxTheClipboard and the system's clipboard if possible
84 virtual void Clear();
85
86 // flushes the clipboard: this means that the data which is currently on
87 // clipboard will stay available even after the application exits (possibly
88 // eating memory), otherwise the clipboard will be emptied on exit
89 virtual bool Flush();
90
91 // X11 has two clipboards which get selected by this call. Empty on MSW.
92 void UsePrimarySelection( bool WXUNUSED(primary) = FALSE ) { }
93
94 private:
95 bool m_clearOnExit;
96 };
97
98 #endif // wxUSE_CLIPBOARD
99 #endif
100 // _WX_CLIPBRD_H_