libyui-qt
YQMultiSelectionBox.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: YQMultiSelectionBox.h
20 
21  Author: Stefan Hundhammer <shundhammer@suse.de>
22 
23 /-*/
24 
25 
26 #ifndef YQMultiSelectionBox_h
27 #define YQMultiSelectionBox_h
28 
29 #include <QFrame>
30 #include <QTreeWidget>
31 
32 #include <yui/YMultiSelectionBox.h>
33 
34 class YQWidgetCaption;
36 
37 
38 class YQMultiSelectionBox : public QFrame, public YMultiSelectionBox
39 {
40  Q_OBJECT
41 
42 public:
43 
47  YQMultiSelectionBox( YWidget * parent, const std::string & label );
48 
53 
59  virtual void setLabel( const std::string & label );
60 
66  virtual void addItem( YItem * item );
67 
73  virtual void selectItem( YItem * item, bool selected = true );
74 
80  virtual void deselectAllItems();
81 
87  virtual void deleteAllItems();
88 
95  virtual YItem * currentItem();
96 
103  virtual void setCurrentItem( YItem * item );
104 
110  virtual void setEnabled( bool enabled );
111 
117  virtual int preferredWidth();
118 
124  virtual int preferredHeight();
125 
131  virtual void setSize( int newWidth, int newHeight );
132 
136  virtual bool setKeyboardFocus();
137 
138 
139 signals:
143  void valueChanged();
144 
145 
146 protected slots:
150  void slotSelected();
151 
155  void slotValueChanged();
156 
157  void slotItemChanged( QTreeWidgetItem*, int );
158 
159 protected:
163  YQMultiSelectionBoxItem * findItem( YItem * item );
164 
165 
166  YQWidgetCaption * _caption;
167  QTreeWidget * _qt_listView;
168 };
169 
170 
171 
172 class YQMultiSelectionBoxItem: public QTreeWidgetItem
173 {
174 public:
179  QTreeWidget * listView,
180  YItem * yItem );
181 
186 
190  YItem * yItem() const { return _yItem; }
191 
192 
193 protected:
194 
195  //
196  // Data members
197  //
198 
199  YItem * _yItem;
200  int _serial;
201  YQMultiSelectionBox * _multiSelectionBox;
202 
203 
207  static int _item_count;
208 };
209 
210 #endif // YQLabel_h
void slotValueChanged()
Definition: YQMultiSelectionBox.cc:293
virtual int preferredWidth()
Definition: YQMultiSelectionBox.cc:241
static int _item_count
Definition: YQMultiSelectionBox.h:207
Definition: YQMultiSelectionBox.h:38
virtual int preferredHeight()
Definition: YQMultiSelectionBox.cc:250
virtual ~YQMultiSelectionBoxItem()
Definition: YQMultiSelectionBox.h:185
YQMultiSelectionBox(YWidget *parent, const std::string &label)
Definition: YQMultiSelectionBox.cc:47
virtual void deleteAllItems()
Definition: YQMultiSelectionBox.cc:155
YQMultiSelectionBoxItem(YQMultiSelectionBox *parent, QTreeWidget *listView, YItem *yItem)
Definition: YQMultiSelectionBox.cc:333
virtual YItem * currentItem()
Definition: YQMultiSelectionBox.cc:165
virtual void setSize(int newWidth, int newHeight)
Definition: YQMultiSelectionBox.cc:262
Definition: YQMultiSelectionBox.h:172
YItem * yItem() const
Definition: YQMultiSelectionBox.h:190
virtual void setLabel(const std::string &label)
Definition: YQMultiSelectionBox.cc:96
virtual void deselectAllItems()
Definition: YQMultiSelectionBox.cc:135
virtual void setEnabled(bool enabled)
Definition: YQMultiSelectionBox.cc:232
YQMultiSelectionBoxItem * findItem(YItem *item)
Definition: YQMultiSelectionBox.cc:310
virtual void setCurrentItem(YItem *item)
Definition: YQMultiSelectionBox.cc:204
Definition: YQWidgetCaption.h:38
virtual bool setKeyboardFocus()
Definition: YQMultiSelectionBox.cc:269
virtual void selectItem(YItem *item, bool selected=true)
Definition: YQMultiSelectionBox.cc:124
void slotSelected()
Definition: YQMultiSelectionBox.cc:278
~YQMultiSelectionBox()
Definition: YQMultiSelectionBox.cc:89
virtual void addItem(YItem *item)
Definition: YQMultiSelectionBox.cc:104