libyui-qt-pkg
Loading...
Searching...
No Matches
YQPkgPatternList.h
1/*
2 Copyright (c) 2000 - 2010 Novell, Inc.
3 Copyright (c) 2021 SUSE LLC
4
5 This library is free software; you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as
7 published by the Free Software Foundation; either version 2.1 of the
8 License, or (at your option) version 3.0 of the License. This library
9 is distributed in the hope that it will be useful, but WITHOUT ANY
10 WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
12 License for more details. You should have received a copy of the GNU
13 Lesser General Public License along with this library; if not, write
14 to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
15 Floor, Boston, MA 02110-1301 USA
16*/
17
18
19/*
20 File: YQPkgPatternList.h
21 Author: Stefan Hundhammer <shundhammer.de>
22*/
23
24
25#ifndef YQPkgPatternList_h
26#define YQPkgPatternList_h
27
28#include "YQPkgObjList.h"
29#include <QMap>
30
31
34
35
40{
41 Q_OBJECT
42
43public:
44
55 YQPkgPatternList( QWidget * parent, bool autoFill = true, bool autoFilter = true );
56
60 virtual ~YQPkgPatternList();
61
62public slots:
63
71 void filter();
72
76 void filterIfVisible();
77
78
84 void addPatternItem( ZyppSel selectable,
85 ZyppPattern pattern );
86
90 void fillList();
91
98 virtual void pkgObjClicked( int button,
99 QTreeWidgetItem * item,
100 int col,
101 const QPoint & pos );
102
108 virtual void selectSomething();
109
110
111public:
112
117
118
119signals:
120
126
130 void filterMatch( ZyppSel selectable,
131 ZyppPkg pkg );
132
137
138protected:
139
145 YQPkgPatternCategoryItem * category( const QString & categoryName );
146
147
148 //
149 // Data members
150 //
151
152 QMap<QString, YQPkgPatternCategoryItem*> _categories;
153 int _howmanyCol;
154};
155
156
157
159{
160public:
161
166 ZyppSel selectable,
167 ZyppPattern zyppPattern );
168
173 YQPkgPatternCategoryItem * parentCategory,
174 ZyppSel selectable,
175 ZyppPattern zyppPattern );
176
180 virtual ~YQPkgPatternListItem();
181
185 ZyppPattern zyppPattern() const { return _zyppPattern; }
186
191 virtual void cycleStatus();
192
196 virtual bool operator< ( const QTreeWidgetItem & other ) const;
197
198 // Columns
199
200 int statusCol() const { return _patternList->statusCol(); }
201 int summaryCol() const { return _patternList->summaryCol(); }
202
203 int totalPackages() const { return _total; }
204 int installedPackages() const { return _installed; }
205
206 // setters for installed and total packages values
207 void setTotalPackages(int v) { _total = v; }
208 void setInstalledPackages(int v) { _installed = v; }
209
213 void resetToolTip();
214
215protected:
216
220 void init();
221
228 virtual void applyChanges();
229
230
231 // Data members
232
233 YQPkgPatternList * _patternList;
234 ZyppPattern _zyppPattern;
235 // cache for total and installed packages
236 int _total;
237 int _installed;
238};
239
240
241
242class YQPkgPatternCategoryItem: public QY2ListViewItem
243{
244public:
245
250 const QString & category );
251
256
260 ZyppPattern firstPattern() const { return _firstPattern; }
261
265 void addPattern( ZyppPattern pattern );
266
270 virtual bool operator< ( const QTreeWidgetItem & other ) const;
271
272 /*
273 * Open or close this subtree
274 *
275 * Reimplemented from QListViewItem to force categories open at all times
276 **/
277 virtual void setExpanded( bool open );
278
279
280protected:
281
291 void setTreeIcon( void );
292 //
293 // Data members
294 //
295
296 YQPkgPatternList * _patternList;
297 ZyppPattern _firstPattern;
298};
299
300
301#endif // ifndef YQPkgPatternList_h
Definition YQPkgObjList.h:413
ZyppSel selectable() const
Definition YQPkgObjList.h:452
Abstract base class to display a list of zypp::ResObjects. Handles most generic stuff like setting st...
Definition YQPkgObjList.h:53
Definition YQPkgPatternList.h:243
YQPkgPatternCategoryItem(YQPkgPatternList *patternList, const QString &category)
Definition YQPkgPatternList.cc:473
void addPattern(ZyppPattern pattern)
Definition YQPkgPatternList.cc:498
virtual ~YQPkgPatternCategoryItem()
Definition YQPkgPatternList.cc:491
ZyppPattern firstPattern() const
Definition YQPkgPatternList.h:260
virtual bool operator<(const QTreeWidgetItem &other) const
Definition YQPkgPatternList.cc:531
void setTreeIcon(void)
Definition YQPkgPatternList.cc:521
Definition YQPkgPatternList.h:159
virtual bool operator<(const QTreeWidgetItem &other) const
Definition YQPkgPatternList.cc:452
virtual void applyChanges()
Definition YQPkgPatternList.cc:446
virtual void cycleStatus()
Definition YQPkgPatternList.cc:380
void resetToolTip()
Definition YQPkgPatternList.cc:431
ZyppPattern zyppPattern() const
Definition YQPkgPatternList.h:185
YQPkgPatternListItem(YQPkgPatternList *patternList, ZyppSel selectable, ZyppPattern zyppPattern)
Definition YQPkgPatternList.cc:324
void init()
Definition YQPkgPatternList.cc:351
virtual ~YQPkgPatternListItem()
Definition YQPkgPatternList.cc:373
Display a list of zypp::Pattern objects.
Definition YQPkgPatternList.h:40
void filterMatch(ZyppSel selectable, ZyppPkg pkg)
void filter()
Definition YQPkgPatternList.cc:190
void fillList()
Definition YQPkgPatternList.cc:124
virtual ~YQPkgPatternList()
Definition YQPkgPatternList.cc:117
virtual void pkgObjClicked(int button, QTreeWidgetItem *item, int col, const QPoint &pos)
Definition YQPkgPatternList.cc:274
virtual void selectSomething()
Definition YQPkgPatternList.cc:301
void filterIfVisible()
Definition YQPkgPatternList.cc:182
YQPkgPatternList(QWidget *parent, bool autoFill=true, bool autoFilter=true)
Definition YQPkgPatternList.cc:54
void addPatternItem(ZyppSel selectable, ZyppPattern pattern)
Definition YQPkgPatternList.cc:232
YQPkgPatternCategoryItem * category(const QString &categoryName)
Definition YQPkgPatternList.cc:160
YQPkgPatternListItem * selection() const
Definition YQPkgPatternList.cc:262