iistaskpanel.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *                                                                         *
00003  *   Copyright: http://www.ii-system.com                                   *
00004  *   License:   LGPL                                                       *
00005  *                                                                         *
00006  ***************************************************************************/
00007 
00008 #include "iistaskpanel.h"
00009 #include "iistaskpanelscheme.h"
00010 #include "iistaskbox.h"
00011 #include "iistaskgroup.h"
00012 
00013 
00014 iisTaskPanel::iisTaskPanel(QWidget *parent) :
00015         QWidget(parent), mySpacer(0)
00016 {
00017         myScheme = iisTaskPanelScheme::defaultScheme();
00018 
00019         QVBoxLayout *vbl = new QVBoxLayout();
00020         vbl->setMargin(8);
00021         vbl->setSpacing(8);
00022         setLayout(vbl);
00023 }
00024 
00025 iisTaskPanel::~iisTaskPanel()
00026 {
00027 
00028 }
00029 
00030 void iisTaskPanel::setScheme(iisTaskPanelScheme *scheme)
00031 {
00032         if (scheme) {
00033                 myScheme = scheme;
00034 
00035                 // set scheme for children
00036                 QObjectList list(children());
00037                 foreach(QObject *obj, list) {
00038                         if (dynamic_cast<iisTaskBox*>(obj)) {
00039                                 ((iisTaskBox*)obj)->setScheme(scheme);
00040                                 continue;
00041                         }
00042 
00043                         if (dynamic_cast<iisTaskGroup*>(obj)) {
00044                                 ((iisTaskGroup*)obj)->setScheme(scheme);
00045                                 continue;
00046                         }
00047                 }
00048 
00049                 update();
00050         }
00051 }
00052 
00053 void iisTaskPanel::paintEvent ( QPaintEvent * event ) 
00054 {
00055         QPainter p(this);
00056 
00057         //p.setOpacity(0.5);
00058         p.fillRect(rect(), myScheme->panelBackground);
00059 }
00060 
00061 void iisTaskPanel::addWidget(QWidget *w)
00062 {
00063         if (w)
00064                 layout()->addWidget(w);
00065 }
00066 
00067 void iisTaskPanel::removeWidget(QWidget *w)
00068 {
00069         if (w)
00070                 layout()->removeWidget(w);
00071 }
00072 
00073 void iisTaskPanel::addStretch(int s)
00074 {
00075         if (!mySpacer) {
00076                 mySpacer = new QSpacerItem(0,0,QSizePolicy::Minimum, QSizePolicy::Expanding);
00077                 layout()->addItem(mySpacer);
00078         }
00079         //((QVBoxLayout*)layout())->addStretch(s);
00080 }
00081 
00082 void iisTaskPanel::removeStretch()
00083 {
00084         if (mySpacer) {
00085                 layout()->removeItem(mySpacer);
00086                 delete mySpacer; mySpacer = 0;
00087         }
00088 }
00089 

Generated on Wed Nov 23 19:00:18 2011 for FreeCAD by  doxygen 1.6.1