From 68c106eab521ecbf85ac1d93b168b5814dda0df1 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 7 Jul 2017 14:47:36 +0200 Subject: Fix VCA Automation Lane selection This moves child-selection API up into TAV (Superclass of StripableTAV which actually owns the children) --- gtk2_ardour/route_time_axis.cc | 20 +++----------------- gtk2_ardour/time_axis_view.cc | 24 ++++++++++++++++++++---- gtk2_ardour/time_axis_view.h | 2 +- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 045dffa20f..c1fa5e26ba 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -1345,9 +1345,7 @@ RouteTimeAxisView::selection_click (GdkEventButton* ev) void RouteTimeAxisView::set_selected_points (PointSelection& points) { - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - (*i)->set_selected_points (points); - } + StripableTimeAxisView::set_selected_points (points); AudioStreamView* asv = dynamic_cast(_view); if (asv) { asv->set_selected_points (points); @@ -1382,12 +1380,7 @@ RouteTimeAxisView::get_selectables (framepos_t start, framepos_t end, double top } /* pick up visible automation tracks */ - - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - if (!(*i)->hidden()) { - (*i)->get_selectables (start_adjusted, end_adjusted, top, bot, results, within); - } - } + StripableTimeAxisView::get_selectables (start_adjusted, end_adjusted, top, bot, results, within); } void @@ -1396,14 +1389,7 @@ RouteTimeAxisView::get_inverted_selectables (Selection& sel, list& if (_view) { _view->get_inverted_selectables (sel, results); } - - for (Children::iterator i = children.begin(); i != children.end(); ++i) { - if (!(*i)->hidden()) { - (*i)->get_inverted_selectables (sel, results); - } - } - - return; + StripableTimeAxisView::get_inverted_selectables (sel, results); } RouteGroup* diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc index c1ec7767e5..05d93f696c 100644 --- a/gtk2_ardour/time_axis_view.cc +++ b/gtk2_ardour/time_axis_view.cc @@ -1017,15 +1017,31 @@ TimeAxisView::remove_child (boost::shared_ptr child) * @param result Filled in with selectable things. */ void -TimeAxisView::get_selectables (framepos_t /*start*/, framepos_t /*end*/, double /*top*/, double /*bot*/, list& /*result*/, bool /*within*/) +TimeAxisView::get_selectables (framepos_t start, framepos_t end, double top, double bot, list& results, bool within) { - return; + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + if (!(*i)->hidden()) { + (*i)->get_selectables (start, end, top, bot, results, within); + } + } +} + +void +TimeAxisView::set_selected_points (PointSelection& points) +{ + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + (*i)->set_selected_points (points); + } } void -TimeAxisView::get_inverted_selectables (Selection& /*sel*/, list& /*result*/) +TimeAxisView::get_inverted_selectables (Selection& sel, list& results) { - return; + for (Children::iterator i = children.begin(); i != children.end(); ++i) { + if (!(*i)->hidden()) { + (*i)->get_inverted_selectables (sel, results); + } + } } void diff --git a/gtk2_ardour/time_axis_view.h b/gtk2_ardour/time_axis_view.h index f33379e4d6..7f9e562ee1 100644 --- a/gtk2_ardour/time_axis_view.h +++ b/gtk2_ardour/time_axis_view.h @@ -189,7 +189,7 @@ class TimeAxisView : public virtual AxisView const int32_t sub_num) { return false; } virtual void set_selected_regionviews (RegionSelection&) {} - virtual void set_selected_points (PointSelection&) {} + virtual void set_selected_points (PointSelection&); virtual void fade_range (TimeSelection&) {} -- cgit v1.2.3