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 //ui.effectlist->horizontalHeader()->setVisible(false);
32 //ui.effectlist->verticalHeader()->setVisible(false);
37 ui.buttonLeftRight->setIcon(KIcon("go-next"));//better icons needed
38 ui.buttonLeftRight->setToolTip(i18n("Allow horizontal moves"));
39 ui.buttonUpDown->setIcon(KIcon("go-up"));
40 ui.buttonUpDown->setToolTip(i18n("Allow vertical moves"));
41 ui.buttonShowInTimeline->setIcon(KIcon("kmplayer"));
42 ui.buttonShowInTimeline->setToolTip(i18n("Show keyframes in timeline"));
43 ui.buttonHelp->setIcon(KIcon("help-about"));
44 ui.buttonHelp->setToolTip(i18n("Parameter info"));
45 ui.buttonNewPoints->setIcon(KIcon("document-new"));
46 ui.buttonNewPoints->setToolTip(i18n("Add keyframe"));
48 connect(ui.buttonLeftRight, SIGNAL(clicked()), this , SLOT(slotSetMoveX()));
49 connect(ui.buttonUpDown, SIGNAL(clicked()), this , SLOT(slotSetMoveY()));
50 connect(ui.buttonShowInTimeline, SIGNAL(clicked()), this , SLOT(slotShowInTimeline()));
51 connect(ui.buttonNewPoints, SIGNAL(clicked()), this , SLOT(slotSetNew()));
52 connect(ui.buttonHelp, SIGNAL(clicked()), this , SLOT(slotSetHelp()));
53 connect(ui.parameterList, SIGNAL(currentIndexChanged(const QString &)), this, SLOT(slotParameterChanged(const QString&)));
54 //connect (ui.effectlist, SIGNAL (itemSelectionChanged() ) , this, SLOT ( itemSelectionChanged()));
55 connect(this, SIGNAL(transferParamDesc(const QDomElement&, const QString&, int , int)), ui.kplotwidget, SLOT(setPointLists(const QDomElement&, const QString&, int , int)));
56 connect(ui.kplotwidget, SIGNAL(parameterChanged(QDomElement)), this , SLOT(slotUpdateEffectParams(QDomElement)));
57 connect(ui.kplotwidget, SIGNAL(parameterList(QStringList)), this , SLOT(slotUpdateParameterList(QStringList)));
58 /*ÜeffectLists["audio"]=audioEffectList;
59 effectLists["video"]=videoEffectList;
60 effectLists["custom"]=customEffectList;*/
61 setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
69 void ComplexParameter::slotSetMoveX()
71 ui.kplotwidget->setMoveX(!ui.kplotwidget->isMoveX());
75 void ComplexParameter::slotSetMoveY()
77 ui.kplotwidget->setMoveY(!ui.kplotwidget->isMoveY());
81 void ComplexParameter::slotSetNew()
83 ui.kplotwidget->setNewPoints(!ui.kplotwidget->isNewPoints());
87 void ComplexParameter::slotSetHelp()
89 ui.infoBox->setVisible(!ui.infoBox->isVisible());
90 ui.buttonHelp->setDown(ui.infoBox->isVisible());
93 void ComplexParameter::slotShowInTimeline()
96 ui.kplotwidget->setMoveTimeLine(!ui.kplotwidget->isMoveTimeline());
101 void ComplexParameter::updateButtonStatus()
103 ui.buttonLeftRight->setDown(ui.kplotwidget->isMoveX());
104 ui.buttonUpDown->setDown(ui.kplotwidget->isMoveY());
106 ui.buttonShowInTimeline->setEnabled(ui.kplotwidget->isMoveX() || ui.kplotwidget->isMoveY());
107 ui.buttonShowInTimeline->setDown(ui.kplotwidget->isMoveTimeline());
109 ui.buttonNewPoints->setEnabled(ui.parameterList->currentText() != "all");
110 ui.buttonNewPoints->setDown(ui.kplotwidget->isNewPoints());
113 void ComplexParameter::slotParameterChanged(const QString& text)
116 //ui.buttonNewPoints->setEnabled(text!="all");
117 ui.kplotwidget->replot(text);
118 updateButtonStatus();
121 void ComplexParameter::setupParam(const QDomElement& d, const QString& paramName, int from, int to)
124 ui.kplotwidget->setPointLists(d, paramName, from, to);
127 void ComplexParameter::itemSelectionChanged()
129 //kDebug() << "drop";
132 void ComplexParameter::slotUpdateEffectParams(QDomElement e)
135 emit parameterChanged();
138 QDomElement ComplexParameter::getParamDesc()
143 void ComplexParameter::slotUpdateParameterList(QStringList l)
146 ui.parameterList->clear();
147 ui.parameterList->addItem("all");
148 ui.parameterList->addItems(l);
151 #include "complexparameter.moc"