X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fparameterplotter.cpp;h=21bf09b715922d195448d28eacf20b7a38152943;hb=7c066a50b5c795b85b4e94d489dfb18458d7ce7b;hp=f53c20a6ec5fdf228bfe0d89ec66730f3577c462;hpb=5ee798aed90c5a3a50024e6b5bd26753e03ec7cc;p=kdenlive diff --git a/src/parameterplotter.cpp b/src/parameterplotter.cpp index f53c20a6..21bf09b7 100644 --- a/src/parameterplotter.cpp +++ b/src/parameterplotter.cpp @@ -31,14 +31,13 @@ ParameterPlotter::ParameterPlotter(QWidget *parent) : setRightPadding(10); setTopPadding(10); setBottomPadding(20); - movepoint = NULL; - colors << Qt::white << Qt::red << Qt::green << Qt::blue << Qt::magenta << Qt::gray << Qt::cyan; - maxy = 0; + m_movepoint = NULL; + m_colors << Qt::white << Qt::red << Qt::green << Qt::blue << Qt::magenta << Qt::gray << Qt::cyan; m_moveX = false; m_moveY = true; m_moveTimeline = true; m_newPoints = false; - activeIndexPlot = -1; + m_activeIndexPlot = -1; } /* Lines @@ -59,15 +58,15 @@ void ParameterPlotter::setPointLists(const QDomElement& d, const QString& paramN //QListIterator > > nameit(params); m_paramName = paramName; - itemParameter = d; + m_itemParameter = d; QDomNodeList namenode = d.elementsByTagName("parameter"); - max_y = 0; - min_y = 0; + m_max_y = 0; + m_min_y = 0; removeAllPlotObjects(); - stretchFactors.clear(); - parameterNameList.clear(); - plotobjects.clear(); + m_stretchFactors.clear(); + m_parameterNameList.clear(); + m_plotobjects.clear(); QString dat; QTextStream stre(&dat); @@ -82,8 +81,8 @@ void ParameterPlotter::setPointLists(const QDomElement& d, const QString& paramN QDomElement pa = namenode.item(i).toElement(); QDomNode na = pa.firstChildElement("name"); - parameterNameList << pa.attribute("namedesc").split(";"); - emit parameterList(parameterNameList); + m_parameterNameList << pa.attribute("namedesc").split(";"); + emit parameterList(m_parameterNameList); //max_y=pa.attributes().namedItem("max").nodeValue().toInt(); //int val=pa.attributes().namedItem("value").nodeValue().toInt(); @@ -96,32 +95,32 @@ void ParameterPlotter::setPointLists(const QDomElement& d, const QString& paramN defaults = pa.attribute("default").split(";"); QStringList maxv = pa.attribute("max").split(";"); QStringList minv = pa.attribute("min").split(";"); - for (int i = 0;i < maxv.size() && i < minv.size();i++) { - if (max_y < maxv[i].toInt()) max_y = maxv[i].toInt(); - if (min_y > minv[i].toInt()) min_y = minv[i].toInt(); + for (int i = 0; i < maxv.size() && i < minv.size(); i++) { + if (m_max_y < maxv[i].toInt()) m_max_y = maxv[i].toInt(); + if (m_min_y > minv[i].toInt()) m_min_y = minv[i].toInt(); } - for (int i = 0;i < parameterNameList.count();i++) { - KPlotObject *plot = new KPlotObject(colors[plotobjects.size()%colors.size()]); + for (int i = 0; i < m_parameterNameList.count(); i++) { + KPlotObject *plot = new KPlotObject(m_colors[m_plotobjects.size()%m_colors.size()]); plot->setShowLines(true); - if (!stretchFactors.contains(i) && i < maxv.size()) { + if (!m_stretchFactors.contains(i) && i < maxv.size()) { if (maxv[i].toInt() != 0) - stretchFactors[i] = max_y / maxv[i].toInt(); + m_stretchFactors[i] = m_max_y / maxv[i].toInt(); else - stretchFactors[i] = 1.0; + m_stretchFactors[i] = 1.0; } - if (i < defaults.size() && defaults[i].toDouble() > max_y) - defaults[i] = max_y; + if (i < defaults.size() && defaults[i].toDouble() > m_max_y) + defaults[i] = m_max_y; int def = 0; if (i < defaults.size()) - def = (int)(defaults[i].toInt() * stretchFactors[i]); + def = (int)(defaults[i].toInt() * m_stretchFactors[i]); QString name = ""; - if (i < parameterNameList.size()) - name = parameterNameList[i]; + if (i < m_parameterNameList.size()) + name = m_parameterNameList[i]; plot->addPoint(startframe, def, name); //add keyframes here plot->addPoint(endframe, def); - plotobjects.append(plot); + m_plotobjects.append(plot); } /*TODO keyframes @@ -133,26 +132,24 @@ void ParameterPlotter::setPointLists(const QDomElement& d, const QString& paramN }*/ } - maxx = endframe; - maxy = max_y; - setLimits(-1, endframe + 1, min_y - 10, maxy + 10); + setLimits(-1, endframe + 1, m_min_y - 10, m_max_y + 10); - addPlotObjects(plotobjects); + addPlotObjects(m_plotobjects); } void ParameterPlotter::createParametersNew() { QList plotobjs = plotObjects(); - if (plotobjs.size() != parameterNameList.size()) { + if (plotobjs.size() != m_parameterNameList.size()) { kDebug() << "ERROR size not equal"; } - QDomNodeList namenode = itemParameter.elementsByTagName("parameter"); + QDomNodeList namenode = m_itemParameter.elementsByTagName("parameter"); QString paramlist; QTextStream txtstr(¶mlist); QDomNode pa = namenode.item(0); if (namenode.count() > 0) { - for (int i = 0;i < plotobjs.count();i++) { + for (int i = 0; i < plotobjs.count(); i++) { QList points = plotobjs[i]->points(); foreach(const KPlotPoint *o, points) { txtstr << (int)o->y() ; @@ -164,7 +161,7 @@ void ParameterPlotter::createParametersNew() } pa.attributes().namedItem("value").setNodeValue(paramlist); pa.attributes().namedItem("start").setNodeValue(paramlist); - emit parameterChanged(itemParameter); + emit parameterChanged(m_itemParameter); } @@ -172,26 +169,26 @@ void ParameterPlotter::createParametersNew() void ParameterPlotter::mouseMoveEvent(QMouseEvent * event) { - if (movepoint != NULL) { + if (m_movepoint != NULL) { QList list = pointsUnderPoint(event->pos() - QPoint(leftPadding(), topPadding())) ; int i = 0; foreach(KPlotObject *o, plotObjects()) { QList points = o->points(); - for (int p = 0;p < points.size();p++) { - if (points[p] == movepoint && (activeIndexPlot == -1 || activeIndexPlot == i)) { - QPoint delta = event->pos() - oldmousepoint; - double newy = movepoint->y() - delta.y() * dataRect().height() / pixRect().height(); - if (m_moveY && newy > min_y && newy < max_y) - movepoint->setY(newy); + for (int p = 0; p < points.size(); p++) { + if (points[p] == m_movepoint && (m_activeIndexPlot == -1 || m_activeIndexPlot == i)) { + QPoint delta = event->pos() - m_oldmousepoint; + double newy = m_movepoint->y() - delta.y() * dataRect().height() / pixRect().height(); + if (m_moveY && newy > m_min_y && newy < m_max_y) + m_movepoint->setY(newy); if (p > 0 && p < points.size() - 1) { - double newx = movepoint->x() + delta.x() * dataRect().width() / pixRect().width(); + double newx = m_movepoint->x() + delta.x() * dataRect().width() / pixRect().width(); if (newx > points[p-1]->x() && newx < points[p+1]->x() && m_moveX) - movepoint->setX(movepoint->x() + delta.x()*dataRect().width() / pixRect().width()); + m_movepoint->setX(m_movepoint->x() + delta.x()*dataRect().width() / pixRect().width()); } if (m_moveTimeline && (m_moveX || m_moveY)) emit updateFrame(0); replacePlotObject(i, o); - oldmousepoint = event->pos(); + m_oldmousepoint = event->pos(); } } i++; @@ -206,20 +203,20 @@ void ParameterPlotter::replot(const QString & name) //removeAllPlotObjects(); int i = 0; bool drawAll = name.isEmpty() || name == "all"; - activeIndexPlot = -1; + m_activeIndexPlot = -1; foreach(KPlotObject* p, plotObjects()) { QString selectedName = "none"; - if (i < parameterNameList.size()) - selectedName = parameterNameList[i]; + if (i < m_parameterNameList.size()) + selectedName = m_parameterNameList[i]; p->setShowPoints(drawAll || selectedName == name); p->setShowLines(drawAll || selectedName == name); QPen pen = (drawAll || selectedName == name ? QPen(Qt::SolidLine) : QPen(Qt::NoPen)); pen.setColor(p->linePen().color()); p->setLabelPen(pen); if (selectedName == name) - activeIndexPlot = i; + m_activeIndexPlot = i; replacePlotObject(i++, p); } } @@ -231,12 +228,12 @@ void ParameterPlotter::mousePressEvent(QMouseEvent * event) QList list = pointsUnderPoint(inPlot) ; if (event->button() == Qt::LeftButton) { if (list.size() > 0) { - movepoint = list[0]; - oldmousepoint = event->pos(); + m_movepoint = list[0]; + m_oldmousepoint = event->pos(); } else { - if (m_newPoints && activeIndexPlot >= 0) { + if (m_newPoints && m_activeIndexPlot >= 0) { //setup new points - KPlotObject* p = plotObjects()[activeIndexPlot]; + KPlotObject* p = plotObjects()[m_activeIndexPlot]; QList points = p->points(); QList newpoints; @@ -254,9 +251,9 @@ void ParameterPlotter::mousePressEvent(QMouseEvent * event) foreach(const QPointF qf, newpoints) { p->addPoint(qf); } - replacePlotObject(activeIndexPlot, p); + replacePlotObject(m_activeIndexPlot, p); } - movepoint = NULL; + m_movepoint = NULL; } } else if (event->button() == Qt::LeftButton) { //menu for deleting or exact setup of point