Fix VCA Automation Lane selection

This moves child-selection API up into TAV (Superclass of StripableTAV
which actually owns the children)
This commit is contained in:
Robin Gareus 2017-07-07 14:47:36 +02:00
parent f2c7f2fdcb
commit 68c106eab5
3 changed files with 24 additions and 22 deletions

View File

@ -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<AudioStreamView*>(_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<Selectable*>&
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*

View File

@ -1017,15 +1017,31 @@ TimeAxisView::remove_child (boost::shared_ptr<TimeAxisView> child)
* @param result Filled in with selectable things.
*/
void
TimeAxisView::get_selectables (framepos_t /*start*/, framepos_t /*end*/, double /*top*/, double /*bot*/, list<Selectable*>& /*result*/, bool /*within*/)
TimeAxisView::get_selectables (framepos_t start, framepos_t end, double top, double bot, list<Selectable*>& 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::get_inverted_selectables (Selection& /*sel*/, list<Selectable*>& /*result*/)
TimeAxisView::set_selected_points (PointSelection& points)
{
return;
for (Children::iterator i = children.begin(); i != children.end(); ++i) {
(*i)->set_selected_points (points);
}
}
void
TimeAxisView::get_inverted_selectables (Selection& sel, list<Selectable*>& results)
{
for (Children::iterator i = children.begin(); i != children.end(); ++i) {
if (!(*i)->hidden()) {
(*i)->get_inverted_selectables (sel, results);
}
}
}
void

View File

@ -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&) {}