File indexing completed on 2024-10-06 03:45:48
0001 // 0002 // C++ Implementation: cgaugebar 0003 // 0004 // Description: 0005 // 0006 /* 0007 Copyright 2004-2011 Tomas Mecir <kmuddy@kmuddy.com> 0008 0009 This program is free software; you can redistribute it and/or 0010 modify it under the terms of the GNU General Public License as 0011 published by the Free Software Foundation; either version 2 of 0012 the License, or (at your option) any later version. 0013 0014 This program is distributed in the hope that it will be useful, 0015 but WITHOUT ANY WARRANTY; without even the implied warranty of 0016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0017 GNU General Public License for more details. 0018 0019 You should have received a copy of the GNU General Public License 0020 along with this program. If not, see <http://www.gnu.org/licenses/>. 0021 */ 0022 0023 #include "cgaugebar.h" 0024 0025 #include "cgauge.h" 0026 #include "cgaugebaritem.h" 0027 #include "cgaugelist.h" 0028 0029 #include <QHBoxLayout> 0030 0031 cGaugeBar::cGaugeBar (int sess, QWidget *parent) 0032 : QWidget(parent), cActionBase ("gaugebar", sess) 0033 { 0034 layout = new QHBoxLayout (this); 0035 layout->setSpacing (5); 0036 layout->setContentsMargins (2, 2, 2, 2); 0037 setFocusPolicy (Qt::NoFocus); 0038 count = 0; 0039 layout->addStretch (1); 0040 setAutoFillBackground (true); 0041 } 0042 0043 0044 cGaugeBar::~cGaugeBar () 0045 { 0046 } 0047 0048 void cGaugeBar::addGauge (cGauge *g) 0049 { 0050 layout->insertWidget (count, g->gaugeItem()); 0051 g->gaugeItem()->show(); 0052 count++; 0053 update (); 0054 } 0055 0056 void cGaugeBar::removeGauge (cGauge *g) 0057 { 0058 if (!g->gaugeItem()) return; 0059 layout->removeWidget (g->gaugeItem()); 0060 g->gaugeItem()->hide(); 0061 if (count) count--; 0062 update (); 0063 } 0064 0065 #include "moc_cgaugebar.cpp"