benoitrigolleau@56: benoitrigolleau@56: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ benoitrigolleau@56: benoitrigolleau@56: /* benoitrigolleau@56: Sound Access benoitrigolleau@56: EASAIER client application. benoitrigolleau@56: Silogic 2007. Benoit Rigolleau. benoitrigolleau@56: benoitrigolleau@56: This program is free software; you can redistribute it and/or benoitrigolleau@56: modify it under the terms of the GNU General Public License as benoitrigolleau@56: published by the Free Software Foundation; either version 2 of the benoitrigolleau@56: License, or (at your option) any later version. See the file benoitrigolleau@56: COPYING included with this distribution for more information. benoitrigolleau@56: */ benoitrigolleau@56: benoitrigolleau@56: #include "ItemLayerList.h" benoitrigolleau@56: benoitrigolleau@56: #include "data/model/LayerItemModel.h" benoitrigolleau@56: benoitrigolleau@56: #include benoitrigolleau@56: benoitrigolleau@56: #include benoitrigolleau@56: #include benoitrigolleau@56: benoitrigolleau@56: ItemLayerList::ItemLayerList(QWidget *parent) : GenericItemList(parent){ benoitrigolleau@56: setAcceptDrops(true); benoitrigolleau@56: benoitrigolleau@56: /* Init all variables*/ benoitrigolleau@56: labelIcon = new QLabel; benoitrigolleau@56: labelName = new QLabel; benoitrigolleau@56: checkBox1 = new QCheckBox; benoitrigolleau@56: checkBox2 = new QCheckBox; benoitrigolleau@56: layoutMain = new QHBoxLayout; benoitrigolleau@56: benoitrigolleau@56: /* set the correct widget parameters*/ benoitrigolleau@56: labelIcon->setMaximumSize(25,25); benoitrigolleau@56: //labelIcon->setPixmap(QIcon(":icons/layerViewer_btn_config.png").pixmap(20)); benoitrigolleau@56: benoitrigolleau@56: labelName->setMaximumHeight(25); benoitrigolleau@56: //labelName->setText("ljdh lksdf hl"); benoitrigolleau@56: benoitrigolleau@56: checkBox1->setLayoutDirection(Qt::RightToLeft); benoitrigolleau@56: checkBox1->setMaximumSize(30,30); benoitrigolleau@56: //checkBox1->setText(""); benoitrigolleau@56: checkBox1->setAutoFillBackground(true); benoitrigolleau@56: //QPalette palette; benoitrigolleau@56: //palette.setColor(QPalette::Button,QColor ( 100, 60, 20)); benoitrigolleau@56: //checkBox1->setPalette(palette); benoitrigolleau@56: benoitrigolleau@56: checkBox2->setMaximumSize(20,30); benoitrigolleau@56: benoitrigolleau@56: layoutMain->setSpacing(5); benoitrigolleau@56: layoutMain->setMargin(0); benoitrigolleau@56: benoitrigolleau@56: this->setMaximumHeight(30); benoitrigolleau@56: this->setMinimumHeight(30); benoitrigolleau@56: this->setFrameStyle(QFrame::Panel | QFrame::Raised); benoitrigolleau@56: this->setLineWidth(1); benoitrigolleau@56: benoitrigolleau@56: /* build the interface*/ benoitrigolleau@56: layoutMain->addWidget(checkBox1); benoitrigolleau@56: layoutMain->addWidget(checkBox2); benoitrigolleau@56: layoutMain->addWidget(labelIcon); benoitrigolleau@56: layoutMain->addWidget(labelName); benoitrigolleau@56: benoitrigolleau@56: /*add the main layout in this widget*/ benoitrigolleau@56: this->setLayout(layoutMain); benoitrigolleau@56: benoitrigolleau@56: connect(this, SIGNAL(doubleClicked()), this, SLOT(openPropertyBox())); benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: void ItemLayerList::setIcon(QString &icon){ benoitrigolleau@56: labelIcon->setPixmap(QIcon(icon).pixmap(25)); benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: void ItemLayerList::setName(QString &name){ benoitrigolleau@56: labelName->setText(name); benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: void ItemLayerList::setColor(QColor &color){ benoitrigolleau@56: QPalette palette; benoitrigolleau@56: palette.setColor(QPalette::Button,color); benoitrigolleau@56: checkBox1->setPalette(palette); benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: void ItemLayerList::changeCheckBox1State(bool state){ benoitrigolleau@56: checkBox1->setChecked(state); benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: void ItemLayerList::changeCheckBox2State(bool state){ benoitrigolleau@56: checkBox2->setChecked(state); benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: void ItemLayerList::setPropertyBox(PropertyBox *box){ benoitrigolleau@56: m_propertyBox = box; benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: void ItemLayerList::configAction(){ benoitrigolleau@56: if(m_propertyBox!=0){ benoitrigolleau@56: m_propertyBox->close(); benoitrigolleau@56: m_propertyBox->show(); benoitrigolleau@56: } benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: /*********SLOTS ************/ benoitrigolleau@56: void ItemLayerList::openPropertyBox(){ benoitrigolleau@56: ItemLayerList::configAction(); benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: