diff options
Diffstat (limited to 'examples/curveeditorapp/examplecurvemodel.cpp')
-rw-r--r-- | examples/curveeditorapp/examplecurvemodel.cpp | 94 |
1 files changed, 57 insertions, 37 deletions
diff --git a/examples/curveeditorapp/examplecurvemodel.cpp b/examples/curveeditorapp/examplecurvemodel.cpp index a20740b..751ae1c 100644 --- a/examples/curveeditorapp/examplecurvemodel.cpp +++ b/examples/curveeditorapp/examplecurvemodel.cpp @@ -24,9 +24,18 @@ ****************************************************************************/ #include "examplecurvemodel.h" #include "animationcurve.h" +#include "curveeditorstyle.h" + +#include <QDebug> namespace DesignTools { +ExampleCurveModel::ExampleCurveModel() + : CurveEditorModel() +{ + connect(this, &CurveEditorModel::curveChanged, this, &ExampleCurveModel::curveChangeEmitted); +} + double ExampleCurveModel::minimumTime() const { return 0.0; @@ -37,64 +46,75 @@ double ExampleCurveModel::maximumTime() const return 500.0; } -double ExampleCurveModel::minimumValue() const -{ - return -1.0; -} - -double ExampleCurveModel::maximumValue() const -{ - return 1.0; -} - -AnimationCurve ExampleCurveModel::curve(int i) const -{ - if (i == 0) { - return AnimationCurve({ - Keyframe(QPointF(0.0, -1.0), QPointF(), QPointF(100.0, -1.0)), - Keyframe(QPointF(250.0, 0.0), QPointF(150.0, 0.0), QPointF(350.0, 0.0)), - Keyframe(QPointF(500.0, 1.0), QPointF(400.0, 1.0), QPointF()), - }); - } else { - return AnimationCurve({ - Keyframe(QPointF(0.0, -1.0), QPointF(), QPointF(1.0, -1.0)), - Keyframe(QPointF(5.0, 0.0), QPointF(4.0, 0.0), QPointF(6.0, 0.0)), - Keyframe(QPointF(200.0, 1.0), QPointF(199.0, 1.0), QPointF()), - }); - } -} - CurveEditorStyle ExampleCurveModel::style() const { // Pseudo auto generated. See: CurveEditorStyleDialog CurveEditorStyle out; - out.backgroundBrush = QBrush(QColor(5, 0, 100)); + out.backgroundBrush = QBrush(QColor(55, 55, 55)); out.backgroundAlternateBrush = QBrush(QColor(0, 0, 50)); - out.fontColor = QColor(200, 200, 200); - out.gridColor = QColor(128, 128, 128); + out.fontColor = QColor(255, 255, 255); + out.gridColor = QColor(114, 116, 118); out.canvasMargin = 5; out.zoomInWidth = 99; out.zoomInHeight = 99; out.timeAxisHeight = 40; out.timeOffsetLeft = 10; out.timeOffsetRight = 10; - out.rangeBarColor = QColor(50, 50, 255); + out.rangeBarColor = QColor(46, 47, 48); out.rangeBarCapsColor = QColor(50, 50, 255); out.valueAxisWidth = 60; out.valueOffsetTop = 10; out.valueOffsetBottom = 10; - out.playheadColor = QColor(200, 200, 0); + out.playheadColor = QColor(255, 255, 0); out.handleStyle.size = 12; out.handleStyle.lineWidth = 1; - out.handleStyle.color = QColor(200, 0, 0); - out.handleStyle.selectionColor = QColor(200, 200, 200); + out.handleStyle.color = QColor(255, 255, 255); + out.handleStyle.selectionColor = QColor(255, 255, 255); out.keyframeStyle.size = 13; - out.keyframeStyle.color = QColor(240, 255, 0); - out.keyframeStyle.selectionColor = QColor(200, 200, 200); + out.keyframeStyle.color = QColor(172, 210, 255); + out.keyframeStyle.selectionColor = QColor(255, 255, 255); out.curveStyle.width = 1; out.curveStyle.color = QColor(0, 200, 0); - out.curveStyle.selectionColor = QColor(200, 200, 200); + out.curveStyle.selectionColor = QColor(255, 255, 255); return out; } +void ExampleCurveModel::createItems() +{ + AnimationCurve curve1({ + Keyframe(QPointF(0.0, -1.0), QPointF(), QPointF(100.0, -1.0)), + Keyframe(QPointF(150.0, 0.7), QPointF(50.0, 0.7), QPointF(250.0, 0.7)), + Keyframe(QPointF(500.0, 1.0), QPointF(400.0, 1.0), QPointF())}); + + AnimationCurve curve2({ + Keyframe(QPointF(0.0, -1.0), QPointF(), QPointF(100.0, -1.0)), + Keyframe(QPointF(200.0, 0.4), QPointF(100.0, 0.4), QPointF(300.0, 0.4)), + Keyframe(QPointF(500.0, 1.0), QPointF(400.0, 1.0), QPointF())}); + + AnimationCurve curve3({ + Keyframe(QPointF(0.0, -1.0), QPointF(), QPointF(100.0, -1.0)), + Keyframe(QPointF(250.0, 0.0), QPointF(150.0, 0.0), QPointF(350.0, 0.0)), + Keyframe(QPointF(500.0, 1.0), QPointF(400.0, 1.0), QPointF())}); + + AnimationCurve curve4({ + Keyframe(QPointF(0.0, -1.0), QPointF(), QPointF(100.0, -1.0)), + Keyframe(QPointF(300.0, -0.4), QPointF(200.0, -0.4), QPointF(400.0, -0.4)), + Keyframe(QPointF(500.0, 1.0), QPointF(400.0, 1.0), QPointF())}); + + auto *instance = new NodeTreeItem("Instance", QIcon(":/ICON_INSTANCE")); + instance->addChild(new PropertyTreeItem("Position X", curve1)); + instance->addChild(new PropertyTreeItem("Position Y", curve2)); + + auto *material = new NodeTreeItem("Material", QIcon(":/ICON_MATERIAL")); + material->addChild(new PropertyTreeItem("Opacity", curve3)); + material->addChild(new PropertyTreeItem("Color R", curve4)); + + reset({instance, material}); +} + +void ExampleCurveModel::curveChangeEmitted(PropertyTreeItem *item) +{ + qDebug() << "The Curve with the id " << item->id() << " has changed"; +} + } // End namespace DesignTools. |