Browse Source

Mixer/Module: Clean up some focus issues, add tooltip, and focus keybinding.

tags/non-daw-v1.2.0
Jonathan Moore Liles 11 years ago
parent
commit
2cca17376a
2 changed files with 25 additions and 7 deletions
  1. +24
    -6
      mixer/src/Module.C
  2. +1
    -1
      mixer/src/Module.H

+ 24
- 6
mixer/src/Module.C View File

@@ -141,6 +141,7 @@ Module::init ( void )
selection_color( FL_RED ); selection_color( FL_RED );
labelsize(12); labelsize(12);
color( fl_color_average( FL_WHITE, FL_CYAN, 0.40 ) ); color( fl_color_average( FL_WHITE, FL_CYAN, 0.40 ) );
tooltip( "Left click to edit parameters; Ctrl + left click to select; right click or MENU key for menu." );
} }




@@ -625,10 +626,6 @@ Module::draw_box ( int tx, int ty, int tw, int th )
fl_draw_box( box(), tx + (spacing * i), ty, tw / instances(), th, c ); fl_draw_box( box(), tx + (spacing * i), ty, tw / instances(), th, c );
} }


if ( this == Fl::focus() )
{
fl_draw_box( FL_UP_FRAME, tx, ty, tw, th, selection_color() );
}


if ( audio_input.size() && audio_output.size() ) if ( audio_input.size() && audio_output.size() )
{ {
@@ -650,6 +647,11 @@ Module::draw_box ( int tx, int ty, int tw, int th )


fl_pop_clip(); fl_pop_clip();


if ( this == Fl::focus() )
{
fl_draw_box( FL_UP_FRAME, tx, ty, tw, th, selection_color() );
}

fl_pop_clip(); fl_pop_clip();
} }


@@ -833,14 +835,17 @@ Module::menu_cb ( const Fl_Menu_ *m )
if ( ! strcmp( picked, "Edit Parameters" ) ) if ( ! strcmp( picked, "Edit Parameters" ) )
command_open_parameter_editor(); command_open_parameter_editor();
else if ( ! strcmp( picked, "Bypass" ) ) else if ( ! strcmp( picked, "Bypass" ) )
{
if ( ! bypassable() ) if ( ! bypassable() )
{ {
fl_alert( "Due to its channel configuration, this module cannot be bypassed." ); fl_alert( "Due to its channel configuration, this module cannot be bypassed." );
} }
else else
{ {
bypass( ! ( m->mvalue()->flags & FL_MENU_VALUE ) );
bypass( !bypass() );
redraw();
} }
}
else if ( ! strcmp( picked, "Cut" ) ) else if ( ! strcmp( picked, "Cut" ) )
{ {
if ( copy() ) if ( copy() )
@@ -940,6 +945,14 @@ Module::handle ( int m )


unsigned long evstate = Fl::event_state(); unsigned long evstate = Fl::event_state();


switch ( m )
{
case FL_ENTER:
// Fl::focus(this);
case FL_LEAVE:
return 1;
}

if ( Fl_Group::handle( m ) ) if ( Fl_Group::handle( m ) )
return 1; return 1;


@@ -971,7 +984,12 @@ Module::handle ( int m )
if ( ! Fl::event_inside( this ) ) if ( ! Fl::event_inside( this ) )
return 1; return 1;


if ( e & FL_BUTTON1 )
if ( ( e & FL_BUTTON1 ) && ( e & FL_CTRL ) )
{
Fl::focus(this);
return 1;
}
else if ( e & FL_BUTTON1 )
{ {
command_open_parameter_editor(); command_open_parameter_editor();
return 1; return 1;


+ 1
- 1
mixer/src/Module.H View File

@@ -406,7 +406,7 @@ public:
} }


virtual bool bypass ( void ) const { return _bypass; } virtual bool bypass ( void ) const { return _bypass; }
virtual void bypass ( bool v ) { _bypass = v; redraw(); }
virtual void bypass ( bool v ) { _bypass = v; }


virtual bool bypassable ( void ) const virtual bool bypassable ( void ) const
{ {


Loading…
Cancel
Save