STR #2997: Disable ESC from closing code window.

This drives VI users crazy; a comman 'save' pattern is:
	   (1) enter some code, (2) hit ESC, (3) type :w ENTER.

	   In VI these actions save the code entered.
	   in fluid it /dumps/ the code typed because ESC is a shortcut for the Cancel key.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10010 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Greg Ercolano 2013-10-25 22:03:47 +00:00
parent d2f83a42c2
commit f947042535
2 changed files with 15 additions and 6 deletions

View File

@ -113,7 +113,6 @@ Fl_Double_Window* make_function_panel() {
} // Fl_Return_Button* f_panel_ok } // Fl_Return_Button* f_panel_ok
{ f_panel_cancel = new Fl_Button(280, 200, 50, 20, "Cancel"); { f_panel_cancel = new Fl_Button(280, 200, 50, 20, "Cancel");
f_panel_cancel->tooltip("Cancel the changes."); f_panel_cancel->tooltip("Cancel the changes.");
f_panel_cancel->shortcut(0xff1b);
f_panel_cancel->labelsize(11); f_panel_cancel->labelsize(11);
} // Fl_Button* f_panel_cancel } // Fl_Button* f_panel_cancel
{ Fl_Box* o = new Fl_Box(10, 200, 205, 20); { Fl_Box* o = new Fl_Box(10, 200, 205, 20);
@ -140,6 +139,12 @@ Fl_Double_Window* make_function_panel() {
Fl_Double_Window *code_panel=(Fl_Double_Window *)0; Fl_Double_Window *code_panel=(Fl_Double_Window *)0;
static void cb_code_panel(Fl_Double_Window*, void*) {
if (Fl::event()==FL_SHORTCUT && Fl::event_key()==FL_Escape)
return; // ignore Escape
code_panel->hide(); // otherwise hide..;
}
CodeEditor *code_input=(CodeEditor *)0; CodeEditor *code_input=(CodeEditor *)0;
Fl_Return_Button *code_panel_ok=(Fl_Return_Button *)0; Fl_Return_Button *code_panel_ok=(Fl_Return_Button *)0;
@ -149,6 +154,7 @@ Fl_Button *code_panel_cancel=(Fl_Button *)0;
Fl_Double_Window* make_code_panel() { Fl_Double_Window* make_code_panel() {
{ Fl_Double_Window* o = code_panel = new Fl_Double_Window(540, 180, "Code Properties"); { Fl_Double_Window* o = code_panel = new Fl_Double_Window(540, 180, "Code Properties");
code_panel->labelsize(11); code_panel->labelsize(11);
code_panel->callback((Fl_Callback*)cb_code_panel);
{ CodeEditor* o = code_input = new CodeEditor(10, 10, 520, 130); { CodeEditor* o = code_input = new CodeEditor(10, 10, 520, 130);
code_input->box(FL_DOWN_BOX); code_input->box(FL_DOWN_BOX);
code_input->color(FL_BACKGROUND2_COLOR); code_input->color(FL_BACKGROUND2_COLOR);
@ -171,7 +177,6 @@ Fl_Double_Window* make_code_panel() {
code_panel_ok->window()->hotspot(code_panel_ok); code_panel_ok->window()->hotspot(code_panel_ok);
} // Fl_Return_Button* code_panel_ok } // Fl_Return_Button* code_panel_ok
{ code_panel_cancel = new Fl_Button(470, 150, 60, 20, "Cancel"); { code_panel_cancel = new Fl_Button(470, 150, 60, 20, "Cancel");
code_panel_cancel->shortcut(0xff1b);
code_panel_cancel->labelsize(11); code_panel_cancel->labelsize(11);
} // Fl_Button* code_panel_cancel } // Fl_Button* code_panel_cancel
{ Fl_Box* o = new Fl_Box(10, 150, 380, 20); { Fl_Box* o = new Fl_Box(10, 150, 380, 20);

View File

@ -112,7 +112,7 @@ Function {make_function_panel()} {} {
} }
Fl_Button f_panel_cancel { Fl_Button f_panel_cancel {
label Cancel label Cancel
tooltip {Cancel the changes.} xywh {280 200 50 20} shortcut 0xff1b labelsize 11 tooltip {Cancel the changes.} xywh {280 200 50 20} labelsize 11
} }
Fl_Box {} { Fl_Box {} {
xywh {10 200 205 20} resizable xywh {10 200 205 20} resizable
@ -126,9 +126,13 @@ Function {make_function_panel()} {} {
} }
} }
Function {make_code_panel()} {} { Function {make_code_panel()} {open
} {
Fl_Window code_panel { Fl_Window code_panel {
label {Code Properties} label {Code Properties}
callback {if (Fl::event()==FL_SHORTCUT && Fl::event_key()==FL_Escape)
return; // ignore Escape
code_panel->hide(); // otherwise hide..} open selected
xywh {353 262 540 180} type Double labelsize 11 resizable xywh {353 262 540 180} type Double labelsize 11 resizable
code0 {o->size_range(200, 150);} modal visible code0 {o->size_range(200, 150);} modal visible
} { } {
@ -147,7 +151,7 @@ Function {make_code_panel()} {} {
} }
Fl_Button code_panel_cancel { Fl_Button code_panel_cancel {
label Cancel label Cancel
xywh {470 150 60 20} shortcut 0xff1b labelsize 11 xywh {470 150 60 20} labelsize 11
} }
Fl_Box {} { Fl_Box {} {
xywh {10 150 380 20} labelsize 11 resizable xywh {10 150 380 20} labelsize 11 resizable
@ -825,7 +829,7 @@ else
} }
Fl_Button {} { Fl_Button {} {
user_data {"Fl_Tree"} user_data {"Fl_Tree"}
callback type_make_cb selected callback type_make_cb
tooltip Tree xywh {484 5 24 24} box THIN_UP_BOX tooltip Tree xywh {484 5 24 24} box THIN_UP_BOX
code0 {o->image(pixmap[50]);} code0 {o->image(pixmap[50]);}
} }