Allow the user to use r+drag to set the range.
This commit is contained in:
parent
3938253a5a
commit
821250d9de
|
@ -713,6 +713,13 @@ Timeline::draw ( void )
|
||||||
|
|
||||||
update_child( *hscroll );
|
update_child( *hscroll );
|
||||||
update_child( *vscroll );
|
update_child( *vscroll );
|
||||||
|
|
||||||
|
|
||||||
|
if ( p1 != p2 )
|
||||||
|
{
|
||||||
|
draw_cursor( p1, FL_BLUE, draw_full_arrow_symbol );
|
||||||
|
draw_cursor( p2, FL_GREEN, draw_full_arrow_symbol );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
@ -915,6 +922,7 @@ int
|
||||||
Timeline::handle ( int m )
|
Timeline::handle ( int m )
|
||||||
{
|
{
|
||||||
static Drag *drag = NULL;
|
static Drag *drag = NULL;
|
||||||
|
static bool range = false;
|
||||||
|
|
||||||
switch ( m )
|
switch ( m )
|
||||||
{
|
{
|
||||||
|
@ -922,7 +930,21 @@ Timeline::handle ( int m )
|
||||||
case FL_UNFOCUS:
|
case FL_UNFOCUS:
|
||||||
// redraw();
|
// redraw();
|
||||||
return 1;
|
return 1;
|
||||||
case FL_KEYBOARD:
|
case FL_KEYDOWN:
|
||||||
|
if ( Fl::event_key() == 'r' )
|
||||||
|
{
|
||||||
|
range = true;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
case FL_KEYUP:
|
||||||
|
if ( Fl::event_key() == 'r' )
|
||||||
|
{
|
||||||
|
range = false;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
// case FL_KEYBOARD:
|
||||||
case FL_SHORTCUT:
|
case FL_SHORTCUT:
|
||||||
{
|
{
|
||||||
if ( Fl::event_state() & ( FL_ALT | FL_CTRL | FL_SHIFT ) )
|
if ( Fl::event_state() & ( FL_ALT | FL_CTRL | FL_SHIFT ) )
|
||||||
|
@ -1063,6 +1085,14 @@ Timeline::handle ( int m )
|
||||||
|
|
||||||
_selection.w = abs( ox );
|
_selection.w = abs( ox );
|
||||||
_selection.h = abs( oy );
|
_selection.h = abs( oy );
|
||||||
|
|
||||||
|
if ( range )
|
||||||
|
{
|
||||||
|
p1 = x_to_offset( _selection.x );
|
||||||
|
p2 = x_to_offset( _selection.x + _selection.w );
|
||||||
|
redraw();
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case FL_RELEASE:
|
case FL_RELEASE:
|
||||||
|
@ -1070,7 +1100,15 @@ Timeline::handle ( int m )
|
||||||
delete drag;
|
delete drag;
|
||||||
drag = NULL;
|
drag = NULL;
|
||||||
|
|
||||||
select( _selection );
|
|
||||||
|
if ( range )
|
||||||
|
{
|
||||||
|
p1 = x_to_offset( _selection.x );
|
||||||
|
p2 = x_to_offset( _selection.x + _selection.w );
|
||||||
|
redraw();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
select( _selection );
|
||||||
|
|
||||||
_selection.w = _selection.h = 0;
|
_selection.w = _selection.h = 0;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue