18#ifndef KEYFRAMESDOCK_H
19#define KEYFRAMESDOCK_H
21#include "qmltypes/qmlfilter.h"
22#include "models/keyframesmodel.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()
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};