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