18 #ifndef KEYFRAMESDOCK_H
19 #define KEYFRAMESDOCK_H
21 #include "models/keyframesmodel.h"
22 #include "qmltypes/qmlfilter.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() {
return m_model; }
43 Q_INVOKABLE
int seekPrevious();
44 Q_INVOKABLE
int seekNext();
45 int currentParameter()
const;
46 double timeScale()
const {
return m_timeScale; }
47 void setTimeScale(
double value);
51 void setZoom(
double value);
56 void seekPreviousSimple();
57 void seekNextSimple();
59 void timeScaleChanged();
63 void setCurrentFilter(QmlFilter *filter, QmlMetadata *meta);
64 void load(
bool force =
false);
66 void onProducerModified();
69 bool event(QEvent *event);
70 void keyPressEvent(QKeyEvent *event);
71 void keyReleaseEvent(QKeyEvent *event);
74 void onDockRightClicked();
75 void onKeyframeRightClicked();
76 void onClipRightClicked();
81 KeyframesModel m_model;
82 QmlMetadata *m_metadata;
84 QmlProducer *m_qmlProducer;
87 QMenu *m_keyTypePrevMenu;
88 QMenu *m_keyTypeNextMenu;
90 double m_timeScale{1.0};