1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/msw/clipbrd.h 3// Purpose: wxClipboad class and clipboard functions for MSW 4// Author: Julian Smart 5// Modified by: 6// Created: 01/02/97 7// RCS-ID: $Id: clipbrd.h 49563 2007-10-31 20:46:21Z VZ $ 8// Copyright: (c) Julian Smart 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef _WX_CLIPBRD_H_ 13#define _WX_CLIPBRD_H_ 14 15#if wxUSE_CLIPBOARD 16 17#include "wx/list.h" 18#include "wx/module.h" 19#include "wx/dataobj.h" // for wxDataFormat 20 21// These functions superceded by wxClipboard, but retained in order to 22// implement wxClipboard, and for compatibility. 23 24// open/close the clipboard 25WXDLLEXPORT bool wxOpenClipboard(); 26WXDLLEXPORT bool wxIsClipboardOpened(); 27#define wxClipboardOpen wxIsClipboardOpened 28WXDLLEXPORT bool wxCloseClipboard(); 29 30// get/set data 31WXDLLEXPORT bool wxEmptyClipboard(); 32WXDLLEXPORT bool wxSetClipboardData(wxDataFormat dataFormat, 33 const void *data, 34 int width = 0, int height = 0); 35WXDLLEXPORT void* wxGetClipboardData(wxDataFormat dataFormat, 36 long *len = NULL); 37 38// clipboard formats 39WXDLLEXPORT bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat); 40WXDLLEXPORT wxDataFormat wxEnumClipboardFormats(wxDataFormat dataFormat); 41WXDLLEXPORT int wxRegisterClipboardFormat(wxChar *formatName); 42WXDLLEXPORT bool wxGetClipboardFormatName(wxDataFormat dataFormat, 43 wxChar *formatName, 44 int maxCount); 45 46//----------------------------------------------------------------------------- 47// wxClipboard 48//----------------------------------------------------------------------------- 49 50class WXDLLIMPEXP_FWD_CORE wxDataObject; 51class WXDLLEXPORT wxClipboard : public wxClipboardBase 52{ 53 DECLARE_DYNAMIC_CLASS(wxClipboard) 54 55public: 56 wxClipboard(); 57 virtual ~wxClipboard(); 58 59 // open the clipboard before SetData() and GetData() 60 virtual bool Open(); 61 62 // close the clipboard after SetData() and GetData() 63 virtual void Close(); 64 65 // query whether the clipboard is opened 66 virtual bool IsOpened() const; 67 68 // set the clipboard data. all other formats will be deleted. 69 virtual bool SetData( wxDataObject *data ); 70 71 // add to the clipboard data. 72 virtual bool AddData( wxDataObject *data ); 73 74 // ask if data in correct format is available 75 virtual bool IsSupported( const wxDataFormat& format ); 76 77 // fill data with data on the clipboard (if available) 78 virtual bool GetData( wxDataObject& data ); 79 80 // clears wxTheClipboard and the system's clipboard if possible 81 virtual void Clear(); 82 83 // flushes the clipboard: this means that the data which is currently on 84 // clipboard will stay available even after the application exits (possibly 85 // eating memory), otherwise the clipboard will be emptied on exit 86 virtual bool Flush(); 87 88 // X11 has two clipboards which get selected by this call. Empty on MSW. 89 void UsePrimarySelection( bool WXUNUSED(primary) = false ) { } 90 91private: 92 IDataObject *m_lastDataObject; 93 bool m_isOpened; 94}; 95 96#endif // wxUSE_CLIPBOARD 97#endif 98 // _WX_CLIPBRD_H_ 99