X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a1b82138efe9aacda4e0ad7ce4b1551d624524c4..64b1cea09aac1077469090dc2dac9a139a509833:/include/wx/msw/clipbrd.h diff --git a/include/wx/msw/clipbrd.h b/include/wx/msw/clipbrd.h index c1afb26016..7a771e75bb 100644 --- a/include/wx/msw/clipbrd.h +++ b/include/wx/msw/clipbrd.h @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: clipbrd.h -// Purpose: Clipboard functionality +// Name: wx/msw/clipbrd.h +// Purpose: wxClipboad class and clipboard functions for MSW // Author: Julian Smart // Modified by: // Created: 01/02/97 @@ -12,13 +12,6 @@ #ifndef _WX_CLIPBRD_H_ #define _WX_CLIPBRD_H_ -#ifdef __GNUG__ -#pragma interface "clipbrd.h" -#endif - -#include "wx/defs.h" -#include "wx/setup.h" - #if wxUSE_CLIPBOARD #include "wx/list.h" @@ -29,24 +22,24 @@ // implement wxClipboard, and for compatibility. // open/close the clipboard -WXDLLEXPORT bool wxOpenClipboard(); -WXDLLEXPORT bool wxIsClipboardOpened(); +WXDLLIMPEXP_CORE bool wxOpenClipboard(); +WXDLLIMPEXP_CORE bool wxIsClipboardOpened(); #define wxClipboardOpen wxIsClipboardOpened -WXDLLEXPORT bool wxCloseClipboard(); +WXDLLIMPEXP_CORE bool wxCloseClipboard(); // get/set data -WXDLLEXPORT bool wxEmptyClipboard(); -WXDLLEXPORT bool wxSetClipboardData(wxDataFormat dataFormat, +WXDLLIMPEXP_CORE bool wxEmptyClipboard(); +WXDLLIMPEXP_CORE bool wxSetClipboardData(wxDataFormat dataFormat, const void *data, int width = 0, int height = 0); -WXDLLEXPORT void* wxGetClipboardData(wxDataFormat dataFormat, +WXDLLIMPEXP_CORE void* wxGetClipboardData(wxDataFormat dataFormat, long *len = NULL); // clipboard formats -WXDLLEXPORT bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat); -WXDLLEXPORT wxDataFormat wxEnumClipboardFormats(wxDataFormat dataFormat); -WXDLLEXPORT int wxRegisterClipboardFormat(wxChar *formatName); -WXDLLEXPORT bool wxGetClipboardFormatName(wxDataFormat dataFormat, +WXDLLIMPEXP_CORE bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat); +WXDLLIMPEXP_CORE wxDataFormat wxEnumClipboardFormats(wxDataFormat dataFormat); +WXDLLIMPEXP_CORE int wxRegisterClipboardFormat(wxChar *formatName); +WXDLLIMPEXP_CORE bool wxGetClipboardFormatName(wxDataFormat dataFormat, wxChar *formatName, int maxCount); @@ -54,14 +47,14 @@ WXDLLEXPORT bool wxGetClipboardFormatName(wxDataFormat dataFormat, // wxClipboard //----------------------------------------------------------------------------- -class WXDLLEXPORT wxDataObject; -class WXDLLEXPORT wxClipboard : public wxObject +class WXDLLIMPEXP_FWD_CORE wxDataObject; +class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase { DECLARE_DYNAMIC_CLASS(wxClipboard) public: wxClipboard(); - ~wxClipboard(); + virtual ~wxClipboard(); // open the clipboard before SetData() and GetData() virtual bool Open(); @@ -69,6 +62,9 @@ public: // close the clipboard after SetData() and GetData() virtual void Close(); + // query whether the clipboard is opened + virtual bool IsOpened() const; + // set the clipboard data. all other formats will be deleted. virtual bool SetData( wxDataObject *data ); @@ -76,38 +72,24 @@ public: virtual bool AddData( wxDataObject *data ); // ask if data in correct format is available - virtual bool IsSupported( wxDataFormat format ); + virtual bool IsSupported( const wxDataFormat& format ); // fill data with data on the clipboard (if available) - virtual bool GetData( wxDataObject *data ); + 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 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() { } + // flushes the clipboard: this means that the data which is currently on + // clipboard will stay available even after the application exits (possibly + // eating memory), otherwise the clipboard will be emptied on exit + virtual bool Flush(); - bool OnInit(); - void OnExit(); +private: + IDataObject *m_lastDataObject; + bool m_isOpened; }; #endif // wxUSE_CLIPBOARD -#endif - // _WX_CLIPBRD_H_ + +#endif // _WX_CLIPBRD_H_