properly handle meter channel count changes
[ardour.git] / gtk2_ardour / time_axis_view.h
index 1eb193590c9d63f9e775e2b43672c11f899b292d..e4e30fdc4f4726b02d8204a832856e57a793e1b6 100644 (file)
@@ -39,7 +39,9 @@
 #include "pbd/signals.h"
 
 #include "ardour/types.h"
+#include "ardour/presentation_info.h"
 #include "ardour/region.h"
+
 #include "evoral/Parameter.hpp"
 
 #include "canvas/line.h"
@@ -55,6 +57,7 @@ namespace ARDOUR {
        class Session;
        class RouteGroup;
        class Playlist;
+       class Stripable;
 }
 
 namespace Gtk {
@@ -135,6 +138,8 @@ class TimeAxisView : public virtual AxisView
 
        void set_selected (bool);
 
+       virtual bool selectable() const { return true; }
+
        /**
         * potential handler for entered events
         */
@@ -180,7 +185,8 @@ class TimeAxisView : public virtual AxisView
         */
        virtual bool paste (ARDOUR::framepos_t pos,
                            const Selection&   selection,
-                           PasteContext&      ctx) { return false; }
+                           PasteContext&      ctx,
+                           const int32_t sub_num) { return false; }
 
        virtual void set_selected_regionviews (RegionSelection&) {}
        virtual void set_selected_points (PointSelection&) {}
@@ -229,9 +235,7 @@ class TimeAxisView : public virtual AxisView
        Gtk::VBox              time_axis_vbox;
        Gtk::HBox              time_axis_hbox;
        Gtk::Frame             time_axis_frame;
-       Gtk::HBox              name_hbox;
        Gtk::HBox              top_hbox;
-       Gtk::Label             name_label;
        Gtk::Fixed             scroomer_placeholder;
        bool                  _name_editing;
        uint32_t               height;  /* in canvas units */
@@ -254,18 +258,12 @@ class TimeAxisView : public virtual AxisView
 
        virtual bool can_edit_name() const;
 
-       bool name_entry_key_release (GdkEventKey *ev);
-       bool name_entry_key_press (GdkEventKey *ev);
-       bool name_entry_focus_out (GdkEventFocus *ev);
-
-       Gtk::Entry* name_entry;
-       bool ending_name_edit;
        void begin_name_edit ();
-       void end_name_edit (int);
+       void end_name_edit (std::string, int);
 
        /* derived classes can override these */
 
-       virtual void name_entry_changed ();
+       virtual bool name_entry_changed (std::string const&);
 
        /** Handle mouse relaese on our LHS control name ebox.
         *
@@ -308,7 +306,7 @@ class TimeAxisView : public virtual AxisView
 
        void build_size_menu ();
 
-private:
+  private:
        Gtk::VBox*            control_parent;
        int                  _order;
        uint32_t             _effective_height;