annotate widgets/LayerViewerWidget.cpp @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents 57c85a9d9b4a
children
rev   line source
benoitrigolleau@56 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
benoitrigolleau@56 2
benoitrigolleau@56 3 /*
benoitrigolleau@56 4 Sound Access
benoitrigolleau@56 5 EASAIER client application.
benoitrigolleau@56 6 Silogic 2007. Benoit Rigolleau.
benoitrigolleau@56 7
benoitrigolleau@56 8 This program is free software; you can redistribute it and/or
benoitrigolleau@56 9 modify it under the terms of the GNU General Public License as
benoitrigolleau@56 10 published by the Free Software Foundation; either version 2 of the
benoitrigolleau@56 11 License, or (at your option) any later version. See the file
benoitrigolleau@56 12 COPYING included with this distribution for more information.
benoitrigolleau@56 13 */
benoitrigolleau@56 14
benoitrigolleau@56 15 //#include "data/model/LayerItemModel.h"
benoitrigolleau@56 16 #include "LayerViewerWidget.h"
benoitrigolleau@56 17 #include <iostream>
benoitrigolleau@56 18
benoitrigolleau@56 19 LayerViewerWidget::LayerViewerWidget(QWidget *parent) : QFrame(parent){
benoitrigolleau@56 20 /* Init all variables*/
benoitrigolleau@56 21 m_pushButtonCONFIG = new QPushButton;
benoitrigolleau@56 22 m_pushButtonUP = new QPushButton;
benoitrigolleau@56 23 m_pushButtonDOWN = new QPushButton;
benoitrigolleau@56 24 m_pushButtonREMOVE = new QPushButton;
benoitrigolleau@56 25 m_pushButtonNEW = new QPushButton;
benoitrigolleau@56 26
benoitrigolleau@56 27 m_layoutOPACITY = new QHBoxLayout;
benoitrigolleau@56 28 m_layoutACTION = new QHBoxLayout;
benoitrigolleau@56 29 m_layoutMAIN = new QVBoxLayout;
benoitrigolleau@56 30
benoitrigolleau@56 31 m_labelOPACITY = new QLabel(tr("Opacity : "));
benoitrigolleau@56 32 m_widgetLIST = new ItemContainer();
benoitrigolleau@56 33
benoitrigolleau@56 34 m_sliderOPACITY = new QSlider;
benoitrigolleau@56 35 m_spinBoxOPACITY = new QSpinBox;
benoitrigolleau@56 36
benoitrigolleau@56 37 /* set the correct widget parameters*/
benoitrigolleau@56 38 m_pushButtonCONFIG->setMaximumSize(20,20);
benoitrigolleau@56 39 m_pushButtonCONFIG->setIcon(QIcon(":icons/layerViewer_btn_config.png"));
benoitrigolleau@56 40 m_pushButtonUP->setMaximumSize(20,20);
benoitrigolleau@56 41 m_pushButtonUP->setIcon(QIcon(":icons/layerViewer_btn_up.png"));
benoitrigolleau@56 42 m_pushButtonDOWN->setMaximumSize(20,20);
benoitrigolleau@56 43 m_pushButtonDOWN->setIcon(QIcon(":icons/layerViewer_btn_down.png"));
benoitrigolleau@56 44 m_pushButtonREMOVE->setMaximumSize(20,20);
benoitrigolleau@56 45 m_pushButtonREMOVE->setIcon(QIcon(":icons/layerViewer_btn_remove.png"));
benoitrigolleau@56 46 m_pushButtonNEW->setMaximumSize(20,20);
benoitrigolleau@56 47 m_pushButtonNEW->setIcon(QIcon(":icons/layerViewer_btn_new.png"));
benoitrigolleau@56 48
benoitrigolleau@56 49 m_sliderOPACITY->setRange(0,100);
benoitrigolleau@56 50 m_sliderOPACITY->setMaximumWidth(100);
benoitrigolleau@56 51 m_sliderOPACITY->setMinimumWidth(50);
benoitrigolleau@56 52 m_sliderOPACITY->setOrientation(Qt::Horizontal);
benoitrigolleau@56 53 m_sliderOPACITY->setTickInterval(10);
benoitrigolleau@56 54 m_sliderOPACITY->setTickPosition(QSlider::TicksBelow);
benoitrigolleau@56 55
benoitrigolleau@56 56 m_spinBoxOPACITY->setMaximumWidth(50);
benoitrigolleau@56 57 m_spinBoxOPACITY->setRange(0,100);
benoitrigolleau@56 58
benoitrigolleau@56 59
benoitrigolleau@56 60
benoitrigolleau@56 61 /*LayerItemModel layerItemModel1(QString("title1"), QString("icon1"), QColor() ,true, false);
benoitrigolleau@56 62 LayerItemModel layerItemModel2(QString("title2"), QString("icon2"), QColor() ,true, false);
benoitrigolleau@56 63
benoitrigolleau@56 64 QVariant var1,var2;
benoitrigolleau@56 65 var1.setValue(layerItemModel1);
benoitrigolleau@56 66 var2.setValue(layerItemModel2);
benoitrigolleau@56 67
benoitrigolleau@56 68 m_widgetLIST->setItemDelegate(new LayerDelegate());
benoitrigolleau@56 69 QListWidgetItem *item1 = new QListWidgetItem("1",m_widgetLIST);
benoitrigolleau@56 70 item1->setData(Qt::UserRole, var1);
benoitrigolleau@56 71
benoitrigolleau@56 72 QListWidgetItem *item2 = new QListWidgetItem("2",m_widgetLIST);
benoitrigolleau@56 73 item2->setData(Qt::UserRole, var2);
benoitrigolleau@56 74
benoitrigolleau@56 75 m_widgetLIST->openPersistentEditor(item1);
benoitrigolleau@56 76 m_widgetLIST->openPersistentEditor(item2);*/
benoitrigolleau@56 77
benoitrigolleau@56 78 /* build the interface*/
benoitrigolleau@56 79
benoitrigolleau@56 80 //the opasity one:
benoitrigolleau@56 81 m_layoutOPACITY->addStretch();
benoitrigolleau@56 82 m_layoutOPACITY->addWidget(m_labelOPACITY);
benoitrigolleau@56 83 m_layoutOPACITY->addWidget(m_spinBoxOPACITY);
benoitrigolleau@56 84 m_layoutOPACITY->addWidget(m_sliderOPACITY);
benoitrigolleau@56 85
benoitrigolleau@56 86 //the action one:
benoitrigolleau@56 87 m_layoutACTION->addWidget(m_pushButtonCONFIG);
benoitrigolleau@56 88 m_layoutACTION->addStretch();
benoitrigolleau@56 89 m_layoutACTION->addWidget(m_pushButtonUP);
benoitrigolleau@56 90 m_layoutACTION->addWidget(m_pushButtonDOWN);
benoitrigolleau@56 91 m_layoutACTION->addWidget(m_pushButtonNEW);
benoitrigolleau@56 92 m_layoutACTION->addSpacing(10);
benoitrigolleau@56 93 m_layoutACTION->addWidget(m_pushButtonREMOVE);
benoitrigolleau@56 94
benoitrigolleau@56 95 //the main one:
benoitrigolleau@56 96 m_layoutMAIN->addLayout(m_layoutOPACITY);
benoitrigolleau@56 97 m_layoutMAIN->addWidget(m_widgetLIST);
benoitrigolleau@56 98 m_layoutMAIN->addLayout(m_layoutACTION);
benoitrigolleau@56 99
benoitrigolleau@56 100 /* connect sliderOPACITY and spinBoxOPACITY*/
benoitrigolleau@56 101 QObject::connect(m_sliderOPACITY,SIGNAL(valueChanged(int)),m_spinBoxOPACITY,SLOT(setValue(int)));
benoitrigolleau@56 102 QObject::connect(m_spinBoxOPACITY,SIGNAL(valueChanged(int)),m_sliderOPACITY,SLOT(setValue(int)));
benoitrigolleau@56 103
benoitrigolleau@56 104 /* connect pushButtons*/
benoitrigolleau@56 105 connect(m_pushButtonUP,SIGNAL(clicked()),m_widgetLIST,SLOT(upCurrentItem()));
benoitrigolleau@56 106 connect(m_pushButtonDOWN,SIGNAL(clicked()),m_widgetLIST,SLOT(downCurrentItem()));
benoitrigolleau@56 107 connect(m_pushButtonCONFIG,SIGNAL(clicked()),m_widgetLIST,SLOT(openConfigBoxForCurrentItem()));
benoitrigolleau@56 108 connect(m_pushButtonREMOVE,SIGNAL(clicked()),this,SLOT(removeSelectedItemRequested()));
benoitrigolleau@56 109
benoitrigolleau@56 110 /*connect the list of items */
benoitrigolleau@56 111 connect(m_widgetLIST,SIGNAL(currentChanged(int)),this,SLOT(newItemSelected(int)));
benoitrigolleau@56 112
benoitrigolleau@56 113
benoitrigolleau@56 114 /*add the main layout in this widget*/
benoitrigolleau@56 115 this->setLayout(m_layoutMAIN);
benoitrigolleau@56 116 this->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
benoitrigolleau@56 117 this->setLineWidth(2);
benoitrigolleau@56 118 }
benoitrigolleau@56 119
benoitrigolleau@56 120 void LayerViewerWidget::addItem(ItemLayerList *item){
benoitrigolleau@56 121 m_widgetLIST->addItem(item);
benoitrigolleau@56 122 }
benoitrigolleau@56 123
benoitrigolleau@56 124 void LayerViewerWidget::removeAllItems(){
benoitrigolleau@56 125 m_widgetLIST->removeAllItems();
benoitrigolleau@56 126 }
benoitrigolleau@56 127
benoitrigolleau@56 128 void LayerViewerWidget::setCurrentIndex(int i){
benoitrigolleau@56 129
benoitrigolleau@56 130 }
benoitrigolleau@56 131
benoitrigolleau@56 132 /************** SLOTS ********/
benoitrigolleau@56 133 void LayerViewerWidget::newItemSelected(int i){
benoitrigolleau@56 134 emit currentChanged(i);
benoitrigolleau@56 135 }
benoitrigolleau@56 136
benoitrigolleau@56 137 void LayerViewerWidget::removeSelectedItemRequested(){
benoitrigolleau@59 138
benoitrigolleau@56 139 }