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
+13 -35
View File
@@ -1,56 +1,34 @@
#include "viewerbase.h"
ViewerPanelBase::ViewerPanelBase(QWidget *parent) :
PanelWidget(parent)
TimeBasedPanel(parent)
{
}
void ViewerPanelBase::ZoomIn()
{
viewer_->SetScale(viewer_->scale() * 2);
}
void ViewerPanelBase::ZoomOut()
{
viewer_->SetScale(viewer_->scale() * 0.5);
}
void ViewerPanelBase::GoToStart()
{
viewer_->GoToStart();
}
void ViewerPanelBase::PrevFrame()
{
viewer_->PrevFrame();
}
void ViewerPanelBase::PlayPause()
{
viewer_->TogglePlayPause();
}
void ViewerPanelBase::NextFrame()
{
viewer_->NextFrame();
}
void ViewerPanelBase::GoToEnd()
{
viewer_->GoToEnd();
static_cast<ViewerWidget*>(GetTimeBasedWidget())->TogglePlayPause();
}
void ViewerPanelBase::ShuttleLeft()
{
viewer_->ShuttleLeft();
static_cast<ViewerWidget*>(GetTimeBasedWidget())->ShuttleLeft();
}
void ViewerPanelBase::ShuttleStop()
{
viewer_->ShuttleStop();
static_cast<ViewerWidget*>(GetTimeBasedWidget())->ShuttleStop();
}
void ViewerPanelBase::ShuttleRight()
{
viewer_->ShuttleRight();
static_cast<ViewerWidget*>(GetTimeBasedWidget())->ShuttleRight();
}
void ViewerPanelBase::ConnectTimeBasedPanel(TimeBasedPanel *panel)
{
connect(panel, &TimeBasedPanel::PlayPauseRequested, this, &ViewerPanelBase::PlayPause);
connect(panel, &TimeBasedPanel::ShuttleLeftRequested, this, &ViewerPanelBase::ShuttleLeft);
connect(panel, &TimeBasedPanel::ShuttleStopRequested, this, &ViewerPanelBase::ShuttleStop);
connect(panel, &TimeBasedPanel::ShuttleRightRequested, this, &ViewerPanelBase::ShuttleRight);
}