annotate widgets/ItemAudioFilterList.cpp @ 79:afcf540ae3a2

add the real time filter stack to manage real time filters and their attributes
author lbajardsilogic
date Tue, 19 Jun 2007 15:15:12 +0000
parents a5d941805d45
children 5060939ca69d
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 #include "layer/Layer.h"
benoitrigolleau@73 20 #include "base/PlayParameters.h"
benoitrigolleau@73 21
benoitrigolleau@73 22 #include <QWidget>
benoitrigolleau@73 23
benoitrigolleau@73 24 #include <QApplication>
benoitrigolleau@73 25 #include <QLabel>
benoitrigolleau@73 26
benoitrigolleau@73 27
lbajardsilogic@79 28 ItemAudioFilterList::ItemAudioFilterList(QWidget *parent) : GenericItemList(parent),
lbajardsilogic@79 29 m_propertyBox(0),
lbajardsilogic@79 30 m_container(0)
lbajardsilogic@79 31 {
benoitrigolleau@73 32 setAcceptDrops(true);
benoitrigolleau@73 33
benoitrigolleau@73 34 /* Init all variables*/
benoitrigolleau@73 35 m_labelIcon = new QLabel;
benoitrigolleau@73 36 m_labelName = new QLabel;
benoitrigolleau@73 37 m_checkBoxPlay = new QCheckBox;
benoitrigolleau@73 38 m_layoutMain = new QHBoxLayout;
benoitrigolleau@73 39
benoitrigolleau@73 40 /* set the correct widget parameters*/
benoitrigolleau@73 41 m_labelIcon->setMaximumSize(25,25);
benoitrigolleau@73 42 //labelIcon->setPixmap(QIcon(":icons/layerViewer_btn_config.png").pixmap(20));
benoitrigolleau@73 43
benoitrigolleau@73 44 m_labelName->setMaximumHeight(25);
benoitrigolleau@73 45 //labelName->setText("ljdh lksdf hl");
benoitrigolleau@73 46
benoitrigolleau@73 47 m_checkBoxPlay->setMaximumSize(30,30);
benoitrigolleau@73 48
benoitrigolleau@73 49 m_layoutMain->setSpacing(5);
benoitrigolleau@73 50 m_layoutMain->setMargin(0);
benoitrigolleau@73 51
benoitrigolleau@73 52 this->setMaximumHeight(30);
benoitrigolleau@73 53 this->setMinimumHeight(30);
benoitrigolleau@73 54 this->setFrameStyle(QFrame::Panel | QFrame::Raised);
benoitrigolleau@73 55 this->setLineWidth(1);
benoitrigolleau@73 56
benoitrigolleau@73 57 /* build the interface*/
benoitrigolleau@73 58 m_layoutMain->addWidget(m_checkBoxPlay);
benoitrigolleau@73 59 m_layoutMain->addWidget(m_labelIcon);
benoitrigolleau@73 60 m_layoutMain->addWidget(m_labelName);
benoitrigolleau@73 61
benoitrigolleau@73 62 /*add the main layout in this widget*/
benoitrigolleau@73 63 this->setLayout(m_layoutMain);
benoitrigolleau@73 64
benoitrigolleau@73 65 connect(this, SIGNAL(doubleClicked()), this, SLOT(openPropertyBox()));
benoitrigolleau@73 66 }
benoitrigolleau@73 67
benoitrigolleau@73 68 void ItemAudioFilterList::setIcon(QString &icon){
benoitrigolleau@73 69 m_labelIcon->setPixmap(QIcon(icon).pixmap(25));
benoitrigolleau@73 70 }
benoitrigolleau@73 71
benoitrigolleau@73 72 void ItemAudioFilterList::setName(QString &name){
benoitrigolleau@73 73 m_labelName->setText(name);
benoitrigolleau@73 74 }
benoitrigolleau@73 75
benoitrigolleau@73 76
benoitrigolleau@73 77 void ItemAudioFilterList::changeCheckBoxPlayState(bool state){
benoitrigolleau@73 78 m_checkBoxPlay->setChecked(state);
benoitrigolleau@73 79 }
benoitrigolleau@73 80
benoitrigolleau@73 81 void ItemAudioFilterList::setPropertyBox(PropertyBox *box){
benoitrigolleau@73 82 m_propertyBox = box;
benoitrigolleau@73 83 if(m_propertyBox!=0){
benoitrigolleau@73 84
benoitrigolleau@73 85 m_container = m_propertyBox->container();
benoitrigolleau@73 86
benoitrigolleau@73 87
benoitrigolleau@73 88 updateCheckboxs();
benoitrigolleau@73 89 connect(m_propertyBox, SIGNAL(showLayer(bool)), this, SLOT(showLayer(bool)));
benoitrigolleau@73 90 }
benoitrigolleau@73 91
benoitrigolleau@73 92 //connect();
benoitrigolleau@73 93 }
benoitrigolleau@73 94
benoitrigolleau@73 95 void ItemAudioFilterList::configAction(){
benoitrigolleau@73 96 if(m_propertyBox!=0){
benoitrigolleau@73 97 m_propertyBox->close();
benoitrigolleau@73 98 m_propertyBox->show();
benoitrigolleau@73 99 }
benoitrigolleau@73 100 }
benoitrigolleau@73 101
benoitrigolleau@73 102
benoitrigolleau@73 103 /*********SLOTS ************/
benoitrigolleau@73 104 void ItemAudioFilterList::openPropertyBox(){
benoitrigolleau@73 105 ItemAudioFilterList::configAction();
benoitrigolleau@73 106 }
benoitrigolleau@73 107
benoitrigolleau@73 108 void ItemAudioFilterList::updateCheckboxs(){
benoitrigolleau@73 109
benoitrigolleau@73 110 PlayParameters *params = m_container->getPlayParameters();
benoitrigolleau@73 111
benoitrigolleau@73 112 if(params){
benoitrigolleau@73 113 m_checkBoxPlay->setEnabled(true);
benoitrigolleau@73 114 m_checkBoxPlay->setChecked(!params->isPlayMuted());
benoitrigolleau@73 115
benoitrigolleau@73 116 connect(params, SIGNAL(playAudibleChanged(bool)),m_checkBoxPlay, SLOT(setState(bool)));
benoitrigolleau@73 117 connect(m_checkBoxPlay, SIGNAL(stateChanged(int)),params, SLOT(setPlayAudible(int)));
benoitrigolleau@73 118 }else{
benoitrigolleau@73 119 m_checkBoxPlay->setEnabled(false);
benoitrigolleau@73 120 }
benoitrigolleau@73 121 }
benoitrigolleau@73 122
benoitrigolleau@73 123
benoitrigolleau@73 124
benoitrigolleau@73 125
benoitrigolleau@73 126
benoitrigolleau@73 127
benoitrigolleau@73 128