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 } |