clipbrd.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/motif/clipbrd.h
  3. // Purpose: Clipboard functionality.
  4. // Author: Julian Smart
  5. // Modified by:
  6. // Created: 17/09/98
  7. // Copyright: (c) Julian Smart
  8. // Licence: wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #ifndef _WX_CLIPBRD_H_
  11. #define _WX_CLIPBRD_H_
  12. #if wxUSE_CLIPBOARD
  13. class WXDLLIMPEXP_FWD_CORE wxDataObject;
  14. struct wxDataIdToDataObject;
  15. #include "wx/list.h"
  16. WX_DECLARE_LIST(wxDataObject, wxDataObjectList);
  17. WX_DECLARE_LIST(wxDataIdToDataObject, wxDataIdToDataObjectList);
  18. WXDLLIMPEXP_CORE bool wxOpenClipboard();
  19. WXDLLIMPEXP_CORE bool wxClipboardOpen();
  20. WXDLLIMPEXP_CORE bool wxCloseClipboard();
  21. WXDLLIMPEXP_CORE bool wxEmptyClipboard();
  22. WXDLLIMPEXP_CORE bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat);
  23. WXDLLIMPEXP_CORE bool wxSetClipboardData(wxDataFormat dataFormat, wxObject *obj, int width = 0, int height = 0);
  24. WXDLLIMPEXP_CORE wxObject* wxGetClipboardData(wxDataFormat dataFormat, long *len = NULL);
  25. WXDLLIMPEXP_CORE wxDataFormat wxEnumClipboardFormats(wxDataFormat dataFormat);
  26. WXDLLIMPEXP_CORE wxDataFormat wxRegisterClipboardFormat(char *formatName);
  27. WXDLLIMPEXP_CORE bool wxGetClipboardFormatName(wxDataFormat dataFormat, char *formatName, int maxCount);
  28. //-----------------------------------------------------------------------------
  29. // wxClipboard
  30. //-----------------------------------------------------------------------------
  31. class WXDLLIMPEXP_CORE wxClipboard : public wxClipboardBase
  32. {
  33. public:
  34. wxClipboard();
  35. virtual ~wxClipboard();
  36. // open the clipboard before SetData() and GetData()
  37. virtual bool Open();
  38. // close the clipboard after SetData() and GetData()
  39. virtual void Close();
  40. // opened?
  41. virtual bool IsOpened() const { return m_open; }
  42. // replaces the data on the clipboard with data
  43. virtual bool SetData( wxDataObject *data );
  44. // adds data to the clipboard
  45. virtual bool AddData( wxDataObject *data );
  46. // format available on the clipboard ?
  47. virtual bool IsSupported( const wxDataFormat& format );
  48. // fill data with data on the clipboard (if available)
  49. virtual bool GetData( wxDataObject& data );
  50. // clears wxTheClipboard and the system's clipboard if possible
  51. virtual void Clear();
  52. // implementation from now on
  53. bool m_open;
  54. wxDataObjectList m_data;
  55. wxDataIdToDataObjectList m_idToObject;
  56. private:
  57. DECLARE_DYNAMIC_CLASS(wxClipboard)
  58. };
  59. #endif // wxUSE_CLIPBOARD
  60. #endif // _WX_CLIPBRD_H_