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,11 +3,20 @@
#include <QtMath>
TimelineScaledObject::TimelineScaledObject() :
scale_(1.0)
scale_(1.0),
max_scale_(DBL_MAX)
{
}
void TimelineScaledObject::SetTimebase(const rational &timebase)
{
timebase_ = timebase;
timebase_dbl_ = timebase_.toDouble();
TimebaseChangedEvent(timebase);
}
const rational &TimelineScaledObject::timebase() const
{
return timebase_;
@@ -45,8 +54,23 @@ rational TimelineScaledObject::SceneToTime(const double &x, bool round)
return SceneToTime(x, scale_, timebase_, round);
}
void TimelineScaledObject::SetTimebaseInternal(const rational &timebase)
void TimelineScaledObject::SetMaximumScale(const double &max)
{
timebase_ = timebase;
timebase_dbl_ = timebase_.toDouble();
max_scale_ = max;
if (GetScale() > max_scale_) {
SetScale(max_scale_);
}
}
const double& TimelineScaledObject::GetScale() const
{
return scale_;
}
void TimelineScaledObject::SetScale(const double& scale)
{
scale_ = scale;
ScaleChangedEvent(scale_);
}