00001 #ifndef DRAGDROPABLETREEWIDGET_H
00002 #define DRAGDROPABLETREEWIDGET_H
00003
00004 #include <QTreeWidget>
00005 #include <QtGui>
00006 #include <QList>
00007
00008 class ArcStorageWindow;
00009
00016 class DragDropableTreeWidget : public QTreeWidget
00017 {
00018 public:
00019 DragDropableTreeWidget(QWidget *parent = 0);
00020 ~DragDropableTreeWidget();
00021 void setMainWindow(ArcStorageWindow *mw) { mainWindow = mw; }
00022
00023 void resetSelection();
00024
00025 private:
00026 ArcStorageWindow *mainWindow;
00027 QPoint dragStartPos;
00028 QList<QTreeWidgetItem*> m_selectedItems;
00029
00030
00031 protected:
00032 void dragEnterEvent(QDragEnterEvent *event);
00033 void dragMoveEvent(QDragMoveEvent *event);
00034 void dragLeaveEvent(QDragLeaveEvent *event);
00035 void dropEvent(QDropEvent *event);
00036 void mousePressEvent(QMouseEvent *event);
00037 void mouseMoveEvent(QMouseEvent *event);
00038 void mouseReleaseEvent(QMouseEvent* event);
00039 };
00040
00041 #endif // DRAGDROPABLETREEWIDGET_H