X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/06e4351185e6f6c53f179d8af833f791b2e8d40e..77b497a04a33b16bf55219643effd97ee54d8f33:/include/wx/msw/clipbrd.h diff --git a/include/wx/msw/clipbrd.h b/include/wx/msw/clipbrd.h index eec3bbdd7c..c1afb26016 100644 --- a/include/wx/msw/clipbrd.h +++ b/include/wx/msw/clipbrd.h @@ -6,7 +6,7 @@ // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_CLIPBRD_H_ @@ -22,60 +22,91 @@ #if wxUSE_CLIPBOARD #include "wx/list.h" +#include "wx/module.h" +#include "wx/dataobj.h" // for wxDataFormat -// These functions superceded by wxClipboard, but retained in order to implement -// wxClipboard, and for compatibility. -WXDLLEXPORT bool wxOpenClipboard(void); -WXDLLEXPORT bool wxClipboardOpen(void); -WXDLLEXPORT bool wxCloseClipboard(void); -WXDLLEXPORT bool wxEmptyClipboard(void); +// These functions superceded by wxClipboard, but retained in order to +// implement wxClipboard, and for compatibility. + +// open/close the clipboard +WXDLLEXPORT bool wxOpenClipboard(); +WXDLLEXPORT bool wxIsClipboardOpened(); +#define wxClipboardOpen wxIsClipboardOpened +WXDLLEXPORT bool wxCloseClipboard(); + +// get/set data +WXDLLEXPORT bool wxEmptyClipboard(); +WXDLLEXPORT bool wxSetClipboardData(wxDataFormat dataFormat, + const void *data, + int width = 0, int height = 0); +WXDLLEXPORT void* wxGetClipboardData(wxDataFormat dataFormat, + long *len = NULL); + +// clipboard formats WXDLLEXPORT bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat); -WXDLLEXPORT bool wxSetClipboardData(wxDataFormat dataFormat, wxObject *obj, int width = 0, int height = 0); -WXDLLEXPORT wxObject* wxGetClipboardData(wxDataFormat dataFormat, long *len = NULL); WXDLLEXPORT wxDataFormat wxEnumClipboardFormats(wxDataFormat dataFormat); -WXDLLEXPORT int wxRegisterClipboardFormat(char *formatName); -WXDLLEXPORT bool wxGetClipboardFormatName(wxDataFormat dataFormat, char *formatName, int maxCount); +WXDLLEXPORT int wxRegisterClipboardFormat(wxChar *formatName); +WXDLLEXPORT bool wxGetClipboardFormatName(wxDataFormat dataFormat, + wxChar *formatName, + int maxCount); //----------------------------------------------------------------------------- // wxClipboard //----------------------------------------------------------------------------- class WXDLLEXPORT wxDataObject; -class WXDLLEXPORT wxClipboard: public wxObject +class WXDLLEXPORT wxClipboard : public wxObject { - DECLARE_DYNAMIC_CLASS(wxClipboard) + 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; + wxClipboard(); + ~wxClipboard(); + + // open the clipboard before SetData() and GetData() + virtual bool Open(); + + // close the clipboard after SetData() and GetData() + virtual void Close(); + + // set the clipboard data. all other formats will be deleted. + virtual bool SetData( wxDataObject *data ); + + // add to the clipboard data. + virtual bool AddData( wxDataObject *data ); + + // ask if data in correct format is available + 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(); + + /// X11 has two clipboards which get selected by this call. Empty on MSW. + void UsePrimarySelection( bool WXUNUSED(primary) = FALSE ) { } + }; -/* The clipboard */ -// WXDLLEXPORT_DATA(extern wxClipboard*) wxTheClipboard; +// The global clipboard object +WXDLLEXPORT_DATA(extern wxClipboard*) wxTheClipboard; + +//----------------------------------------------------------------------------- +// wxClipboardModule: module responsible for initializing the global clipboard +// object +//----------------------------------------------------------------------------- + +class wxClipboardModule : public wxModule +{ + DECLARE_DYNAMIC_CLASS(wxClipboardModule) + +public: + wxClipboardModule() { } + + bool OnInit(); + void OnExit(); +}; #endif // wxUSE_CLIPBOARD #endif