QSint Library  0.2.2
actionbox.h
1 #ifndef ACTIONBOX_H
2 #define ACTIONBOX_H
3 
4 #include "actionlabel.h"
5 
6 #include <QLabel>
7 #include <QVBoxLayout>
8 
9 
10 namespace QSint
11 {
12 
13 
155 class ActionBox : public QFrame
156 {
157  Q_OBJECT
158 
159  Q_PROPERTY(QPixmap icon READ icon WRITE setIcon)
160  Q_PROPERTY(ActionLabel header READ header)
161 
162 public:
165  explicit ActionBox(QWidget *parent = 0);
168  explicit ActionBox(const QString & headerText, QWidget *parent = 0);
171  explicit ActionBox(const QPixmap & icon, const QString & headerText, QWidget *parent = 0);
172 
175  void setIcon(const QPixmap & icon);
178  inline const QPixmap* icon() const { return iconLabel->pixmap(); }
179 
182  inline ActionLabel* header() const { return headerLabel; }
183 
195  ActionLabel* createItem(QAction * action, QLayout * l = 0);
196 
200  QList<ActionLabel*> createItems(QList<QAction*> actions);
201 
204  ActionLabel* createItem(const QString & text = "", QLayout * l = 0);
209  ActionLabel* createItem(const QPixmap & icon, const QString & text, QLayout * l = 0);
210 
216  QSpacerItem* createSpacer(QLayout * l = 0);
217 
222  QLayout* createHBoxLayout();
223 
226  inline QLayout* itemLayout() const { return dataLayout; }
227 
230  void addLayout(QLayout * l);
236  void addWidget(QWidget * w, QLayout * l = 0);
237 
238  virtual QSize minimumSizeHint() const;
239 
240 protected:
241  void init();
242 
243  QVBoxLayout *dataLayout;
244  QLabel *iconLabel;
245  ActionLabel *headerLabel;
246 };
247 
248 
249 } // namespace
250 
251 #endif // ACTIONBOX_H
ActionLabel * header() const
Definition: actionbox.h:182
QLayout * itemLayout() const
Definition: actionbox.h:226
void setIcon(const QPixmap &icon)
Definition: actionbox.cpp:106
ActionBox(QWidget *parent=0)
Definition: actionbox.cpp:63
ActionLabel * createItem(QAction *action, QLayout *l=0)
Definition: actionbox.cpp:112
QLayout * createHBoxLayout()
Definition: actionbox.cpp:178
Class representing a panel of actions similar to Windows Vista/7 control panel items.
Definition: actionbox.h:155
QList< ActionLabel * > createItems(QList< QAction * > actions)
Definition: actionbox.cpp:122
const QPixmap * icon() const
Definition: actionbox.h:178
Class representing an action similar to Windows Vista/7 control panel item.
Definition: actionlabel.h:60
void addWidget(QWidget *w, QLayout *l=0)
Definition: actionbox.cpp:196
QSpacerItem * createSpacer(QLayout *l=0)
Definition: actionbox.cpp:166
void addLayout(QLayout *l)
Definition: actionbox.cpp:188

© Sintegrial Technologies 2011-2014
http://www.sintegrial.com