diff options
author | Carl Hetherington <carl@carlh.net> | 2010-08-24 01:02:40 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-08-24 01:02:40 +0000 |
commit | 211b57b3038ccb01d3b852e43940ba24f8ba5463 (patch) | |
tree | 097a323fb69fc141da7ee8ab5fa98e68180ee14c /gtk2_ardour/editor_drag.h | |
parent | b374fb0202a2eb428e2b96590b02f5ef9d42e202 (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.h | 40 |
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 */ |