18#ifndef KEYFRAMESDOCK_H
19#define KEYFRAMESDOCK_H
21#include "models/keyframesmodel.h"
22#include "qmltypes/qmlfilter.h"
25#include <QQuickWidget>
26#include <QScopedPointer>
30class AttachedFiltersModel;
34class 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);
48 void setZoomScale(
double scale);
52 void setZoom(
double value);
57 void seekPreviousSimple();
58 void seekNextSimple();
60 void timeScaleChanged();
64 void setCurrentFilter(QmlFilter *filter, QmlMetadata *meta);
65 void load(
bool force =
false);
67 void onProducerModified();
70 bool event(QEvent *event);
71 void keyPressEvent(QKeyEvent *event);
72 void keyReleaseEvent(QKeyEvent *event);
75 void onDockRightClicked();
76 void onKeyframeRightClicked();
77 void onClipRightClicked();
82 KeyframesModel m_model;
83 QmlMetadata *m_metadata;
85 QmlProducer *m_qmlProducer;
88 QMenu *m_keyTypePrevMenu;
89 QMenu *m_keyTypeNextMenu;
91 double m_timeScale{1.0};