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 "data/model/LayerItemModel.h" benoitrigolleau@56: #include "LayerViewerWidget.h" benoitrigolleau@56: #include benoitrigolleau@56: benoitrigolleau@56: LayerViewerWidget::LayerViewerWidget(QWidget *parent) : QFrame(parent){ benoitrigolleau@56: /* Init all variables*/ benoitrigolleau@56: m_pushButtonCONFIG = new QPushButton; benoitrigolleau@56: m_pushButtonUP = new QPushButton; benoitrigolleau@56: m_pushButtonDOWN = new QPushButton; benoitrigolleau@56: m_pushButtonREMOVE = new QPushButton; benoitrigolleau@56: m_pushButtonNEW = new QPushButton; benoitrigolleau@56: benoitrigolleau@56: m_layoutOPACITY = new QHBoxLayout; benoitrigolleau@56: m_layoutACTION = new QHBoxLayout; benoitrigolleau@56: m_layoutMAIN = new QVBoxLayout; benoitrigolleau@56: benoitrigolleau@56: m_labelOPACITY = new QLabel(tr("Opacity : ")); benoitrigolleau@56: m_widgetLIST = new ItemContainer(); benoitrigolleau@56: benoitrigolleau@56: m_sliderOPACITY = new QSlider; benoitrigolleau@56: m_spinBoxOPACITY = new QSpinBox; benoitrigolleau@56: benoitrigolleau@56: /* set the correct widget parameters*/ benoitrigolleau@56: m_pushButtonCONFIG->setMaximumSize(20,20); benoitrigolleau@56: m_pushButtonCONFIG->setIcon(QIcon(":icons/layerViewer_btn_config.png")); benoitrigolleau@56: m_pushButtonUP->setMaximumSize(20,20); benoitrigolleau@56: m_pushButtonUP->setIcon(QIcon(":icons/layerViewer_btn_up.png")); benoitrigolleau@56: m_pushButtonDOWN->setMaximumSize(20,20); benoitrigolleau@56: m_pushButtonDOWN->setIcon(QIcon(":icons/layerViewer_btn_down.png")); benoitrigolleau@56: m_pushButtonREMOVE->setMaximumSize(20,20); benoitrigolleau@56: m_pushButtonREMOVE->setIcon(QIcon(":icons/layerViewer_btn_remove.png")); benoitrigolleau@56: m_pushButtonNEW->setMaximumSize(20,20); benoitrigolleau@56: m_pushButtonNEW->setIcon(QIcon(":icons/layerViewer_btn_new.png")); benoitrigolleau@56: benoitrigolleau@56: m_sliderOPACITY->setRange(0,100); benoitrigolleau@56: m_sliderOPACITY->setMaximumWidth(100); benoitrigolleau@56: m_sliderOPACITY->setMinimumWidth(50); benoitrigolleau@56: m_sliderOPACITY->setOrientation(Qt::Horizontal); benoitrigolleau@56: m_sliderOPACITY->setTickInterval(10); benoitrigolleau@56: m_sliderOPACITY->setTickPosition(QSlider::TicksBelow); benoitrigolleau@56: benoitrigolleau@56: m_spinBoxOPACITY->setMaximumWidth(50); benoitrigolleau@56: m_spinBoxOPACITY->setRange(0,100); benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: /*LayerItemModel layerItemModel1(QString("title1"), QString("icon1"), QColor() ,true, false); benoitrigolleau@56: LayerItemModel layerItemModel2(QString("title2"), QString("icon2"), QColor() ,true, false); benoitrigolleau@56: benoitrigolleau@56: QVariant var1,var2; benoitrigolleau@56: var1.setValue(layerItemModel1); benoitrigolleau@56: var2.setValue(layerItemModel2); benoitrigolleau@56: benoitrigolleau@56: m_widgetLIST->setItemDelegate(new LayerDelegate()); benoitrigolleau@56: QListWidgetItem *item1 = new QListWidgetItem("1",m_widgetLIST); benoitrigolleau@56: item1->setData(Qt::UserRole, var1); benoitrigolleau@56: benoitrigolleau@56: QListWidgetItem *item2 = new QListWidgetItem("2",m_widgetLIST); benoitrigolleau@56: item2->setData(Qt::UserRole, var2); benoitrigolleau@56: benoitrigolleau@56: m_widgetLIST->openPersistentEditor(item1); benoitrigolleau@56: m_widgetLIST->openPersistentEditor(item2);*/ benoitrigolleau@56: benoitrigolleau@56: /* build the interface*/ benoitrigolleau@56: benoitrigolleau@56: //the opasity one: benoitrigolleau@56: m_layoutOPACITY->addStretch(); benoitrigolleau@56: m_layoutOPACITY->addWidget(m_labelOPACITY); benoitrigolleau@56: m_layoutOPACITY->addWidget(m_spinBoxOPACITY); benoitrigolleau@56: m_layoutOPACITY->addWidget(m_sliderOPACITY); benoitrigolleau@56: benoitrigolleau@56: //the action one: benoitrigolleau@56: m_layoutACTION->addWidget(m_pushButtonCONFIG); benoitrigolleau@56: m_layoutACTION->addStretch(); benoitrigolleau@56: m_layoutACTION->addWidget(m_pushButtonUP); benoitrigolleau@56: m_layoutACTION->addWidget(m_pushButtonDOWN); benoitrigolleau@56: m_layoutACTION->addWidget(m_pushButtonNEW); benoitrigolleau@56: m_layoutACTION->addSpacing(10); benoitrigolleau@56: m_layoutACTION->addWidget(m_pushButtonREMOVE); benoitrigolleau@56: benoitrigolleau@56: //the main one: benoitrigolleau@56: m_layoutMAIN->addLayout(m_layoutOPACITY); benoitrigolleau@56: m_layoutMAIN->addWidget(m_widgetLIST); benoitrigolleau@56: m_layoutMAIN->addLayout(m_layoutACTION); benoitrigolleau@56: benoitrigolleau@56: /* connect sliderOPACITY and spinBoxOPACITY*/ benoitrigolleau@56: QObject::connect(m_sliderOPACITY,SIGNAL(valueChanged(int)),m_spinBoxOPACITY,SLOT(setValue(int))); benoitrigolleau@56: QObject::connect(m_spinBoxOPACITY,SIGNAL(valueChanged(int)),m_sliderOPACITY,SLOT(setValue(int))); benoitrigolleau@56: benoitrigolleau@56: /* connect pushButtons*/ benoitrigolleau@56: connect(m_pushButtonUP,SIGNAL(clicked()),m_widgetLIST,SLOT(upCurrentItem())); benoitrigolleau@56: connect(m_pushButtonDOWN,SIGNAL(clicked()),m_widgetLIST,SLOT(downCurrentItem())); benoitrigolleau@56: connect(m_pushButtonCONFIG,SIGNAL(clicked()),m_widgetLIST,SLOT(openConfigBoxForCurrentItem())); benoitrigolleau@56: connect(m_pushButtonREMOVE,SIGNAL(clicked()),this,SLOT(removeSelectedItemRequested())); benoitrigolleau@56: benoitrigolleau@56: /*connect the list of items */ benoitrigolleau@56: connect(m_widgetLIST,SIGNAL(currentChanged(int)),this,SLOT(newItemSelected(int))); benoitrigolleau@56: benoitrigolleau@56: benoitrigolleau@56: /*add the main layout in this widget*/ benoitrigolleau@56: this->setLayout(m_layoutMAIN); benoitrigolleau@56: this->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); benoitrigolleau@56: this->setLineWidth(2); benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: void LayerViewerWidget::addItem(ItemLayerList *item){ benoitrigolleau@56: m_widgetLIST->addItem(item); benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: void LayerViewerWidget::removeAllItems(){ benoitrigolleau@56: m_widgetLIST->removeAllItems(); benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: void LayerViewerWidget::setCurrentIndex(int i){ benoitrigolleau@56: benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: /************** SLOTS ********/ benoitrigolleau@56: void LayerViewerWidget::newItemSelected(int i){ benoitrigolleau@56: emit currentChanged(i); benoitrigolleau@56: } benoitrigolleau@56: benoitrigolleau@56: void LayerViewerWidget::removeSelectedItemRequested(){ benoitrigolleau@59: benoitrigolleau@56: }