X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b6dbb09746f8f5ee0549a2ff39ae0ac4c725898..3883022093c42e3fb7b248ea2cb4bbd1e056a75b:/include/wx/motif/clipbrd.h diff --git a/include/wx/motif/clipbrd.h b/include/wx/motif/clipbrd.h index 5c33021f49..dceeabcfaa 100644 --- a/include/wx/motif/clipbrd.h +++ b/include/wx/motif/clipbrd.h @@ -22,18 +22,85 @@ #include "wx/defs.h" #include "wx/setup.h" +#include "wx/dataobj.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 IsSupported( wxDataFormat format ); + + // 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(); + + /// If primary == TRUE, use primary selection in all further ops, + /// primary=FALSE resets it. + inline void UsePrimarySelection(bool primary = TRUE) { m_usePrimary = primary; } + + // implementation + + bool m_open; + wxList m_data; + bool m_usePrimary; +}; + +/* 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 +167,8 @@ void WXDLLEXPORT wxInitClipboard(); /* The clipboard */ WXDLLEXPORT_DATA(extern wxClipboard*) wxTheClipboard; +#endif + // Old clipboard class + #endif // _WX_CLIPBRD_H_