constructed keyframeview and timeruler together inside nodeparamview and connected them
This commit is contained in:
@@ -3,25 +3,36 @@
|
||||
#include <QVBoxLayout>
|
||||
|
||||
KeyframeView::KeyframeView(QWidget *parent) :
|
||||
QWidget(parent)
|
||||
TimelineViewBase(parent)
|
||||
{
|
||||
QVBoxLayout* layout = new QVBoxLayout(this);
|
||||
layout->setSpacing(0);
|
||||
layout->setMargin(0);
|
||||
|
||||
ruler_ = new TimeRuler();
|
||||
ruler_->SetTextVisible(true);
|
||||
layout->addWidget(ruler_);
|
||||
|
||||
view_ = new QGraphicsView();
|
||||
view_->setScene(&scene_);
|
||||
view_->setBackgroundRole(QPalette::Base);
|
||||
view_->setAlignment(Qt::AlignLeft | Qt::AlignTop);
|
||||
view_->setDragMode(QGraphicsView::RubberBandDrag);
|
||||
layout->addWidget(view_);
|
||||
setBackgroundRole(QPalette::Base);
|
||||
setAlignment(Qt::AlignLeft | Qt::AlignTop);
|
||||
setDragMode(QGraphicsView::RubberBandDrag);
|
||||
}
|
||||
|
||||
void KeyframeView::SetTimebase(const rational &timebase)
|
||||
void KeyframeView::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
ruler_->SetTimebase(timebase);
|
||||
if (PlayheadPress(event)) {
|
||||
return;
|
||||
}
|
||||
|
||||
QGraphicsView::mousePressEvent(event);
|
||||
}
|
||||
|
||||
void KeyframeView::mouseMoveEvent(QMouseEvent *event)
|
||||
{
|
||||
if (PlayheadMove(event)) {
|
||||
return;
|
||||
}
|
||||
|
||||
QGraphicsView::mouseMoveEvent(event);
|
||||
}
|
||||
|
||||
void KeyframeView::mouseReleaseEvent(QMouseEvent *event)
|
||||
{
|
||||
if (PlayheadRelease(event)) {
|
||||
return;
|
||||
}
|
||||
|
||||
QGraphicsView::mouseReleaseEvent(event);
|
||||
}
|
||||
|
||||
@@ -5,22 +5,22 @@
|
||||
|
||||
#include "common/rational.h"
|
||||
#include "keyframeviewitem.h"
|
||||
#include "widget/timeruler/timeruler.h"
|
||||
#include "widget/timelinewidget/view/timelineviewbase.h"
|
||||
|
||||
class KeyframeView : public QWidget
|
||||
class KeyframeView : public TimelineViewBase
|
||||
{
|
||||
public:
|
||||
KeyframeView(QWidget* parent = nullptr);
|
||||
|
||||
void AddKeyframe(const rational& time, int y);
|
||||
|
||||
void SetTimebase(const rational& timebase);
|
||||
protected:
|
||||
virtual void mousePressEvent(QMouseEvent *event) override;
|
||||
virtual void mouseMoveEvent(QMouseEvent *event) override;
|
||||
virtual void mouseReleaseEvent(QMouseEvent *event) override;
|
||||
|
||||
private:
|
||||
TimeRuler* ruler_;
|
||||
QGraphicsView* view_;
|
||||
|
||||
QGraphicsScene scene_;
|
||||
};
|
||||
|
||||
#endif // KEYFRAMEVIEW_H
|
||||
|
||||
Reference in New Issue
Block a user