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 / dnd.h < prev    next >
C/C++ Source or Header  |  2002-04-28  |  2KB  |  82 lines

  1. ///////////////////////////////////////////////////////////////////////////////
  2. // Name:        dnd.h
  3. // Purpose:     declaration of the wxDropTarget class
  4. // Author:      David Webster
  5. // Modified by:
  6. // Created:     10/21/99
  7. // RCS-ID:      $Id: DND.H,v 1.11 2002/04/28 14:30:53 VZ Exp $
  8. // Copyright:   (c) 1999 David Webster
  9. // Licence:     wxWindows license
  10. ///////////////////////////////////////////////////////////////////////////////
  11.  
  12.  
  13. #ifndef __OS2DNDH__
  14. #define __OS2DNDH__
  15.  
  16. #if !wxUSE_DRAG_AND_DROP
  17.     #error  "You should #define wxUSE_DRAG_AND_DROP to 1 to compile this file!"
  18. #endif  //WX_DRAG_DROP
  19.  
  20. #define INCL_WINSTDDRAG
  21. #include <os2.h>
  22. #ifndef __EMX__
  23. #include <pmstddlg.h>
  24. #endif
  25.  
  26. //-------------------------------------------------------------------------
  27. // wxDropSource
  28. //-------------------------------------------------------------------------
  29.  
  30. class WXDLLEXPORT wxDropSource: public wxDropSourceBase
  31. {
  32. public:
  33.     /* constructor. set data later with SetData() */
  34.     wxDropSource(wxWindow* pWin);
  35.  
  36.     /* constructor for setting one data object */
  37.     wxDropSource( wxDataObject& rData,
  38.                   wxWindow*     pWin
  39.                 );
  40.     virtual ~wxDropSource();
  41.  
  42.     /* start drag action */
  43.     virtual wxDragResult DoDragDrop(int flags = wxDrag_CopyOnly);
  44.  
  45. protected:
  46.     void Init(void);
  47.     bool                            m_bLazyDrag;
  48.  
  49.     DRAGIMAGE*                      m_pDragImage;
  50.     DRAGINFO*                       m_pDragInfo;
  51.     DRAGTRANSFER*                   m_pDragTransfer;
  52. };
  53.  
  54. //-------------------------------------------------------------------------
  55. // wxDropTarget
  56. //-------------------------------------------------------------------------
  57.  
  58. class WXDLLEXPORT wxDropTarget: public wxDropTargetBase
  59. {
  60. public:
  61.     wxDropTarget(wxDataObject *dataObject = (wxDataObject*)NULL);
  62.     virtual ~wxDropTarget();
  63.  
  64.     void Register(WXHWND hwnd);
  65.     void Revoke(WXHWND hwnd);
  66.  
  67.     virtual wxDragResult OnDragOver(wxCoord x, wxCoord y, wxDragResult def);
  68.     virtual bool OnDrop(wxCoord x, wxCoord y);
  69.     virtual wxDragResult OnData(wxCoord x, wxCoord y, wxDragResult vResult);
  70.     virtual bool GetData();
  71.  
  72.   // implementation
  73. protected:
  74.     virtual bool IsAcceptable(DRAGINFO* pInfo);
  75.  
  76.     DRAGINFO*                       m_pDragInfo;
  77.     DRAGTRANSFER*                   m_pDragTransfer;
  78. };
  79.  
  80. #endif //__OS2DNDH__
  81.  
  82.