summaryrefslogtreecommitdiffstats
path: root/examples/demo/dnd/listview.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/demo/dnd/listview.h')
-rw-r--r--examples/demo/dnd/listview.h35
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;
+};