all time-based panels are now derived from a common base class

Cuts down on a lot of duplicate code between
TimelineWidget/ViewerWidget/CurveWidget/NodeParamView
and TimelinePanel/ViewerPanel/CurvePanel/ParamPanel since they all use similar
time functions.
This commit is contained in:
itsmattkc
2020-02-01 19:39:43 +11:00
parent 5d58479f0a
commit 17c1493aa7
62 changed files with 1076 additions and 1042 deletions
+3 -29
View File
@@ -21,14 +21,13 @@
#ifndef TIMELINE_PANEL_H
#define TIMELINE_PANEL_H
#include "widget/panel/panel.h"
#include "panel/timebased/timebased.h"
#include "widget/timelinewidget/timelinewidget.h"
/**
* @brief Panel container for a TimelineWidget
*/
class TimelinePanel : public PanelWidget
class TimelinePanel : public TimeBasedPanel
{
Q_OBJECT
public:
@@ -36,16 +35,8 @@ public:
void Clear();
void ConnectTimelineNode(ViewerOutput* node);
void DisconnectTimelineNode();
void SplitAtPlayhead();
virtual void ZoomIn() override;
virtual void ZoomOut() override;
virtual void SelectAll() override;
virtual void DeselectAll() override;
@@ -58,31 +49,14 @@ public:
virtual void EditToOut() override;
virtual void GoToPrevCut() override;
virtual void GoToNextCut() override;
virtual void DeleteSelected() override;
virtual void IncreaseTrackHeight() override;
virtual void DecreaseTrackHeight() override;
public slots:
void SetTimebase(const rational& timebase);
void SetTime(const int64_t& timestamp);
protected:
virtual void changeEvent(QEvent* e) override;
signals:
void TimeChanged(const int64_t& time);
private:
void Retranslate();
TimelineWidget* timeline_widget_;
virtual void Retranslate() override;
};