X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4ce81a75efb34de9f01fe3c7b9ffecb03293b1c3..da8b1d4b3b535aba94d04494f5b6e2b3e47901ee:/include/wx/msw/clipbrd.h diff --git a/include/wx/msw/clipbrd.h b/include/wx/msw/clipbrd.h index 9849af42eb..fc9a399f3b 100644 --- a/include/wx/msw/clipbrd.h +++ b/include/wx/msw/clipbrd.h @@ -1,98 +1,90 @@ ///////////////////////////////////////////////////////////////////////////// -// 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 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #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" -#include "wx/module.h" - -// 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); -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); +// These functions superceded by wxClipboard, but retained in order to +// implement wxClipboard, and for compatibility. + +// open/close the clipboard +WXDLLIMPEXP_CORE bool wxOpenClipboard(); +WXDLLIMPEXP_CORE bool wxIsClipboardOpened(); +#define wxClipboardOpen wxIsClipboardOpened +WXDLLIMPEXP_CORE bool wxCloseClipboard(); + +// get/set data +WXDLLIMPEXP_CORE bool wxEmptyClipboard(); +WXDLLIMPEXP_CORE bool wxSetClipboardData(wxDataFormat dataFormat, + const void *data, + int width = 0, int height = 0); +WXDLLIMPEXP_CORE void* wxGetClipboardData(wxDataFormat dataFormat, + long *len = NULL); + +// clipboard formats +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); //----------------------------------------------------------------------------- // wxClipboard //----------------------------------------------------------------------------- -class WXDLLEXPORT wxDataObject; -class WXDLLEXPORT wxClipboard: public wxObject +class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase { - 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; -}; + wxClipboard(); + virtual ~wxClipboard(); -/* The clipboard */ -WXDLLEXPORT_DATA(extern wxClipboard*) wxTheClipboard; + // open the clipboard before SetData() and GetData() + virtual bool Open(); -//----------------------------------------------------------------------------- -// wxClipboardModule -//----------------------------------------------------------------------------- + // close the clipboard after SetData() and GetData() + virtual void Close(); -class wxClipboardModule: public wxModule -{ - DECLARE_DYNAMIC_CLASS(wxClipboardModule) - -public: - wxClipboardModule() {} - bool OnInit(); - void OnExit(); + // 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 ); + + // add to the clipboard data. + virtual bool AddData( wxDataObject *data ); + + // ask if data in correct format is available + virtual bool IsSupported( const 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(); + + // 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(); + +private: + IDataObject *m_lastDataObject; + bool m_isOpened; + + DECLARE_DYNAMIC_CLASS(wxClipboard) }; #endif // wxUSE_CLIPBOARD -#endif - // _WX_CLIPBRD_H_ + +#endif // _WX_CLIPBRD_H_