make AxisView::marked_for_display() be virtual so we can use the a Stripable's PresentationInfo hidden() status

This commit is contained in:
Paul Davis 2016-06-05 15:19:54 -04:00
parent d58cb3daa3
commit 171b70927a
6 changed files with 40 additions and 1 deletions

View File

@ -74,7 +74,7 @@ class AxisView : public virtual Selectable, public PBD::ScopedConnectionList, pu
property_hashtable.clear ();
}
bool marked_for_display () const;
virtual bool marked_for_display () const;
virtual bool set_marked_for_display (bool);
static GUIObjectState& gui_object_state();

View File

@ -2616,3 +2616,15 @@ MixerStrip::update_track_number_visibility ()
number_label.hide ();
}
}
bool
MixerStrip::marked_for_display () const
{
return !_route->presentation_info().hidden();
}
bool
MixerStrip::set_marked_for_display (bool yn)
{
return RouteUI::mark_hidden (!yn);
}

View File

@ -81,6 +81,9 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
MixerStrip (Mixer_UI&, ARDOUR::Session*, bool in_mixer = true);
~MixerStrip ();
bool marked_for_display () const;
bool set_marked_for_display (bool);
void set_width_enum (Width, void* owner);
Width get_width_enum () const { return _width; }
void* width_owner () const { return _width_owner; }

View File

@ -2931,3 +2931,15 @@ RouteTimeAxisView::stripable () const
{
return _route;
}
bool
RouteTimeAxisView::marked_for_display () const
{
return !_route->presentation_info().hidden();
}
bool
RouteTimeAxisView::set_marked_for_display (bool yn)
{
return RouteUI::mark_hidden (!yn);
}

View File

@ -2356,3 +2356,13 @@ RouteUI::manage_pins ()
proxy->present();
}
}
bool
RouteUI::mark_hidden (bool yn)
{
if (yn != _route->presentation_info().hidden()) {
_route->presentation_info().set_hidden (yn);
return true; // things changed
}
return false;
}

View File

@ -299,6 +299,8 @@ class RouteUI : public virtual AxisView
static std::string program_port_prefix;
bool mark_hidden (bool yn);
private:
void parameter_changed (std::string const &);
void relabel_solo_button ();