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(QString)), this, SLOT(slotParameterChanged(QString)));
52 connect(m_ui.kplotwidget, SIGNAL(parameterChanged(QDomElement)), this , SLOT(slotUpdateEffectParams(QDomElement)));
53 connect(m_ui.kplotwidget, SIGNAL(parameterList(QStringList)), this , SLOT(slotUpdateParameterList(QStringList)));
54 /*ÜeffectLists["audio"]=audioEffectList;
55 effectLists["video"]=videoEffectList;
56 effectLists["custom"]=customEffectList;*/
57 setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
62 void ComplexParameter::slotSetMoveX()
64 m_ui.kplotwidget->setMoveX(!m_ui.kplotwidget->isMoveX());
68 void ComplexParameter::slotSetMoveY()
70 m_ui.kplotwidget->setMoveY(!m_ui.kplotwidget->isMoveY());
74 void ComplexParameter::slotSetNew()
76 m_ui.kplotwidget->setNewPoints(!m_ui.kplotwidget->isNewPoints());
80 void ComplexParameter::slotSetHelp()
82 m_ui.infoBox->setVisible(!m_ui.infoBox->isVisible());
83 m_ui.buttonHelp->setDown(m_ui.infoBox->isVisible());
86 void ComplexParameter::slotShowInTimeline()
89 m_ui.kplotwidget->setMoveTimeLine(!m_ui.kplotwidget->isMoveTimeline());
93 void ComplexParameter::updateButtonStatus()
95 m_ui.buttonLeftRight->setDown(m_ui.kplotwidget->isMoveX());
96 m_ui.buttonUpDown->setDown(m_ui.kplotwidget->isMoveY());
98 m_ui.buttonShowInTimeline->setEnabled(m_ui.kplotwidget->isMoveX() || m_ui.kplotwidget->isMoveY());
99 m_ui.buttonShowInTimeline->setDown(m_ui.kplotwidget->isMoveTimeline());
101 m_ui.buttonNewPoints->setEnabled(m_ui.parameterList->currentText() != "all");
102 m_ui.buttonNewPoints->setDown(m_ui.kplotwidget->isNewPoints());
105 void ComplexParameter::slotParameterChanged(const QString& text)
107 //m_ui.buttonNewPoints->setEnabled(text!="all");
108 m_ui.kplotwidget->replot(text);
109 updateButtonStatus();
112 void ComplexParameter::setupParam(const QDomElement &d, const QString& paramName, int from, int to)
115 m_ui.kplotwidget->setPointLists(d, paramName, from, to);
118 void ComplexParameter::itemSelectionChanged()
120 //kDebug() << "drop";
123 void ComplexParameter::slotUpdateEffectParams(const QDomElement &e)
126 emit parameterChanged();
129 QDomElement ComplexParameter::getParamDesc() const
134 void ComplexParameter::slotUpdateParameterList(const QStringList &l)
137 m_ui.parameterList->clear();
138 m_ui.parameterList->addItem("all");
139 m_ui.parameterList->addItems(l);
142 #include "complexparameter.moc"