00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: YQPkgRpmGroupTagsFilterView.h 00014 00015 Author: Stefan Hundhammer <sh@suse.de> 00016 00017 /-*/ 00018 00019 // -*- c++ -*- 00020 00021 00022 #ifndef YQPkgRpmGroupTagsFilterView_h 00023 #define YQPkgRpmGroupTagsFilterView_h 00024 00025 #include <qlistview.h> 00026 #include <y2pm/PMPackage.h> 00027 #include <y2util/YRpmGroupsTree.h> 00028 00029 00030 class YQPkgRpmGroupTag; 00031 00032 00038 class YQPkgRpmGroupTagsFilterView : public QListView 00039 { 00040 Q_OBJECT 00041 00042 public: 00043 00047 YQPkgRpmGroupTagsFilterView( QWidget * parent ); 00048 00052 virtual ~YQPkgRpmGroupTagsFilterView(); 00053 00057 YQPkgRpmGroupTag * selection() const; 00058 00059 00060 public slots: 00061 00069 void filter(); 00070 00074 void filterIfVisible(); 00075 00081 void selectSomething(); 00082 00083 00084 signals: 00085 00090 void filterStart(); 00091 00095 void filterMatch( PMPackagePtr pkg ); 00096 00100 void filterFinished(); 00101 00102 00103 protected: 00104 00110 void cloneTree( YStringTreeItem * parentRpmGroup, 00111 YQPkgRpmGroupTag * parentClone = 0 ); 00112 00113 00118 bool check( PMPackagePtr pkg ); 00119 }; 00120 00121 00122 00123 class YQPkgRpmGroupTag: public QListViewItem 00124 { 00125 public: 00126 00130 YQPkgRpmGroupTag( YQPkgRpmGroupTagsFilterView * parentFilterView, 00131 YStringTreeItem * rpmGroup ); 00132 00136 YQPkgRpmGroupTag( YQPkgRpmGroupTagsFilterView * parentFilterView, 00137 YQPkgRpmGroupTag * parentGroupTag, 00138 YStringTreeItem * rpmGroup ); 00139 00144 YQPkgRpmGroupTag( YQPkgRpmGroupTagsFilterView * parentFilterView, 00145 const QString & rpmGroupName, 00146 YStringTreeItem * rpmGroup ); 00147 00151 virtual ~YQPkgRpmGroupTag(); 00152 00153 00157 YQPkgRpmGroupTagsFilterView * filterView() const { return _filterView; } 00158 00162 const YStringTreeItem * rpmGroup() const { return _rpmGroup; } 00163 00164 00165 private: 00166 00167 // Data members 00168 00169 YQPkgRpmGroupTagsFilterView * _filterView; 00170 YStringTreeItem * _rpmGroup; 00171 }; 00172 00173 00174 #endif // ifndef YQPkgRpmGroupTagsFilterView_h