libyui-qt
Loading...
Searching...
No Matches
YQTree.h
1/*
2 Copyright (C) 2000-2012 Novell, Inc
3 This library is free software; you can redistribute it and/or modify
4 it under the terms of the GNU Lesser General Public License as
5 published by the Free Software Foundation; either version 2.1 of the
6 License, or (at your option) version 3.0 of the License. This library
7 is distributed in the hope that it will be useful, but WITHOUT ANY
8 WARRANTY; without even the implied warranty of MERCHANTABILITY or
9 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
10 License for more details. You should have received a copy of the GNU
11 Lesser General Public License along with this library; if not, write
12 to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
13 Floor, Boston, MA 02110-1301 USA
14*/
15
16
17/*-/
18
19 File: YQTree.h
20
21 Author: Stefan Hundhammer <shundhammer@suse.de>
22
23/-*/
24
25#ifndef YQTree_h
26#define YQTree_h
27
28#include <QFrame>
29#include <QTreeWidget>
30
31#include <yui/YTree.h>
32
33
34class YQWidgetCaption;
35class YQTreeItem;
36
37
38class YQTree : public QFrame, public YTree
39{
40 Q_OBJECT
41
42public:
43
47 YQTree( YWidget * parent,
48 const std::string & label,
49 bool multiSelection,
50 bool recursiveSelection );
51
55 virtual ~YQTree();
56
62 virtual void setLabel( const std::string & label );
63
72 virtual void rebuildTree();
73
79 virtual void selectItem( YItem * item, bool selected = true );
80
86 virtual void deselectAllItems();
87
93 virtual void deleteAllItems();
94
95
101 virtual void setEnabled( bool enabled );
102
108 virtual int preferredWidth();
109
115 virtual int preferredHeight();
116
122 virtual void setSize( int newWidth, int newHeight );
123
127 virtual bool setKeyboardFocus();
128
129
136 virtual YTreeItem * currentItem();
137
143 virtual void activate();
144
145
146protected slots:
147
148
149
156
162 void slotItemChanged( QTreeWidgetItem * item);
163 void slotItemClicked( QTreeWidgetItem * item, int column );
164
170 void slotActivated( QTreeWidgetItem * item);
171
175 void slotItemExpanded( QTreeWidgetItem * item );
176
180 void slotItemCollapsed( QTreeWidgetItem * item );
181
187 void slotContextMenu ( const QPoint & pos );
188
189
190protected:
191
195 void selectItem( YQTreeItem * item );
196
200 void selectItem(QTreeWidgetItem * item, bool selected, bool recursive);
201
205 void openBranch( YQTreeItem * item );
206
212 void buildDisplayTree( YQTreeItem * parentItem,
213 YItemIterator begin,
214 YItemIterator end );
215
216 //
217 // Data members
218 //
219
220 YQWidgetCaption * _caption;
221 QTreeWidget * _qt_treeWidget;
222 int _nextSerialNo;
223};
224
225
226class YQTreeItem: public QTreeWidgetItem
227{
228public:
229
233 YQTreeItem( YQTree * tree,
234 QTreeWidget * parent,
235 YTreeItem * origItem,
236 int serial );
237
241 YQTreeItem( YQTree * tree,
242 YQTreeItem * parent,
243 YTreeItem * origItem,
244 int serial );
245
249 YTreeItem * origItem() { return _origItem; }
250
256 virtual void setOpen( bool open );
257
258
259private:
260
264 void init( YQTree * tree,
265 YTreeItem * yTreeItem,
266 int serial );
267
268
269protected:
270
276 QString key( int column, bool ascending ) const;
277
278
279 //
280 // Data members
281 //
282
283 YQTree * _tree;
284 YTreeItem * _origItem;
285 int _serialNo;
286
287};
288
289
290#endif // ifndef YQTree_h
Definition YQTree.h:227
QString key(int column, bool ascending) const
Definition YQTree.cc:521
virtual void setOpen(bool open)
Definition YQTree.cc:513
YTreeItem * origItem()
Definition YQTree.h:249
Definition YQTree.h:39
void slotActivated(QTreeWidgetItem *item)
Definition YQTree.cc:360
virtual void selectItem(YItem *item, bool selected=true)
Definition YQTree.cc:162
virtual void rebuildTree()
Definition YQTree.cc:125
virtual void setSize(int newWidth, int newHeight)
Definition YQTree.cc:387
void slotSelectionChanged()
Definition YQTree.cc:344
virtual void setLabel(const std::string &label)
Definition YQTree.cc:118
void openBranch(YQTreeItem *item)
Definition YQTree.cc:208
void slotItemExpanded(QTreeWidgetItem *item)
Definition YQTree.cc:218
virtual YTreeItem * currentItem()
Definition YQTree.cc:421
void slotItemCollapsed(QTreeWidgetItem *item)
Definition YQTree.cc:229
void buildDisplayTree(YQTreeItem *parentItem, YItemIterator begin, YItemIterator end)
Definition YQTree.cc:135
virtual bool setKeyboardFocus()
Definition YQTree.cc:401
virtual void setEnabled(bool enabled)
Definition YQTree.cc:393
virtual void deleteAllItems()
Definition YQTree.cc:266
virtual void activate()
Definition YQTree.cc:438
virtual int preferredHeight()
Definition YQTree.cc:376
virtual ~YQTree()
Definition YQTree.cc:112
virtual int preferredWidth()
Definition YQTree.cc:369
void slotContextMenu(const QPoint &pos)
Definition YQTree.cc:409
void slotItemChanged(QTreeWidgetItem *item)
Definition YQTree.cc:298
virtual void deselectAllItems()
Definition YQTree.cc:240
Definition YQWidgetCaption.h:39