1 /***************************************************************************
2 complexparameter.cpp - description
5 copyright : (C) 2008 by Marco Gittler
6 email : g.marco@freenet.de
7 ***************************************************************************/
9 /***************************************************************************
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
16 ***************************************************************************/
18 #include "complexparameter.h"
24 #include <QHeaderView>
27 ComplexParameter::ComplexParameter(QWidget *parent) :
31 //m_ui.effectlist->horizontalHeader()->setVisible(false);
32 //m_ui.effectlist->verticalHeader()->setVisible(false);
35 m_ui.buttonLeftRight->setIcon(KIcon("go-next"));//better icons needed
36 m_ui.buttonLeftRight->setToolTip(i18n("Allow horizontal moves"));
37 m_ui.buttonUpDown->setIcon(KIcon("go-up"));
38 m_ui.buttonUpDown->setToolTip(i18n("Allow vertical moves"));
39 m_ui.buttonShowInTimeline->setIcon(KIcon("kmplayer"));
40 m_ui.buttonShowInTimeline->setToolTip(i18n("Show keyframes in timeline"));
41 m_ui.buttonHelp->setIcon(KIcon("help-about"));
42 m_ui.buttonHelp->setToolTip(i18n("Parameter info"));
43 m_ui.buttonNewPoints->setIcon(KIcon("document-new"));
44 m_ui.buttonNewPoints->setToolTip(i18n("Add keyframe"));
46 connect(m_ui.buttonLeftRight, SIGNAL(clicked()), this , SLOT(slotSetMoveX()));
47 connect(m_ui.buttonUpDown, SIGNAL(clicked()), this , SLOT(slotSetMoveY()));
48 connect(m_ui.buttonShowInTimeline, SIGNAL(clicked()), this , SLOT(slotShowInTimeline()));
49 connect(m_ui.buttonNewPoints, SIGNAL(clicked()), this , SLOT(slotSetNew()));
50 connect(m_ui.buttonHelp, SIGNAL(clicked()), this , SLOT(slotSetHelp()));
51 connect(m_ui.parameterList, SIGNAL(currentIndexChanged(const QString &)), this, SLOT(slotParameterChanged(const QString&)));
52 //connect (m_ui.effectlist, SIGNAL (itemSelectionChanged() ) , this, SLOT ( itemSelectionChanged()));
53 connect(this, SIGNAL(transferParamDesc(const QDomElement&, const QString&, int , int)), m_ui.kplotwidget, SLOT(setPointLists(const QDomElement&, const QString&, int , int)));
54 connect(m_ui.kplotwidget, SIGNAL(parameterChanged(QDomElement)), this , SLOT(slotUpdateEffectParams(QDomElement)));
55 connect(m_ui.kplotwidget, SIGNAL(parameterList(QStringList)), this , SLOT(slotUpdateParameterList(QStringList)));
56 /*ÜeffectLists["audio"]=audioEffectList;
57 effectLists["video"]=videoEffectList;
58 effectLists["custom"]=customEffectList;*/
59 setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
67 void ComplexParameter::slotSetMoveX()
69 m_ui.kplotwidget->setMoveX(!m_ui.kplotwidget->isMoveX());
73 void ComplexParameter::slotSetMoveY()
75 m_ui.kplotwidget->setMoveY(!m_ui.kplotwidget->isMoveY());
79 void ComplexParameter::slotSetNew()
81 m_ui.kplotwidget->setNewPoints(!m_ui.kplotwidget->isNewPoints());
85 void ComplexParameter::slotSetHelp()
87 m_ui.infoBox->setVisible(!m_ui.infoBox->isVisible());
88 m_ui.buttonHelp->setDown(m_ui.infoBox->isVisible());
91 void ComplexParameter::slotShowInTimeline()
94 m_ui.kplotwidget->setMoveTimeLine(!m_ui.kplotwidget->isMoveTimeline());
99 void ComplexParameter::updateButtonStatus()
101 m_ui.buttonLeftRight->setDown(m_ui.kplotwidget->isMoveX());
102 m_ui.buttonUpDown->setDown(m_ui.kplotwidget->isMoveY());
104 m_ui.buttonShowInTimeline->setEnabled(m_ui.kplotwidget->isMoveX() || m_ui.kplotwidget->isMoveY());
105 m_ui.buttonShowInTimeline->setDown(m_ui.kplotwidget->isMoveTimeline());
107 m_ui.buttonNewPoints->setEnabled(m_ui.parameterList->currentText() != "all");
108 m_ui.buttonNewPoints->setDown(m_ui.kplotwidget->isNewPoints());
111 void ComplexParameter::slotParameterChanged(const QString& text)
114 //m_ui.buttonNewPoints->setEnabled(text!="all");
115 m_ui.kplotwidget->replot(text);
116 updateButtonStatus();
119 void ComplexParameter::setupParam(const QDomElement& d, const QString& paramName, int from, int to)
122 m_ui.kplotwidget->setPointLists(d, paramName, from, to);
125 void ComplexParameter::itemSelectionChanged()
127 //kDebug() << "drop";
130 void ComplexParameter::slotUpdateEffectParams(QDomElement e)
133 emit parameterChanged();
136 QDomElement ComplexParameter::getParamDesc()
141 void ComplexParameter::slotUpdateParameterList(QStringList l)
144 m_ui.parameterList->clear();
145 m_ui.parameterList->addItem("all");
146 m_ui.parameterList->addItems(l);
149 #include "complexparameter.moc"