From f04ca0a7076c168f5eab84131b1f22fdb105c61f Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sun, 24 Jan 2021 15:29:38 +1100 Subject: [PATCH] implemented select and deselect all in curve and param panels --- app/panel/curve/curve.cpp | 10 ++++++++++ app/panel/curve/curve.h | 4 ++++ app/panel/param/param.cpp | 10 ++++++++++ app/panel/param/param.h | 4 ++++ app/widget/curvewidget/curvewidget.h | 10 ++++++++++ app/widget/keyframeview/keyframeviewbase.cpp | 14 ++++++++++++++ app/widget/keyframeview/keyframeviewbase.h | 4 ++++ app/widget/nodeparamview/nodeparamview.h | 10 ++++++++++ 8 files changed, 66 insertions(+) diff --git a/app/panel/curve/curve.cpp b/app/panel/curve/curve.cpp index 3357dc861..c35f9618e 100644 --- a/app/panel/curve/curve.cpp +++ b/app/panel/curve/curve.cpp @@ -37,6 +37,16 @@ void CurvePanel::DeleteSelected() static_cast(GetTimeBasedWidget())->DeleteSelected(); } +void CurvePanel::SelectAll() +{ + static_cast(GetTimeBasedWidget())->SelectAll(); +} + +void CurvePanel::DeselectAll() +{ + static_cast(GetTimeBasedWidget())->DeselectAll(); +} + void CurvePanel::SetNodes(const QVector &nodes) { static_cast(GetTimeBasedWidget())->SetNodes(nodes); diff --git a/app/panel/curve/curve.h b/app/panel/curve/curve.h index 301e1e976..bc7c8eaed 100644 --- a/app/panel/curve/curve.h +++ b/app/panel/curve/curve.h @@ -34,6 +34,10 @@ public: virtual void DeleteSelected() override; + virtual void SelectAll() override; + + virtual void DeselectAll() override; + public slots: void SetNodes(const QVector &nodes); diff --git a/app/panel/param/param.cpp b/app/panel/param/param.cpp index 068ee3aae..f28d20bf8 100644 --- a/app/panel/param/param.cpp +++ b/app/panel/param/param.cpp @@ -55,6 +55,16 @@ void ParamPanel::DeleteSelected() static_cast(GetTimeBasedWidget())->DeleteSelected(); } +void ParamPanel::SelectAll() +{ + static_cast(GetTimeBasedWidget())->SelectAll(); +} + +void ParamPanel::DeselectAll() +{ + static_cast(GetTimeBasedWidget())->DeselectAll(); +} + void ParamPanel::Retranslate() { SetTitle(tr("Parameter Editor")); diff --git a/app/panel/param/param.h b/app/panel/param/param.h index a2106d812..8fcc32000 100644 --- a/app/panel/param/param.h +++ b/app/panel/param/param.h @@ -39,6 +39,10 @@ public slots: virtual void DeleteSelected() override; + virtual void SelectAll() override; + + virtual void DeselectAll() override; + signals: void RequestSelectNode(const QVector& target); diff --git a/app/widget/curvewidget/curvewidget.h b/app/widget/curvewidget/curvewidget.h index 3f310f746..6b113fafd 100644 --- a/app/widget/curvewidget/curvewidget.h +++ b/app/widget/curvewidget/curvewidget.h @@ -48,6 +48,16 @@ public: void DeleteSelected(); + void SelectAll() + { + view_->SelectAll(); + } + + void DeselectAll() + { + view_->DeselectAll(); + } + public slots: void SetNodes(const QVector &nodes); diff --git a/app/widget/keyframeview/keyframeviewbase.cpp b/app/widget/keyframeview/keyframeviewbase.cpp index 40359913a..4336a5c05 100644 --- a/app/widget/keyframeview/keyframeviewbase.cpp +++ b/app/widget/keyframeview/keyframeviewbase.cpp @@ -89,6 +89,20 @@ void KeyframeViewBase::RemoveKeyframesOfInput(NodeInput *input) } } +void KeyframeViewBase::SelectAll() +{ + for (auto it=item_map_.cbegin(); it!=item_map_.cend(); it++) { + it.value()->setSelected(true); + } +} + +void KeyframeViewBase::DeselectAll() +{ + for (auto it=item_map_.cbegin(); it!=item_map_.cend(); it++) { + it.value()->setSelected(false); + } +} + void KeyframeViewBase::RemoveKeyframe(NodeKeyframe* key) { KeyframeAboutToBeRemoved(key); diff --git a/app/widget/keyframeview/keyframeviewbase.h b/app/widget/keyframeview/keyframeviewbase.h index 909e49e82..5f2d52b56 100644 --- a/app/widget/keyframeview/keyframeviewbase.h +++ b/app/widget/keyframeview/keyframeviewbase.h @@ -44,6 +44,10 @@ public: void RemoveKeyframesOfInput(NodeInput* input); + void SelectAll(); + + void DeselectAll(); + public slots: void RemoveKeyframe(NodeKeyframe* key); diff --git a/app/widget/nodeparamview/nodeparamview.h b/app/widget/nodeparamview/nodeparamview.h index 17bdab0a9..8bbda8f2f 100644 --- a/app/widget/nodeparamview/nodeparamview.h +++ b/app/widget/nodeparamview/nodeparamview.h @@ -72,6 +72,16 @@ public: void DeleteSelected(); + void SelectAll() + { + keyframe_view_->SelectAll(); + } + + void DeselectAll() + { + keyframe_view_->DeselectAll(); + } + signals: void RequestSelectNode(const QVector& target);