]> git.saurik.com Git - wxWidgets.git/blob - include/wx/os2/clipbrd.h
added template wxScopedArray<> too
[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 wxWidgets 1.xx code. Please contact
6 // the wxWidgets 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 WXDLLIMPEXP_CORE bool wxOpenClipboard();
29 WXDLLIMPEXP_CORE bool wxIsClipboardOpened();
30 #define wxClipboardOpen wxIsClipboardOpened
31 WXDLLIMPEXP_CORE bool wxCloseClipboard();
32
33 // get/set data
34 WXDLLIMPEXP_CORE bool wxEmptyClipboard();
35 WXDLLIMPEXP_CORE bool wxSetClipboardData(wxDataFormat dataFormat,
36 const void *data,
37 int width = 0, int height = 0);
38 WXDLLIMPEXP_CORE void* wxGetClipboardData(wxDataFormat dataFormat,
39 long *len = NULL);
40
41 // clipboard formats
42 WXDLLIMPEXP_CORE bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat);
43 WXDLLIMPEXP_CORE wxDataFormat wxEnumClipboardFormats(wxDataFormat dataFormat);
44 WXDLLIMPEXP_CORE int wxRegisterClipboardFormat(wxChar *formatName);
45 WXDLLIMPEXP_CORE bool wxGetClipboardFormatName(wxDataFormat dataFormat,
46 wxChar *formatName,
47 int maxCount);
48
49 //-----------------------------------------------------------------------------
50 // wxClipboard
51 //-----------------------------------------------------------------------------
52
53 class WXDLLIMPEXP_FWD_CORE wxDataObject;
54 class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase
55 {
56 DECLARE_DYNAMIC_CLASS(wxClipboard)
57
58 public:
59 wxClipboard();
60 virtual ~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( const 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 private:
92 bool m_clearOnExit;
93 };
94
95 #endif // wxUSE_CLIPBOARD
96 #endif // _WX_CLIPBRD_H_