home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / include / wx / os2 / clipbrd.h < prev    next >
C/C++ Source or Header  |  2001-04-22  |  4KB  |  101 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name:        clipbrd.h
  3. // Purpose:     Clipboard functionality.
  4. //              Note: this functionality is under review, and
  5. //              is derived from wxWindows 1.xx code. Please contact
  6. //              the wxWindows developers for further information.
  7. // Author:      David Webster
  8. // Modified by:
  9. // Created:     10/13/99
  10. // RCS-ID:      $Id: CLIPBRD.H,v 1.7 2001/04/22 20:35:59 SN Exp $
  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
  28. WXDLLEXPORT bool wxOpenClipboard();
  29. WXDLLEXPORT bool wxIsClipboardOpened();
  30. #define wxClipboardOpen wxIsClipboardOpened
  31. WXDLLEXPORT bool wxCloseClipboard();
  32.  
  33. // get/set data
  34. WXDLLEXPORT bool wxEmptyClipboard();
  35. WXDLLEXPORT bool wxSetClipboardData(wxDataFormat dataFormat,
  36.                                     const void *data,
  37.                                     int width = 0, int height = 0);
  38. WXDLLEXPORT void* wxGetClipboardData(wxDataFormat dataFormat,
  39.                                      long *len = NULL);
  40.  
  41. // clipboard formats
  42. WXDLLEXPORT bool wxIsClipboardFormatAvailable(wxDataFormat dataFormat);
  43. WXDLLEXPORT wxDataFormat wxEnumClipboardFormats(wxDataFormat dataFormat);
  44. WXDLLEXPORT int  wxRegisterClipboardFormat(wxChar *formatName);
  45. WXDLLEXPORT bool wxGetClipboardFormatName(wxDataFormat dataFormat,
  46.                                           wxChar *formatName,
  47.                                           int maxCount);
  48.  
  49. //-----------------------------------------------------------------------------
  50. // wxClipboard
  51. //-----------------------------------------------------------------------------
  52.  
  53. class WXDLLEXPORT wxDataObject;
  54. class WXDLLEXPORT wxClipboard : public wxObject
  55. {
  56.     DECLARE_DYNAMIC_CLASS(wxClipboard)
  57.  
  58. public:
  59.     wxClipboard();
  60.     ~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( 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.  
  94. private:
  95.     bool m_clearOnExit;
  96. };
  97.  
  98. #endif // wxUSE_CLIPBOARD
  99. #endif
  100.     // _WX_CLIPBRD_H_
  101.