]> git.saurik.com Git - wxWidgets.git/blobdiff - src/stc/ScintillaWX.cpp
Added 'Back' to accelerator possibilities
[wxWidgets.git] / src / stc / ScintillaWX.cpp
index 73fd2d1f7512b3add4ee41f7d656d5dd0b0a464f..6acb7805d1a7996cc1e8831ecf9099f809d7442f 100644 (file)
@@ -136,6 +136,7 @@ END_EVENT_TABLE()
 
 ScintillaWX::ScintillaWX(wxStyledTextCtrl* win) {
     capturedMouse = false;
+    focusEvent = false;
     wMain = win;
     stc   = win;
     wheelRotation = 0;
@@ -333,6 +334,18 @@ void ScintillaWX::NotifyParent(SCNotification scn) {
 }
 
 
+// This method is overloaded from ScintillaBase in order to prevent the
+// AutoComplete window from being destroyed when it gets the focus.  There is
+// a side effect that the AutoComp will also not be destroyed when switching
+// to another window, but I think that is okay.
+void ScintillaWX::CancelModes() {
+    if (! focusEvent)
+        AutoCompleteCancel();
+    ct.CallTipCancel();
+    Editor::CancelModes();
+}
+
+
 
 void ScintillaWX::Copy() {
     if (currentPos != anchor) {
@@ -606,11 +619,15 @@ void ScintillaWX::DoSize(int WXUNUSED(width), int WXUNUSED(height)) {
 }
 
 void ScintillaWX::DoLoseFocus(){
+    focusEvent = true;
     SetFocusState(false);
+    focusEvent = false;
 }
 
 void ScintillaWX::DoGainFocus(){
+    focusEvent = true;
     SetFocusState(true);
+    focusEvent = false;
 }
 
 void ScintillaWX::DoSysColourChange() {