Browse Source

FL/Fl_Sometimes_Input: Allow user to abort edit with Escape key.

tags/non-daw-v1.3.0
Jonathan Moore Liles 8 months ago
parent
commit
e42b50814a
1 changed files with 15 additions and 3 deletions
  1. +15
    -3
      FL/Fl_Sometimes_Input.H

+ 15
- 3
FL/Fl_Sometimes_Input.H View File

@@ -30,6 +30,7 @@
class Fl_Sometimes_Input : public Fl_Input
{
Fl_Boxtype _up_box;
char *_text;

public:

@@ -53,7 +54,7 @@ public:
{
fl_draw_box( up_box(), x(), y(), w(), h(), color() );

Fl_Color c = fl_contrast( textcolor(), color() );
Fl_Color c = textcolor();// fl_contrast( textcolor(), color() );

fl_color( active_r() ? c : fl_inactive( c ) );

@@ -80,19 +81,30 @@ public:
case FL_KEYDOWN:
{
if ( ( Fl::event_key() == FL_Enter ||
Fl::event_key() == FL_Tab ) )
Fl::event_key() == FL_Tab ) )
{
do_callback();
free( _text );
Fl::focus( NULL );
r = 1;
}
else if ( Fl::event_key() == FL_Escape )
{
value( _text );
Fl::focus( NULL );
r = 1;
}
break;
}
case FL_FOCUS:
_text = strdup( value() );
redraw();
r = 1;
break;
case FL_UNFOCUS:
do_callback();
_text = NULL;
redraw();
r = 1;
break;
case FL_PUSH:


Loading…
Cancel
Save