#include "processor_selection.h"
#include "route_ui_selection.h"
-class RouteProcessorSelection : public PBD::ScopedConnectionList, public sigc::trackable
-{
- public:
- ProcessorSelection processors;
- AxisViewSelection axes;
+namespace ARDOUR {
+ class SessionHandlePtr;
+}
- RouteProcessorSelection();
+class AxisViewProvider;
- RouteProcessorSelection& operator= (const RouteProcessorSelection& other);
-
- sigc::signal<void> ProcessorsChanged;
- sigc::signal<void> RoutesChanged;
+class RouteProcessorSelection : public ProcessorSelection
+{
+public:
+ AxisViewSelection axes;
- void block_routes_changed (bool);
+ RouteProcessorSelection (ARDOUR::SessionHandlePtr&, AxisViewProvider&);
void clear ();
bool empty();
- void set (XMLNode* node);
- void add (XMLNode* node);
-
void set (AxisView*);
- void add (AxisView*);
- void remove (AxisView*);
+ void add (AxisView*, bool with_groups = false);
+ void remove (AxisView*, bool with_groups = false);
+ bool selected (AxisView*);
- void clear_processors ();
void clear_routes ();
- bool selected (AxisView*);
+ void presentation_info_changed (PBD::PropertyChange const & what_changed);
- private:
+private:
+ ARDOUR::SessionHandlePtr& shp;
+ AxisViewProvider& avp;
void removed (AxisView*);
- bool _no_route_change_signal;
+ std::list<AxisView*> add_grouped_tracks (AxisView*) const;
+ RouteProcessorSelection& operator= (const RouteProcessorSelection& other);
+ RouteProcessorSelection (RouteProcessorSelection const&);
};
bool operator==(const RouteProcessorSelection& a, const RouteProcessorSelection& b);