| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- ///////////////////////////////////////////////////////////////////////////////
- // Name: wx/os2/dnd.h
- // Purpose: declaration of the wxDropTarget class
- // Author: David Webster
- // Modified by:
- // Created: 10/21/99
- // Copyright: (c) 1999 David Webster
- // Licence: wxWindows licence
- ///////////////////////////////////////////////////////////////////////////////
- #ifndef __OS2DNDH__
- #define __OS2DNDH__
- #if !wxUSE_DRAG_AND_DROP
- #error "You should #define wxUSE_DRAG_AND_DROP to 1 to compile this file!"
- #endif //WX_DRAG_DROP
- #define INCL_WINSTDDRAG
- #include <os2.h>
- #ifndef __EMX__
- #include <pmstddlg.h>
- #endif
- class CIDropTarget;
- //-------------------------------------------------------------------------
- // wxDropSource
- //-------------------------------------------------------------------------
- class WXDLLIMPEXP_CORE wxDropSource: public wxDropSourceBase
- {
- public:
- /* constructor. set data later with SetData() */
- wxDropSource(wxWindow* pWin);
- /* constructor for setting one data object */
- wxDropSource( wxDataObject& rData,
- wxWindow* pWin
- );
- virtual ~wxDropSource();
- /* start drag action */
- virtual wxDragResult DoDragDrop(int flags = wxDrag_CopyOnly);
- virtual bool GiveFeedback(wxDragResult eEffect);
- protected:
- void Init(void);
- ULONG m_ulItems;
- PDRAGINFO m_pDragInfo;
- DRAGIMAGE m_vDragImage;
- PDRAGITEM m_pDragItem;
- wxWindow* m_pWindow;
- }; // end of CLASS wxDropSource
- //-------------------------------------------------------------------------
- // wxDropTarget
- //-------------------------------------------------------------------------
- class WXDLLIMPEXP_CORE wxDropTarget : public wxDropTargetBase
- {
- public:
- wxDropTarget(wxDataObject* pDataObject = NULL);
- virtual ~wxDropTarget();
- //
- // These functions are called when data is moved over position (x, y) and
- // may return either wxDragCopy, wxDragMove or wxDragNone depending on
- // what would happen if the data were dropped here.
- //
- // The last parameter is what would happen by default and is determined by
- // the platform-specific logic (for example, under Windows it's wxDragCopy
- // if Ctrl key is pressed and wxDragMove otherwise) except that it will
- // always be wxDragNone if the carried data is in an unsupported format.
- //
- // OnData must be implemented and other should be overridden by derived classes
- //
- virtual wxDragResult OnData( wxCoord vX
- ,wxCoord vY
- ,wxDragResult eResult
- );
- virtual bool OnDrop( wxCoord vX
- ,wxCoord vY
- );
- bool IsAcceptedData(PDRAGINFO pDataSource) const;
- protected:
- virtual bool GetData(void);
- wxDataFormat GetSupportedFormat(PDRAGINFO pDataSource) const;
- void Release(void);
- private:
- CIDropTarget* m_pDropTarget;
- }; // end of CLASS wxDropTarget
- #endif //__OS2DNDH__
|