summaryrefslogtreecommitdiffstats
path: root/examples/curveeditorapp/examplecurvemodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/curveeditorapp/examplecurvemodel.cpp')
-rw-r--r--examples/curveeditorapp/examplecurvemodel.cpp94
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.