ardour
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
RegionRippleDrag Class Reference

#include <editor_drag.h>

Inheritance diagram for RegionRippleDrag:
RegionMoveDrag RegionMotionDrag RegionDrag Drag

Public Member Functions

 RegionRippleDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list< RegionView * > const &)
 
 ~RegionRippleDrag ()
 
void motion (GdkEvent *, bool)
 
void finished (GdkEvent *, bool)
 
void aborted (bool)
 
- Public Member Functions inherited from RegionMoveDrag
 RegionMoveDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list< RegionView * > const &, bool, bool)
 
virtual ~RegionMoveDrag ()
 
bool regions_came_from_canvas () const
 
std::pair< ARDOUR::framecnt_t,
int > 
move_threshold () const
 
void setup_pointer_frame_offset ()
 
- Public Member Functions inherited from RegionMotionDrag
 RegionMotionDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list< RegionView * > const &, bool)
 
virtual ~RegionMotionDrag ()
 
virtual void start_grab (GdkEvent *, Gdk::Cursor *)
 
- Public Member Functions inherited from RegionDrag
 RegionDrag (Editor *, ArdourCanvas::Item *, RegionView *, std::list< RegionView * > const &)
 
virtual ~RegionDrag ()
 
- Public Member Functions inherited from Drag
 Drag (Editor *, ArdourCanvas::Item *, bool trackview_only=true)
 
virtual ~Drag ()
 
void set_manager (DragManager *m)
 
ArdourCanvas::Item * item () const
 
void swap_grab (ArdourCanvas::Item *, Gdk::Cursor *, uint32_t)
 
bool motion_handler (GdkEvent *, bool)
 
void abort ()
 
ARDOUR::framepos_t adjusted_frame (ARDOUR::framepos_t, GdkEvent const *, bool snap=true) const
 
ARDOUR::framepos_t adjusted_current_frame (GdkEvent const *, bool snap=true) const
 
bool was_double_click () const
 
void set_double_click (bool yn)
 
virtual bool end_grab (GdkEvent *)
 
virtual bool active (Editing::MouseMode m)
 
virtual bool allow_vertical_autoscroll () const
 
virtual bool x_movement_matters () const
 
virtual bool y_movement_matters () const
 
bool initially_vertical () const
 

Protected Member Functions

bool y_movement_allowed (int delta_track, double delta_layer, int skip_invisible=0) const
 
- Protected Member Functions inherited from RegionMoveDrag
void add_stateful_diff_commands_for_playlists (PlaylistSet const &)
 
- Protected Member Functions inherited from RegionMotionDrag
double compute_x_delta (GdkEvent const *, ARDOUR::framepos_t *)
 
- Protected Member Functions inherited from RegionDrag
int find_time_axis_view (TimeAxisView *) const
 
int apply_track_delta (const int start, const int delta, const int skip, const bool distance_only=false) const
 
- Protected Member Functions inherited from Drag
double grab_x () const
 
double grab_y () const
 
ARDOUR::framepos_t raw_grab_frame () const
 
ARDOUR::framepos_t grab_frame () const
 
double last_pointer_x () const
 
double last_pointer_y () const
 
double last_pointer_frame () const
 
double current_pointer_x () const
 
double current_pointer_y () const
 
boost::shared_ptr< ARDOUR::Regionadd_midi_region (MidiTimeAxisView *)
 
void show_verbose_cursor_time (framepos_t)
 
void show_verbose_cursor_duration (framepos_t, framepos_t, double xoffset=0)
 
void show_verbose_cursor_text (std::string const &)
 

Private Member Functions

void add_all_after_to_views (TimeAxisView *tav, framepos_t where, const RegionSelection &exclude, bool drag_in_progress)
 
void remove_unselected_from_views (framecnt_t amount, bool move_regions)
 

Private Attributes

TimeAxisViewprev_tav
 
TimeAxisVieworig_tav
 
framecnt_t prev_amount
 
framepos_t prev_position
 
framecnt_t selection_length
 
bool allow_moves_across_tracks
 
ARDOUR::RegionListexclude
 

Additional Inherited Members

- Protected Types inherited from RegionMoveDrag
typedef std::set
< boost::shared_ptr
< ARDOUR::Playlist > > 
PlaylistSet
 
- Protected Attributes inherited from RegionMotionDrag
bool _brushing
 
ARDOUR::framepos_t _last_frame_position
 last position of the thing being dragged More...
 
double _total_x_delta
 
int _last_pointer_time_axis_view
 
double _last_pointer_layer
 
bool _single_axis
 
- Protected Attributes inherited from RegionDrag
RegionView_primary
 the view that was clicked on (or whatever) to start the drag More...
 
std::list< DraggingView_views
 information about all views that are being dragged More...
 
std::vector< TimeAxisView * > _time_axis_views
 
int _visible_y_low
 
int _visible_y_high
 
uint32_t _ntracks
 
- Protected Attributes inherited from Drag
Editor_editor
 our editor More...
 
DragManager_drags
 
ArdourCanvas::Item * _item
 our item More...
 
ARDOUR::framecnt_t _pointer_frame_offset
 
bool _x_constrained
 true if x motion is constrained, otherwise false More...
 
bool _y_constrained
 true if y motion is constrained, otherwise false More...
 
bool _was_rolling
 true if the session was rolling before the drag started, otherwise false More...
 

Detailed Description

Region drag in ripple mode

Definition at line 436 of file editor_drag.h.

Constructor & Destructor Documentation

RegionRippleDrag::RegionRippleDrag ( Editor e,
ArdourCanvas::Item *  i,
RegionView p,
std::list< RegionView * > const &  v 
)

Definition at line 2073 of file editor_drag.cc.

RegionRippleDrag::~RegionRippleDrag ( )
inline

Definition at line 440 of file editor_drag.h.

Member Function Documentation

void RegionRippleDrag::aborted ( bool  m)
virtual

Called to abort a drag and return things to how they were before it started.

Parameters
mtrue if some movement occurred, otherwise false.

Reimplemented from RegionMoveDrag.

Definition at line 2256 of file editor_drag.cc.

void RegionRippleDrag::add_all_after_to_views ( TimeAxisView tav,
framepos_t  where,
const RegionSelection exclude,
bool  drag_in_progress 
)
private

Definition at line 1984 of file editor_drag.cc.

void RegionRippleDrag::finished ( GdkEvent *  e,
bool  m 
)
virtual

Called when a drag has finished.

Parameters
eEvent describing the finish.
mtrue if some movement occurred, otherwise false.

Reimplemented from RegionMoveDrag.

Definition at line 2199 of file editor_drag.cc.

void RegionRippleDrag::motion ( GdkEvent *  e,
bool  f 
)
virtual

Called when a drag motion has occurred.

Parameters
eEvent describing the motion.
ftrue if this is the first movement, otherwise false.

Reimplemented from RegionMoveDrag.

Definition at line 2124 of file editor_drag.cc.

void RegionRippleDrag::remove_unselected_from_views ( framecnt_t  amount,
bool  move_regions 
)
private

Definition at line 2024 of file editor_drag.cc.

bool RegionRippleDrag::y_movement_allowed ( int  delta_track,
double  delta_layer,
int  skip_invisible = 0 
) const
protectedvirtual

Reimplemented from RegionMotionDrag.

Definition at line 2061 of file editor_drag.cc.

Member Data Documentation

bool RegionRippleDrag::allow_moves_across_tracks
private

Definition at line 454 of file editor_drag.h.

ARDOUR::RegionList* RegionRippleDrag::exclude
private

Definition at line 455 of file editor_drag.h.

TimeAxisView* RegionRippleDrag::orig_tav
private

Definition at line 450 of file editor_drag.h.

framecnt_t RegionRippleDrag::prev_amount
private

Definition at line 451 of file editor_drag.h.

framepos_t RegionRippleDrag::prev_position
private

Definition at line 452 of file editor_drag.h.

TimeAxisView* RegionRippleDrag::prev_tav
private

Definition at line 449 of file editor_drag.h.

framecnt_t RegionRippleDrag::selection_length
private

Definition at line 453 of file editor_drag.h.


The documentation for this class was generated from the following files: