Add Select None option to the GUI.

pull/3/head
Jonathan Moore Liles 2008-04-29 16:16:09 -05:00
parent 5293eae6d9
commit 707e898d36
4 changed files with 42 additions and 9 deletions

View File

@ -205,6 +205,16 @@ public:
delete _selection.front();
}
static void
select_none ( void )
{
while ( _selection.size() )
{
_selection.front()->redraw();
_selection.pop_front();
}
}
static Sequence_Widget *current ( void ) { return Sequence_Widget::_current; }
static Sequence_Widget *pushed ( void ) { return Sequence_Widget::_pushed; }

View File

@ -114,7 +114,7 @@ free( path );} {}
label {Non-DAW - Timeline} open
xywh {577 94 1024 768} type Double resizable xclass {Non-DAW} visible
} {
Fl_Menu_Bar menubar {
Fl_Menu_Bar menubar {open
xywh {0 0 1024 25}
} {
Submenu {} {
@ -167,7 +167,17 @@ exit( 0 );}
MenuItem {} {
label Undo
callback {Loggable::undo();}
xywh {0 0 40 25} shortcut 0x4007a
xywh {0 0 40 25} shortcut 0x4007a divider
}
MenuItem {} {
label {Select None}
callback {timeline->select_none();}
xywh {10 10 40 25} shortcut 0x50061
}
MenuItem {} {
label {Delete Selected}
callback {timeline->delete_selected();} selected
xywh {20 20 40 25} shortcut 0xffff
}
}
Submenu {} {
@ -510,7 +520,7 @@ delete win;}
class Timeline
}
Fl_Value_Output xruns_output {
label {xruns:} selected
label {xruns:}
xywh {980 2 44 20} maximum 40000 step 1
}
}

View File

@ -742,7 +742,7 @@ Timeline::draw_overlay ( void )
/** select all widgets in inside rectangle /r/ */
void
Timeline::select( const Rectangle &r )
Timeline::select ( const Rectangle &r )
{
const int Y = r.y;
@ -755,6 +755,18 @@ Timeline::select( const Rectangle &r )
}
}
void
Timeline::delete_selected ( void )
{
Sequence_Widget::delete_selected();
}
void
Timeline::select_none ( void )
{
Sequence_Widget::select_none();
}
int
Timeline::handle ( int m )
{
@ -776,11 +788,6 @@ Timeline::handle ( int m )
switch ( Fl::event_key() )
{
case FL_Delete:
{
Sequence_Widget::delete_selected();
return 1;
}
case FL_Home:
case FL_End:
/* keep scrollbar from eating these. */

View File

@ -158,6 +158,10 @@ public:
void select( const Rectangle &r );
void delete_selected ( void );
void select_none ( void );
void add_track ( Track *track );
void remove_track ( Track *track );
@ -172,6 +176,8 @@ public:
void zoom_in ( void );
void zoom_out ( void );
private:
friend class Engine; // FIXME: only Engine::process() needs to be friended.x