Link RationalSlider timebase with nodeparamview

This commit is contained in:
Thomas Wilshaw
2021-04-08 11:26:36 +01:00
parent c62389e632
commit f9b423f731
5 changed files with 28 additions and 0 deletions
@@ -214,6 +214,10 @@ void NodeParamView::TimebaseChangedEvent(const rational &timebase)
keyframe_view_->SetTimebase(timebase);
foreach (NodeParamViewItem* item, items_) {
item->SetTimebase(timebase);
}
UpdateItemTime(GetTimestamp());
}
@@ -81,6 +81,11 @@ void NodeParamViewItem::SetTime(const rational &time)
body_->SetTime(time_);
}
void NodeParamViewItem::SetTimebase(const rational& timebase)
{
body_->SetTimebase(timebase);
}
Node *NodeParamViewItem::GetNode() const
{
return node_;
@@ -505,6 +510,12 @@ void NodeParamViewItemBody::ToggleArrayExpanded()
}
}
void NodeParamViewItemBody::SetTimebase(const rational& timebase) {
foreach (const InputUI& ui_obj, input_ui_map_) {
ui_obj.widget_bridge->SetTimebase(timebase);
}
}
NodeParamViewItemBody::InputUI::InputUI() :
main_label(nullptr),
widget_bridge(nullptr),
@@ -85,6 +85,8 @@ public:
int GetElementY(NodeInput c) const;
void SetTimebase(const rational& timebase);
signals:
void RequestSetTime(const rational& time);
@@ -159,6 +161,8 @@ public:
void SetTime(const rational& time);
void SetTimebase(const rational& timebase);
Node* GetNode() const;
bool IsExpanded() const;
@@ -526,6 +526,13 @@ rational NodeParamViewWidgetBridge::GetCurrentTimeAsNodeTime() const
return GetAdjustedTime(GetTimeTarget(), input_.node(), time_, true);
}
void NodeParamViewWidgetBridge::SetTimebase(const rational& timebase)
{
if (input_.GetDataType() == NodeValue::kRational) {
static_cast<RationalSlider*>(widgets_.first())->SetTimebase(timebase);
}
}
void NodeParamViewWidgetBridge::InputValueChanged(const NodeInput &input, const TimeRange &range)
{
if (input_ == input
@@ -49,6 +49,8 @@ public:
return widgets_;
}
void SetTimebase(const rational& timebase);
signals:
void ArrayWidgetDoubleClicked();