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