summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-08-24 01:02:40 +0000
committerCarl Hetherington <carl@carlh.net>2010-08-24 01:02:40 +0000
commit211b57b3038ccb01d3b852e43940ba24f8ba5463 (patch)
tree097a323fb69fc141da7ee8ab5fa98e68180ee14c /gtk2_ardour/editor_drag.h
parentb374fb0202a2eb428e2b96590b02f5ef9d42e202 (diff)
Tidy up region drag move code a bit.
git-svn-id: svn://localhost/ardour2/branches/3.0@7672 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_drag.h')
-rw-r--r--gtk2_ardour/editor_drag.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_drag.h b/gtk2_ardour/editor_drag.h
index 9e503201b8..0d0da70450 100644
--- a/gtk2_ardour/editor_drag.h
+++ b/gtk2_ardour/editor_drag.h
@@ -35,6 +35,10 @@ namespace ARDOUR {
class Location;
}
+namespace PBD {
+ class StatefulDiffCommand;
+}
+
namespace Gnome {
namespace Canvas {
class CanvasNoteEvent;
@@ -223,6 +227,7 @@ struct DraggingView
RegionView* view; ///< the view
double initial_y; ///< the initial y position of the view before any reparenting
+ boost::shared_ptr<ARDOUR::Playlist> initial_playlist;
};
/** Abstract base class for drags that involve region(s) */
@@ -315,7 +320,42 @@ public:
}
private:
+ typedef std::set<boost::shared_ptr<ARDOUR::Playlist> > PlaylistSet;
+
+ void finished_no_copy (
+ std::map<RegionView*, std::pair<RouteTimeAxisView*, int> > const &,
+ bool const,
+ bool const,
+ ARDOUR::framecnt_t const
+ );
+
+ void finished_copy (
+ std::map<RegionView*, std::pair<RouteTimeAxisView*, int> > const &,
+ bool const,
+ bool const,
+ ARDOUR::framecnt_t const
+ );
+
+ RegionView* insert_region_into_playlist (
+ boost::shared_ptr<ARDOUR::Region>,
+ RouteTimeAxisView*,
+ ARDOUR::layer_t,
+ ARDOUR::framecnt_t,
+ PlaylistSet&
+ );
+
+ void remove_region_from_playlist (
+ boost::shared_ptr<ARDOUR::Region>,
+ boost::shared_ptr<ARDOUR::Playlist>,
+ PlaylistSet& modified_playlists
+ );
+
+ void add_stateful_diff_commands_for_playlists (PlaylistSet const &);
+
+ void collect_new_region_view (RegionView *);
+
bool _copy;
+ RegionView* _new_region_view;
};
/** Drag to insert a region from somewhere */