/////////////////////////////////////////////////////////////////////////////
// Name: wx/qt/dnd.h
// Author: Peter Most
// Copyright: (c) Peter Most
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_QT_DND_H_
#define _WX_QT_DND_H_
#ifdef __WINDOWS__
#define wxDROP_ICON(name) wxCursor(#name)
#else
#define wxDROP_ICON(name) wxCursor(name##_xpm)
#endif
class WXDLLIMPEXP_CORE wxDropTarget : public wxDropTargetBase
{
public:
wxDropTarget(wxDataObject *dataObject = nullptr);
virtual ~wxDropTarget();
virtual bool OnDrop(wxCoord x, wxCoord y) override;
virtual wxDragResult OnData(wxCoord x,
wxCoord y,
wxDragResult def) override;
virtual bool GetData() override;
wxDataFormat GetMatchingPair();
void ConnectTo(QWidget* widget);
void Disconnect();
private:
class Impl;
Impl* m_pImpl;
};
class WXDLLIMPEXP_CORE wxDropSource: public wxDropSourceBase
{
public:
wxDropSource(wxWindow *win = nullptr,
const wxCursorBundle& copy = {},
const wxCursorBundle& move = {},
const wxCursorBundle& none = {});
wxDropSource(wxDataObject& data,
wxWindow *win,
const wxCursorBundle& copy = {},
const wxCursorBundle& move = {},
const wxCursorBundle& none = {});
virtual wxDragResult DoDragDrop(int flags = wxDrag_CopyOnly) override;
private:
wxWindow* m_parentWindow;
};
#endif // _WX_QT_DND_H_