19#include <QAbstractItemView>
46 Qt::DropActions supportedDropActions()
const;
47 QStringList mimeTypes()
const;
48 bool dropMimeData(
const QMimeData*,
53 QMimeData* mimeData(
const QModelIndexList& indexes)
const;
61 virtual Qt::ItemFlags dragDropFlags(
const QModelIndex& index)
const;
70 Qt::ItemFlags dragDropFlagsV2(
const QModelIndex& index)
const;
71 virtual bool isDragEnabled(
const QModelIndex& index)
const;
72 virtual bool isDropEnabled(
const QModelIndex& index)
const;
80#define DECLARE_MODEL_DRAG_DROP_METHODS \
81 virtual Qt::DropActions supportedDropActions() const override \
82 { return DragDropModelImplementation::supportedDropActions(); } \
83 virtual QStringList mimeTypes() const override \
84 { return DragDropModelImplementation::mimeTypes(); } \
85 virtual bool dropMimeData(const QMimeData* d, Qt::DropAction a, \
86 int r, int c, const QModelIndex& p) override \
87 { return DragDropModelImplementation::dropMimeData(d, a, r, c, p); } \
88 virtual QMimeData* mimeData(const QModelIndexList& indexes) const override \
89 { return DragDropModelImplementation::mimeData(indexes); }
111 virtual void paste();
140 void dragEnterEvent(QDragEnterEvent* event);
141 void dragMoveEvent(QDragMoveEvent* e);
142 void dropEvent(QDropEvent* e);
143 void startDrag(Qt::DropActions supportedActions);
145#define DECLARE_VIEW_DRAG_DROP_METHODS(ParentViewClass) \
146 virtual QAbstractItemView* asView() override \
148 void dragEnterEvent(QDragEnterEvent* e) override \
149 { DragDropViewImplementation::dragEnterEvent(e); } \
150 void dragMoveEvent(QDragMoveEvent* e) override \
151 { ParentViewClass::dragMoveEvent(e); \
152 DragDropViewImplementation::dragMoveEvent(e); } \
153 void dropEvent(QDropEvent* e) override \
154 { ParentViewClass::dropEvent(e); \
155 DragDropViewImplementation::dropEvent(e); } \
156 void startDrag(Qt::DropActions supportedActions) override \
157 { DragDropViewImplementation::startDrag(supportedActions); }
159 void encodeIsCutSelection(QMimeData* mime,
bool isCutSelection);
160 bool decodeIsCutSelection(
const QMimeData* mimeData);
164 Q_DISABLE_COPY(DragDropViewImplementation)
Definition abstractitemdragdrophandler.h:32
Definition dragdropimplementations.h:30
DragDropModelImplementation()=default
Definition dragdropimplementations.h:103
virtual QAbstractItemView * asView()=0
virtual QPixmap pixmapForDrag(const QList< QModelIndex > &indexes) const =0
virtual QModelIndex mapIndexForDragDrop(const QModelIndex &index) const =0
virtual ~DragDropViewImplementation()=default
DragDropViewImplementation()=default
virtual AbstractItemDragDropHandler * dragDropHandler() const =0
Definition datefolderview.cpp:34