Link RationalSlider timebase with nodeparamview
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user