Mercurial > hg > easaier-soundaccess
view widgets/LayerViewerWidget.cpp @ 56:81921835ddf1
first layer list pre-version
author | benoitrigolleau |
---|---|
date | Wed, 23 May 2007 13:09:19 +0000 |
parents | |
children | 57c85a9d9b4a |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ /* Sound Access EASAIER client application. Silogic 2007. Benoit Rigolleau. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information. */ //#include "data/model/LayerItemModel.h" #include "LayerViewerWidget.h" #include <iostream> LayerViewerWidget::LayerViewerWidget(QWidget *parent) : QFrame(parent){ /* Init all variables*/ m_pushButtonCONFIG = new QPushButton; m_pushButtonUP = new QPushButton; m_pushButtonDOWN = new QPushButton; m_pushButtonREMOVE = new QPushButton; m_pushButtonNEW = new QPushButton; m_layoutOPACITY = new QHBoxLayout; m_layoutACTION = new QHBoxLayout; m_layoutMAIN = new QVBoxLayout; m_labelOPACITY = new QLabel(tr("Opacity : ")); m_widgetLIST = new ItemContainer(); m_sliderOPACITY = new QSlider; m_spinBoxOPACITY = new QSpinBox; /* set the correct widget parameters*/ m_pushButtonCONFIG->setMaximumSize(20,20); m_pushButtonCONFIG->setIcon(QIcon(":icons/layerViewer_btn_config.png")); m_pushButtonUP->setMaximumSize(20,20); m_pushButtonUP->setIcon(QIcon(":icons/layerViewer_btn_up.png")); m_pushButtonDOWN->setMaximumSize(20,20); m_pushButtonDOWN->setIcon(QIcon(":icons/layerViewer_btn_down.png")); m_pushButtonREMOVE->setMaximumSize(20,20); m_pushButtonREMOVE->setIcon(QIcon(":icons/layerViewer_btn_remove.png")); m_pushButtonNEW->setMaximumSize(20,20); m_pushButtonNEW->setIcon(QIcon(":icons/layerViewer_btn_new.png")); m_sliderOPACITY->setRange(0,100); m_sliderOPACITY->setMaximumWidth(100); m_sliderOPACITY->setMinimumWidth(50); m_sliderOPACITY->setOrientation(Qt::Horizontal); m_sliderOPACITY->setTickInterval(10); m_sliderOPACITY->setTickPosition(QSlider::TicksBelow); m_spinBoxOPACITY->setMaximumWidth(50); m_spinBoxOPACITY->setRange(0,100); /*LayerItemModel layerItemModel1(QString("title1"), QString("icon1"), QColor() ,true, false); LayerItemModel layerItemModel2(QString("title2"), QString("icon2"), QColor() ,true, false); QVariant var1,var2; var1.setValue(layerItemModel1); var2.setValue(layerItemModel2); m_widgetLIST->setItemDelegate(new LayerDelegate()); QListWidgetItem *item1 = new QListWidgetItem("1",m_widgetLIST); item1->setData(Qt::UserRole, var1); QListWidgetItem *item2 = new QListWidgetItem("2",m_widgetLIST); item2->setData(Qt::UserRole, var2); m_widgetLIST->openPersistentEditor(item1); m_widgetLIST->openPersistentEditor(item2);*/ /* build the interface*/ //the opasity one: m_layoutOPACITY->addStretch(); m_layoutOPACITY->addWidget(m_labelOPACITY); m_layoutOPACITY->addWidget(m_spinBoxOPACITY); m_layoutOPACITY->addWidget(m_sliderOPACITY); //the action one: m_layoutACTION->addWidget(m_pushButtonCONFIG); m_layoutACTION->addStretch(); m_layoutACTION->addWidget(m_pushButtonUP); m_layoutACTION->addWidget(m_pushButtonDOWN); m_layoutACTION->addWidget(m_pushButtonNEW); m_layoutACTION->addSpacing(10); m_layoutACTION->addWidget(m_pushButtonREMOVE); //the main one: m_layoutMAIN->addLayout(m_layoutOPACITY); m_layoutMAIN->addWidget(m_widgetLIST); m_layoutMAIN->addLayout(m_layoutACTION); /* connect sliderOPACITY and spinBoxOPACITY*/ QObject::connect(m_sliderOPACITY,SIGNAL(valueChanged(int)),m_spinBoxOPACITY,SLOT(setValue(int))); QObject::connect(m_spinBoxOPACITY,SIGNAL(valueChanged(int)),m_sliderOPACITY,SLOT(setValue(int))); /* connect pushButtons*/ connect(m_pushButtonUP,SIGNAL(clicked()),m_widgetLIST,SLOT(upCurrentItem())); connect(m_pushButtonDOWN,SIGNAL(clicked()),m_widgetLIST,SLOT(downCurrentItem())); connect(m_pushButtonCONFIG,SIGNAL(clicked()),m_widgetLIST,SLOT(openConfigBoxForCurrentItem())); connect(m_pushButtonREMOVE,SIGNAL(clicked()),this,SLOT(removeSelectedItemRequested())); /*connect the list of items */ connect(m_widgetLIST,SIGNAL(currentChanged(int)),this,SLOT(newItemSelected(int))); /*add the main layout in this widget*/ this->setLayout(m_layoutMAIN); this->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken); this->setLineWidth(2); } void LayerViewerWidget::addItem(ItemLayerList *item){ m_widgetLIST->addItem(item); } void LayerViewerWidget::removeAllItems(){ m_widgetLIST->removeAllItems(); } void LayerViewerWidget::setCurrentIndex(int i){ } /************** SLOTS ********/ void LayerViewerWidget::newItemSelected(int i){ emit currentChanged(i); } void LayerViewerWidget::removeSelectedItemRequested(){ std::cerr << "removeSelectedItemRequested" << std::endl; }