diff options
Diffstat (limited to 'examples/demo/dnd/listview.h')
-rw-r--r-- | examples/demo/dnd/listview.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/examples/demo/dnd/listview.h b/examples/demo/dnd/listview.h new file mode 100644 index 0000000..507e594 --- /dev/null +++ b/examples/demo/dnd/listview.h @@ -0,0 +1,35 @@ +#include <qlistview.h> + +class ListViewItem : public QListViewItem +{ +public: + ListViewItem ( QListView * parent, const QString& name, const QString& tag ) + : QListViewItem( parent, name ), _tag( tag ) {} + ListViewItem ( QListView * parent, QListViewItem * after, const QString& name, const QString& tag ) + : QListViewItem( parent, after, name ), _tag( tag ) {} + virtual ~ListViewItem() {} + + QString tag() { return _tag; } + +private: + QString _tag; +}; + +class ListView : public QListView +{ + Q_OBJECT + +public: + ListView( QWidget* parent = 0, const char* name = 0 ); + ~ListView(); + + void dragEnterEvent( QDragEnterEvent * ); + void dropEvent( QDropEvent * ); + void contentsMousePressEvent( QMouseEvent * ); + void contentsMouseMoveEvent( QMouseEvent * ); + void contentsMouseReleaseEvent( QMouseEvent * ); + +private: + QPoint pressPos; + bool dragging; +}; |