18 #ifndef KEYFRAMESDOCK_H
19 #define KEYFRAMESDOCK_H
21 #include "qmltypes/qmlfilter.h"
22 #include "models/keyframesmodel.h"
24 #include <QDockWidget>
25 #include <QQuickWidget>
26 #include <QScopedPointer>
30 class AttachedFiltersModel;
34 class KeyframesDock :
public QDockWidget
37 Q_PROPERTY(
double timeScale READ timeScale WRITE setTimeScale NOTIFY timeScaleChanged)
40 explicit KeyframesDock(QmlProducer *qmlProducer, QWidget *parent = 0);
42 KeyframesModel &model()
46 Q_INVOKABLE
int seekPrevious();
47 Q_INVOKABLE
int seekNext();
48 int currentParameter()
const;
49 double timeScale()
const
53 void setTimeScale(
double value);
57 void setZoom(
double value);
62 void seekPreviousSimple();
63 void seekNextSimple();
65 void timeScaleChanged();
69 void setCurrentFilter(QmlFilter *filter, QmlMetadata *meta);
70 void load(
bool force =
false);
72 void onProducerModified();
75 bool event(QEvent *event);
76 void keyPressEvent(QKeyEvent *event);
77 void keyReleaseEvent(QKeyEvent *event);
80 void onDockRightClicked();
81 void onKeyframeRightClicked();
82 void onClipRightClicked();
87 KeyframesModel m_model;
88 QmlMetadata *m_metadata;
90 QmlProducer *m_qmlProducer;
93 QMenu *m_keyTypePrevMenu;
94 QMenu *m_keyTypeNextMenu;
96 double m_timeScale {1.0};