#ifndef DRAGGABLELISTMODEL_H #define DRAGGABLELISTMODEL_H #include #include "DictionaryOptionsDialog.h" #include "../dictionary/Dictionary.h" class DraggableListModel : public QAbstractListModel { Q_OBJECT public: DraggableListModel( DictionaryOptionsDialog* aParent ): QAbstractListModel( aParent ), m_parent( aParent ) {} Qt::ItemFlags flags(const QModelIndex &index) const; Qt::DropActions supportedDropActions() const; QStringList mimeTypes() const; QMimeData * mimeData(const QModelIndexList &indexes) const; bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent); virtual const void* dataPtr( const QModelIndex &aIndex ) const = 0; virtual void insertPointer(int aPos, void *aData) = 0; signals: void indexesDropped(QList aIndexes); protected: DictionaryOptionsDialog* m_parent; }; #endif