annotate widgets/ItemAudioFilterList.cpp @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents 3200ed3fc957
children
rev   line source
benoitrigolleau@73 1
benoitrigolleau@73 2 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
benoitrigolleau@73 3
benoitrigolleau@73 4 /*
benoitrigolleau@73 5 Sound Access
benoitrigolleau@73 6 EASAIER client application.
benoitrigolleau@73 7 Silogic 2007. Benoit Rigolleau.
benoitrigolleau@73 8
benoitrigolleau@73 9 This program is free software; you can redistribute it and/or
benoitrigolleau@73 10 modify it under the terms of the GNU General Public License as
benoitrigolleau@73 11 published by the Free Software Foundation; either version 2 of the
benoitrigolleau@73 12 License, or (at your option) any later version. See the file
benoitrigolleau@73 13 COPYING included with this distribution for more information.
benoitrigolleau@73 14 */
benoitrigolleau@73 15
benoitrigolleau@73 16 #include "ItemAudioFilterList.h"
benoitrigolleau@73 17
benoitrigolleau@73 18 #include "data/model/LayerItemModel.h"
benoitrigolleau@73 19
benoitrigolleau@73 20 #include <QWidget>
benoitrigolleau@73 21
benoitrigolleau@73 22 #include <QApplication>
benoitrigolleau@73 23 #include <QLabel>
benoitrigolleau@73 24
benoitrigolleau@73 25
lbajardsilogic@79 26 ItemAudioFilterList::ItemAudioFilterList(QWidget *parent) : GenericItemList(parent),
lbajardsilogic@79 27 m_propertyBox(0),
lbajardsilogic@79 28 m_container(0)
lbajardsilogic@79 29 {
benoitrigolleau@73 30 setAcceptDrops(true);
benoitrigolleau@73 31
benoitrigolleau@73 32 /* Init all variables*/
benoitrigolleau@73 33 m_labelIcon = new QLabel;
benoitrigolleau@73 34 m_labelName = new QLabel;
benoitrigolleau@73 35 m_checkBoxPlay = new QCheckBox;
benoitrigolleau@73 36 m_layoutMain = new QHBoxLayout;
benoitrigolleau@73 37
benoitrigolleau@73 38 /* set the correct widget parameters*/
benoitrigolleau@73 39 m_labelIcon->setMaximumSize(25,25);
benoitrigolleau@73 40 //labelIcon->setPixmap(QIcon(":icons/layerViewer_btn_config.png").pixmap(20));
benoitrigolleau@73 41
benoitrigolleau@73 42 m_labelName->setMaximumHeight(25);
benoitrigolleau@73 43 //labelName->setText("ljdh lksdf hl");
benoitrigolleau@73 44
benoitrigolleau@88 45 m_checkBoxPlay->setLayoutDirection(Qt::RightToLeft);
benoitrigolleau@73 46 m_checkBoxPlay->setMaximumSize(30,30);
benoitrigolleau@73 47
benoitrigolleau@73 48 m_layoutMain->setSpacing(5);
benoitrigolleau@73 49 m_layoutMain->setMargin(0);
benoitrigolleau@73 50
benoitrigolleau@73 51 this->setMaximumHeight(30);
benoitrigolleau@73 52 this->setMinimumHeight(30);
benoitrigolleau@73 53 this->setFrameStyle(QFrame::Panel | QFrame::Raised);
benoitrigolleau@73 54 this->setLineWidth(1);
benoitrigolleau@73 55
benoitrigolleau@73 56 /* build the interface*/
benoitrigolleau@73 57 m_layoutMain->addWidget(m_checkBoxPlay);
benoitrigolleau@73 58 m_layoutMain->addWidget(m_labelIcon);
benoitrigolleau@73 59 m_layoutMain->addWidget(m_labelName);
benoitrigolleau@73 60
benoitrigolleau@73 61 /*add the main layout in this widget*/
benoitrigolleau@73 62 this->setLayout(m_layoutMain);
benoitrigolleau@73 63
benoitrigolleau@73 64 connect(this, SIGNAL(doubleClicked()), this, SLOT(openPropertyBox()));
lbajardsilogic@203 65
benoitrigolleau@73 66 }
benoitrigolleau@73 67
benoitrigolleau@133 68 ItemAudioFilterList::~ItemAudioFilterList(){
benoitrigolleau@133 69 if(m_propertyBox){
benoitrigolleau@133 70 m_propertyBox->close();
benoitrigolleau@133 71 delete m_propertyBox;
benoitrigolleau@133 72 }
benoitrigolleau@133 73
benoitrigolleau@133 74 }
benoitrigolleau@133 75
benoitrigolleau@73 76 void ItemAudioFilterList::setIcon(QString &icon){
benoitrigolleau@73 77 m_labelIcon->setPixmap(QIcon(icon).pixmap(25));
benoitrigolleau@73 78 }
benoitrigolleau@73 79
benoitrigolleau@73 80 void ItemAudioFilterList::setName(QString &name){
benoitrigolleau@73 81 m_labelName->setText(name);
benoitrigolleau@73 82 }
benoitrigolleau@73 83
benoitrigolleau@73 84
benoitrigolleau@73 85 void ItemAudioFilterList::changeCheckBoxPlayState(bool state){
benoitrigolleau@73 86 m_checkBoxPlay->setChecked(state);
benoitrigolleau@73 87 }
benoitrigolleau@73 88
benoitrigolleau@73 89 void ItemAudioFilterList::setPropertyBox(PropertyBox *box){
benoitrigolleau@73 90 m_propertyBox = box;
benoitrigolleau@73 91 if(m_propertyBox!=0){
lbajardsilogic@223 92 m_container = m_propertyBox->container();
lbajardsilogic@225 93 updateCheckboxs("Enable");
benoitrigolleau@88 94 connect(m_propertyBox, SIGNAL(showLayer(bool)), this, SLOT(showLayer(bool)));
lbajardsilogic@203 95 connect(m_checkBoxPlay, SIGNAL(stateChanged(int)),m_container, SLOT(setFilterEnabled(int)));
lbajardsilogic@225 96 connect(m_container, SIGNAL(propertyChanged(PropertyContainer::PropertyName)),this, SLOT(updateCheckboxs(PropertyContainer::PropertyName)));
benoitrigolleau@73 97 }
benoitrigolleau@73 98 }
benoitrigolleau@73 99
benoitrigolleau@73 100 void ItemAudioFilterList::configAction(){
benoitrigolleau@73 101 if(m_propertyBox!=0){
lbajardsilogic@183 102 m_propertyBox->showNormal();
benoitrigolleau@73 103 }
benoitrigolleau@73 104 }
benoitrigolleau@73 105
benoitrigolleau@73 106
benoitrigolleau@73 107 /*********SLOTS ************/
benoitrigolleau@73 108 void ItemAudioFilterList::openPropertyBox(){
benoitrigolleau@73 109 ItemAudioFilterList::configAction();
benoitrigolleau@73 110 }
benoitrigolleau@73 111
lbajardsilogic@225 112 void ItemAudioFilterList::updateCheckboxs(PropertyContainer::PropertyName name){
benoitrigolleau@88 113
lbajardsilogic@225 114 if (name == "Enable")
lbajardsilogic@225 115 {
lbajardsilogic@225 116 int enable = m_container->getPropertyRangeAndValue(name,0,0,0);
lbajardsilogic@225 117 m_checkBoxPlay->setChecked(enable);
lbajardsilogic@225 118 }
benoitrigolleau@73 119 }
benoitrigolleau@73 120
benoitrigolleau@73 121
benoitrigolleau@73 122
benoitrigolleau@73 123
benoitrigolleau@73 124
benoitrigolleau@73 125
benoitrigolleau@73 126