rock_widget_collection  0.1
MultiWidget.h
Go to the documentation of this file.
1 #ifndef _MULTI_VIEW_WIDGET_H
2 #define _MULTI_VIEW_WIDGET_H
3 
4 #include <PaintWidget.h>
5 #include <QtDesigner/QDesignerExportWidget>
6 
7 
8 class QDESIGNER_WIDGET_EXPORT MultiWidget : public PaintWidget
9 {
10  Q_OBJECT
11  Q_CLASSINFO("Author", "Matthias Goldhoorn")
12  Q_PROPERTY(bool hideWhenMinimized READ isHiddenWhenMinimized WRITE hideWhenMin USER false)
13  Q_PROPERTY(QString minimizedLabel READ getMinimizedLabel WRITE setMinimizedLabel)
14 
15 signals:
16  void activityChanged(bool);
17 public:
18  MultiWidget(QWidget *parent=0):
19  PaintWidget(parent),
20  isActive(false),
21  hideWhenMinimized(false),
22  wasHidden(false)
23  {};
24 
25 public slots:
26 
27  void setActive(bool b){
28  isActive=b;
29  emit activityChanged(b);
30 
31  for(QObjectList::const_iterator it = children().begin(); it != children().end(); it++){
32  MultiWidget *child = dynamic_cast<MultiWidget*>(*it);
33  if(child > 0){
34  child->setActive(isActive);
35  }
36  }
37 
38  if(!isActive){
39  if(hideWhenMinimized){
40  wasHidden=isHidden();
41  hide();
42  }
43  }else{
44  //if(!wasHidden){
45  show();
46  //}
47  }
48  }
49 
50  QString getMinimizedLabel(){return minimizedLabel;}
51  void setMinimizedLabel(QString label){minimizedLabel = label;}
52 
53 
59  void childEvent(QChildEvent* event){
60  QWidget::childEvent(event);
61  }
62 
63  bool event(QEvent* event){
64  return QWidget::event(event);
65  }
66 
67  bool isHiddenWhenMinimized() const{
68  return hideWhenMinimized;
69  }
70 
71  void hideWhenMin(bool b){
72  hideWhenMinimized = b;
73  }
74 
75 protected:
77  bool isActive;
78  bool hideWhenMinimized;
79  bool wasHidden;
80  QString minimizedLabel;
81 };
82 
83 
84 #endif
void setActive(bool b)
Definition: MultiWidget.h:27
bool isHiddenWhenMinimized() const
Definition: MultiWidget.h:67
bool wasHidden
Definition: MultiWidget.h:79
void childEvent(QChildEvent *event)
Definition: MultiWidget.h:59
bool event(QEvent *event)
Definition: MultiWidget.h:63
bool isActive
Definition: MultiWidget.h:77
QString getMinimizedLabel()
Definition: MultiWidget.h:50
void setMinimizedLabel(QString label)
Definition: MultiWidget.h:51
void hideWhenMin(bool b)
Definition: MultiWidget.h:71