Make split region work across edit groups even if the region is not selected when...
[ardour.git] / gtk2_ardour / time_axis_view.h
index 1f401967eb917adeafcc8a4004b2f4205c9562cc..baf8327e672d03128edd86548667aa0b698297a9 100644 (file)
 
 #include <ardour/types.h>
 #include <ardour/region.h>
+#include <ardour/parameter.h>
 
 #include "prompter.h"
 #include "axis_view.h"
 #include "enums.h"
 #include "editing.h"
 #include "canvas.h"
-#include "color.h"
 
 namespace ARDOUR {
        class Session;
@@ -201,6 +201,7 @@ class TimeAxisView : public virtual AxisView
 
        /* state/serialization management */
 
+       TimeAxisView* get_parent () { return parent; }
        void set_parent (TimeAxisView& p);
        bool has_state () const;
 
@@ -209,7 +210,9 @@ class TimeAxisView : public virtual AxisView
 
        /* call this on the parent */
 
-       virtual XMLNode* get_child_xml_node (const string & childname) { return 0; }
+       virtual XMLNode* get_automation_child_xml_node (ARDOUR::Parameter param) { return 0; }
+       
+       typedef std::vector<boost::shared_ptr<TimeAxisView> > Children;
 
   protected:
 
@@ -280,11 +283,11 @@ class TimeAxisView : public virtual AxisView
        /** Find the parent with state */
        TimeAxisView* get_parent_with_state();
 
-       std::vector<TimeAxisView*> children;
+       Children children;
        bool is_child (TimeAxisView*);
 
-       void remove_child (TimeAxisView*);
-       void add_child (TimeAxisView*);
+       void remove_child (boost::shared_ptr<TimeAxisView>);
+       void add_child (boost::shared_ptr<TimeAxisView>);
 
        /* selection display */
 
@@ -305,7 +308,7 @@ class TimeAxisView : public virtual AxisView
        static bool need_size_info;
 
        void set_height_pixels (uint32_t h);
-       void color_handler (ColorID, uint32_t);
+       void color_handler ();
 
 }; /* class TimeAxisView */