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

#include <editor_drag.h>

Inheritance diagram for RegionDrag:
Drag FadeInDrag FadeOutDrag RegionMotionDrag TimeFXDrag TrimDrag RegionInsertDrag RegionMoveDrag RegionRippleDrag RegionSpliceDrag

Public Member Functions

 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 void start_grab (GdkEvent *e, Gdk::Cursor *c=0)
 
virtual bool end_grab (GdkEvent *)
 
virtual void motion (GdkEvent *e, bool f)=0
 
virtual void finished (GdkEvent *e, bool m)=0
 
virtual void aborted (bool m)=0
 
virtual bool active (Editing::MouseMode m)
 
virtual std::pair
< ARDOUR::framecnt_t, int > 
move_threshold () const
 
virtual bool allow_vertical_autoscroll () const
 
virtual bool x_movement_matters () const
 
virtual bool y_movement_matters () const
 
bool initially_vertical () const
 
virtual void setup_pointer_frame_offset ()
 

Protected Member Functions

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 &)
 

Protected Attributes

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...
 

Private Member Functions

void region_going_away (RegionView *)
 

Private Attributes

PBD::ScopedConnection death_connection
 

Friends

class DraggingView
 

Detailed Description

Abstract base class for drags that involve region(s)

Definition at line 281 of file editor_drag.h.

Constructor & Destructor Documentation

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

Definition at line 487 of file editor_drag.cc.

virtual RegionDrag::~RegionDrag ( )
inlinevirtual

Definition at line 285 of file editor_drag.h.

Member Function Documentation

int RegionDrag::apply_track_delta ( const int  start,
const int  delta,
const int  skip,
const bool  distance_only = false 
) const
protected

Definition at line 648 of file editor_drag.cc.

int RegionDrag::find_time_axis_view ( TimeAxisView t) const
protected

Given a TimeAxisView, return the index of it into the _time_axis_views vector, or -1 if it is not found.

Definition at line 537 of file editor_drag.cc.

void RegionDrag::region_going_away ( RegionView v)
private

Definition at line 521 of file editor_drag.cc.

Friends And Related Function Documentation

friend class DraggingView
friend

Definition at line 301 of file editor_drag.h.

Member Data Documentation

uint32_t RegionDrag::_ntracks
protected

Definition at line 299 of file editor_drag.h.

RegionView* RegionDrag::_primary
protected

the view that was clicked on (or whatever) to start the drag

Definition at line 289 of file editor_drag.h.

std::vector<TimeAxisView*> RegionDrag::_time_axis_views
protected

a list of the non-hidden TimeAxisViews sorted by editor order key

Definition at line 293 of file editor_drag.h.

std::list<DraggingView> RegionDrag::_views
protected

information about all views that are being dragged

Definition at line 290 of file editor_drag.h.

int RegionDrag::_visible_y_high
protected

Definition at line 298 of file editor_drag.h.

int RegionDrag::_visible_y_low
protected

Definition at line 297 of file editor_drag.h.

PBD::ScopedConnection RegionDrag::death_connection
private

Definition at line 306 of file editor_drag.h.


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