Don't allow drag of automation range unless the mouse is inside the range.
[ardour.git] / gtk2_ardour / time_axis_view.h
index 0589385762212c7300c054ee373839b36b4764e4..d2c87426a9e2db1931e63ea697f53b835144e882 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2003 Paul Davis 
+    Copyright (C) 2003 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -34,6 +34,7 @@
 #include <gtkmm2ext/focus_entry.h>
 
 #include "pbd/stateful.h"
+#include "pbd/signals.h"
 
 #include "ardour/types.h"
 #include "ardour/region.h"
@@ -89,11 +90,13 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
        static uint32_t hSmaller;
        static uint32_t hSmall;
 
-       TimeAxisView(ARDOUR::Session& sess, PublicEditor& ed, TimeAxisView* parent, ArdourCanvas::Canvas& canvas);
+       TimeAxisView(ARDOUR::Session* sess, PublicEditor& ed, TimeAxisView* parent, ArdourCanvas::Canvas& canvas);
        virtual ~TimeAxisView ();
 
        XMLNode& get_state ();
-       int set_state (const XMLNode&);
+       int set_state (const XMLNode&, int version);
+
+       static PBD::Signal1<void,TimeAxisView*> CatchDeletion;
 
        /** @return index of this TimeAxisView within its parent */
        int order () const { return _order; }
@@ -180,10 +183,10 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
        virtual void reveal_dependent_views (TimeAxisViewItem&) {}
 
        /* editing operations */
-       
+
        virtual bool cut_copy_clear (Selection&, Editing::CutCopyOp) { return false; }
        virtual bool paste (nframes_t, float /*times*/, Selection&, size_t /*nth*/) { return false; }
-       
+
        virtual void set_selected_regionviews (RegionSelection&) {}
        virtual void set_selected_points (PointSelection&) {}
 
@@ -214,7 +217,7 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
 
        virtual LayerDisplay layer_display () const { return Overlaid; }
        virtual StreamView* view () const { return 0; }
-       
+
        typedef std::vector<boost::shared_ptr<TimeAxisView> > Children;
 
   protected:
@@ -241,7 +244,7 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
        sigc::connection name_entry_key_timeout;
        bool name_entry_key_timed_out ();
        guint32 last_name_entry_key_press_event;
-       
+
        /* derived classes can override these */
 
        virtual void name_entry_changed ();
@@ -249,7 +252,7 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
        virtual bool name_entry_focus_out (GdkEventFocus *ev);
 
        /** Handle mouse relaese on our LHS control name ebox.
-        * 
+        *
         *@ param ev the event
         */
        virtual bool controls_ebox_button_release (GdkEventButton *ev);
@@ -281,7 +284,7 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
        void popup_size_menu(guint32 when);
 
        /** Handle the size option of our main menu.
-        * 
+        *
         * @param ev the event
         */
        gint size_click(GdkEventButton *ev);
@@ -337,7 +340,7 @@ class TimeAxisView : public virtual AxisView, public PBD::Stateful
        ArdourCanvas::Group* _canvas_display;
        double _y_position;
        PublicEditor& _editor;
-       
+
 private:
 
        ArdourCanvas::Group* _canvas_background;
@@ -348,7 +351,7 @@ private:
        ArdourCanvas::Group* _ghost_group;
 
        static int const _max_order;
-       
+
 }; /* class TimeAxisView */
 
 #endif /* __ardour_gtk_time_axis_h__ */