00001 /**************************************************************************** 00002 ** Créé par Anacr0x : anacr0x@free.fr 00003 ** 00004 ** Sous licence GPL v2 ou plus 00005 ****************************************************************************/ 00006 00007 #ifndef BASICTREEWIDGET_H 00008 #define BASICTREEWIDGET_H 00009 00010 #include <QTreeWidget> 00011 #include <QMouseEvent> 00012 00013 /*************************************************************************/ 00015 00018 /*************************************************************************/ 00019 00020 class BasicTreeWidget:public QTreeWidget 00021 { 00022 Q_OBJECT 00023 00024 public: 00026 BasicTreeWidget (QWidget *parent) : QTreeWidget(parent) 00027 {} 00028 ; 00029 00031 inline QTreeWidgetItem* firstSelectedItem () 00032 { 00033 QList<QTreeWidgetItem*> list = selectedItems (); 00034 if (!list.isEmpty ()) 00035 return list.first (); 00036 else 00037 return NULL; 00038 } 00039 00041 inline QList<QTreeWidgetItem*> itemsList () 00042 { 00043 return findItems("", Qt::MatchContains); 00044 } 00045 00046 signals: 00048 void buttonClickedOnVoid (); 00049 00051 void leftButtonClickedOnVoid (); 00052 00054 void rightButtonClickedOnVoid (QPoint); 00055 00057 void middleButtonClickedOnVoid (QPoint); 00058 00060 void buttonClickedOnItem (QTreeWidgetItem *); 00061 00063 void leftButtonClickedOnItem (QTreeWidgetItem *); 00064 00066 void rightButtonClickedOnItem (QTreeWidgetItem *, QPoint); 00067 00069 void middleButtonClickedOnItem (QTreeWidgetItem *, QPoint); 00070 00072 void doubleClickedOnItem (QTreeWidgetItem *); 00073 00075 void buttonClicked (QTreeWidgetItem *); 00076 00078 void leftButtonClicked (QTreeWidgetItem *); 00079 00081 void rightButtonClicked (QTreeWidgetItem *, QPoint); 00082 00084 void middleButtonClicked (QTreeWidgetItem *, QPoint); 00085 00086 private: 00088 void mousePressEvent (QMouseEvent *event); 00089 00091 void mouseDoubleClickEvent (QMouseEvent *event); 00092 }; 00093 00094 #endif