X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b6dbb09746f8f5ee0549a2ff39ae0ac4c725898..e0543d2a7000693be84cd8bb5cfa3a85b1ad457c:/include/wx/motif/clipbrd.h diff --git a/include/wx/motif/clipbrd.h b/include/wx/motif/clipbrd.h index 5c33021f49..583a1a1068 100644 --- a/include/wx/motif/clipbrd.h +++ b/include/wx/motif/clipbrd.h @@ -23,17 +23,77 @@ #include "wx/setup.h" #include "wx/list.h" +#include "wx/module.h" bool WXDLLEXPORT wxOpenClipboard(); bool WXDLLEXPORT wxClipboardOpen(); bool WXDLLEXPORT wxCloseClipboard(); bool WXDLLEXPORT wxEmptyClipboard(); -bool WXDLLEXPORT wxIsClipboardFormatAvailable(int dataFormat); -bool WXDLLEXPORT wxSetClipboardData(int dataFormat, wxObject *obj, int width = 0, int height = 0); -wxObject* WXDLLEXPORT wxGetClipboardData(int dataFormat, long *len = NULL); -int WXDLLEXPORT wxEnumClipboardFormats(int dataFormat); -int WXDLLEXPORT wxRegisterClipboardFormat(char *formatName); -bool WXDLLEXPORT wxGetClipboardFormatName(int dataFormat, char *formatName, int maxCount); +bool WXDLLEXPORT wxIsClipboardFormatAvailable(wxDataFormat dataFormat); +bool WXDLLEXPORT wxSetClipboardData(wxDataFormat dataFormat, wxObject *obj, int width = 0, int height = 0); +wxObject* WXDLLEXPORT wxGetClipboardData(wxDataFormat dataFormat, long *len = NULL); +wxDataFormat WXDLLEXPORT wxEnumClipboardFormats(wxDataFormat dataFormat); +wxDataFormat WXDLLEXPORT wxRegisterClipboardFormat(char *formatName); +bool WXDLLEXPORT wxGetClipboardFormatName(wxDataFormat dataFormat, char *formatName, int maxCount); + +//----------------------------------------------------------------------------- +// wxClipboard +//----------------------------------------------------------------------------- + +class WXDLLEXPORT wxDataObject; +class WXDLLEXPORT wxClipboard: public wxObject +{ + DECLARE_DYNAMIC_CLASS(wxClipboard) + +public: + + wxClipboard(); + ~wxClipboard(); + + // open the clipboard before SetData() and GetData() + virtual bool Open(); + + // close the clipboard after SetData() and GetData() + virtual void Close(); + + // can be called several times + virtual bool SetData( wxDataObject *data ); + + // format available on the clipboard ? + // supply ID if private format, the same as wxPrivateDataObject::SetId() + virtual bool IsSupportedFormat( wxDataFormat format, const wxString &id = wxEmptyString ); + + // fill data with data on the clipboard (if available) + virtual bool GetData( wxDataObject *data ); + + // clears wxTheClipboard and the system's clipboard if possible + virtual void Clear(); + + // implementation + + bool m_open; + wxList m_data; +}; + +/* The clipboard */ +WXDLLEXPORT_DATA(extern wxClipboard*) wxTheClipboard; + +//----------------------------------------------------------------------------- +// wxClipboardModule +//----------------------------------------------------------------------------- + +class wxClipboardModule: public wxModule +{ + DECLARE_DYNAMIC_CLASS(wxClipboardModule) + +public: + wxClipboardModule() {} + bool OnInit(); + void OnExit(); +}; + +// This is the old, 1.68 implementation +#if 0 /* A clipboard client holds data belonging to the clipboard. For plain text, a client is not necessary. */ @@ -100,5 +160,8 @@ void WXDLLEXPORT wxInitClipboard(); /* The clipboard */ WXDLLEXPORT_DATA(extern wxClipboard*) wxTheClipboard; +#endif + // Old clipboard class + #endif // _WX_CLIPBRD_H_