1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: Clipboard functionality.
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_CLIPBRD_H_
13 #define _WX_CLIPBRD_H_
17 class WXDLLIMPEXP_CORE wxDataObject
;
18 struct wxDataIdToDataObject
;
22 WX_DECLARE_LIST(wxDataObject
, wxDataObjectList
);
23 WX_DECLARE_LIST(wxDataIdToDataObject
, wxDataIdToDataObjectList
);
25 bool WXDLLEXPORT
wxOpenClipboard();
26 bool WXDLLEXPORT
wxClipboardOpen();
27 bool WXDLLEXPORT
wxCloseClipboard();
28 bool WXDLLEXPORT
wxEmptyClipboard();
29 bool WXDLLEXPORT
wxIsClipboardFormatAvailable(wxDataFormat dataFormat
);
30 bool WXDLLEXPORT
wxSetClipboardData(wxDataFormat dataFormat
, wxObject
*obj
, int width
= 0, int height
= 0);
31 wxObject
* WXDLLEXPORT
wxGetClipboardData(wxDataFormat dataFormat
, long *len
= NULL
);
32 wxDataFormat WXDLLEXPORT
wxEnumClipboardFormats(wxDataFormat dataFormat
);
33 wxDataFormat WXDLLEXPORT
wxRegisterClipboardFormat(char *formatName
);
34 bool WXDLLEXPORT
wxGetClipboardFormatName(wxDataFormat dataFormat
, char *formatName
, int maxCount
);
36 //-----------------------------------------------------------------------------
38 //-----------------------------------------------------------------------------
40 class WXDLLIMPEXP_CORE wxClipboard
: public wxClipboardBase
46 // open the clipboard before SetData() and GetData()
49 // close the clipboard after SetData() and GetData()
53 virtual bool IsOpened() const { return m_open
; }
55 // replaces the data on the clipboard with data
56 virtual bool SetData( wxDataObject
*data
);
58 // adds data to the clipboard
59 virtual bool AddData( wxDataObject
*data
);
61 // format available on the clipboard ?
62 virtual bool IsSupported( const wxDataFormat
& format
);
64 // fill data with data on the clipboard (if available)
65 virtual bool GetData( wxDataObject
& data
);
67 // clears wxTheClipboard and the system's clipboard if possible
70 virtual void UsePrimarySelection(bool primary
= true)
71 { m_usePrimary
= primary
; }
73 // implementation from now on
75 wxDataObjectList m_data
;
77 wxDataIdToDataObjectList m_idToObject
;
80 DECLARE_DYNAMIC_CLASS(wxClipboard
)
83 #endif // wxUSE_CLIPBOARD