]> git.saurik.com Git - wxWidgets.git/commitdiff
Give access to m_lastKeydownConsumed
authorRobin Dunn <robin@alldunn.com>
Sat, 30 Mar 2002 01:19:59 +0000 (01:19 +0000)
committerRobin Dunn <robin@alldunn.com>
Sat, 30 Mar 2002 01:19:59 +0000 (01:19 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14870 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

12 files changed:
contrib/include/wx/stc/stc.h
contrib/src/stc/ScintillaWX.cpp
contrib/src/stc/stc.cpp
contrib/src/stc/stc.cpp.in
contrib/src/stc/stc.h.in
include/wx/stc/stc.h
src/stc/ScintillaWX.cpp
src/stc/stc.cpp
src/stc/stc.cpp.in
src/stc/stc.h.in
wxPython/contrib/stc/msw/stc_.cpp
wxPython/contrib/stc/msw/stc_.py

index 1149ea620d979e1b28e2c595f06270b5b0df20fc..ab01bf1887fe284c910f0667dcaa590534bfc63c 100644 (file)
@@ -1799,6 +1799,11 @@ public:
     // Set the horizontal scrollbar to use instead of the ont that's built-in.
     void SetHScrollBar(wxScrollBar* bar) { m_hScrollBar = bar; }
 
+    // Can be used to prevent the EVT_CHAR handler from adding the char
+    bool GetLastKeydownProcessed() { return m_lastKeyDownConsumed; }
+    void SetLastKeydownProcessed(bool val) { m_lastKeyDownConsumed = val; }
+
+
 //----------------------------------------------------------------------
 
 
index 6cf99b341221b55d47308b66bfc274084c94abb6..f7336a7196d052321b9ab7ac3c5d591d5c7f325f 100644 (file)
@@ -510,33 +510,30 @@ int  ScintillaWX::DoKeyDown(int key, bool shift, bool ctrl, bool alt, bool* cons
 #endif
 
     switch (key) {
-    case WXK_DOWN: key = SCK_DOWN; break;
-    case WXK_UP: key = SCK_UP; break;
-    case WXK_LEFT: key = SCK_LEFT; break;
-    case WXK_RIGHT: key = SCK_RIGHT; break;
-    case WXK_HOME: key = SCK_HOME; break;
-    case WXK_END: key = SCK_END; break;
-    case WXK_PRIOR: key = SCK_PRIOR; break;
-    case WXK_NEXT: key = SCK_NEXT; break;
-    case WXK_DELETE: key = SCK_DELETE; break;
-    case WXK_INSERT: key = SCK_INSERT; break;
-    case WXK_ESCAPE: key = SCK_ESCAPE; break;
-    case WXK_BACK: key = SCK_BACK; break;
-    case WXK_TAB: key = SCK_TAB; break;
-    case WXK_RETURN: key = SCK_RETURN; break;
-    case WXK_ADD:
-    case WXK_NUMPAD_ADD:
-        key = SCK_ADD; break;
-    case WXK_SUBTRACT:
-    case WXK_NUMPAD_SUBTRACT:
-        key = SCK_SUBTRACT; break;
-    case WXK_DIVIDE:
-    case WXK_NUMPAD_DIVIDE:
-        key = SCK_DIVIDE; break;
-    case WXK_CONTROL: key = 0; break;
-    case WXK_ALT: key = 0; break;
-    case WXK_SHIFT: key = 0; break;
-    case WXK_MENU: key = 0; break;
+    case WXK_DOWN:              key = SCK_DOWN;     break;
+    case WXK_UP:                key = SCK_UP;       break;
+    case WXK_LEFT:              key = SCK_LEFT;     break;
+    case WXK_RIGHT:             key = SCK_RIGHT;    break;
+    case WXK_HOME:              key = SCK_HOME;     break;
+    case WXK_END:               key = SCK_END;      break;
+    case WXK_PRIOR:             key = SCK_PRIOR;    break;
+    case WXK_NEXT:              key = SCK_NEXT;     break;
+    case WXK_DELETE:            key = SCK_DELETE;   break;
+    case WXK_INSERT:            key = SCK_INSERT;   break;
+    case WXK_ESCAPE:            key = SCK_ESCAPE;   break;
+    case WXK_BACK:              key = SCK_BACK;     break;
+    case WXK_TAB:               key = SCK_TAB;      break;
+    case WXK_RETURN:            key = SCK_RETURN;   break;
+    case WXK_ADD:               // fall through
+    case WXK_NUMPAD_ADD:        key = SCK_ADD;      break;
+    case WXK_SUBTRACT:          // fall through
+    case WXK_NUMPAD_SUBTRACT:   key = SCK_SUBTRACT; break;
+    case WXK_DIVIDE:            // fall through
+    case WXK_NUMPAD_DIVIDE:     key = SCK_DIVIDE;   break;
+    case WXK_CONTROL:           key = 0; break;
+    case WXK_ALT:               key = 0; break;
+    case WXK_SHIFT:             key = 0; break;
+    case WXK_MENU:              key = 0; break;
     }
 
     int rv = KeyDown(key, shift, ctrl, alt, consumed);
index 24d1220b5deca1477d6b1922dd5194fd7c6dad7b..6c468c320f542f21feb1c772f997d5e8af08c4ea 100644 (file)
@@ -1920,9 +1920,6 @@ void wxStyledTextCtrl::OnMouseWheel(wxMouseEvent& evt) {
 void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
     int key = evt.GetKeyCode();
 
-    // AltGr keys???
-    // \|@#¬[]{}?£$~  ã,õ,Ã,Õ, ñ, Ñ
-
     // On (some?) non-US keyboards the AltGr key is required to enter some
     // common characters.  It comes to us as both Alt and Ctrl down so we need
     // to let the char through in that case, otherwise if only ctrl or only
index 0e46fcf5072e5a61f9aed655575ed867e03ec22c..f6c30c0896d8f8a8a00ed04dc3d661ae00b7a506 100644 (file)
@@ -370,9 +370,6 @@ void wxStyledTextCtrl::OnMouseWheel(wxMouseEvent& evt) {
 void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
     int key = evt.GetKeyCode();
 
-    // AltGr keys???
-    // \|@#¬[]{}?£$~  ã,õ,Ã,Õ, ñ, Ñ
-
     // On (some?) non-US keyboards the AltGr key is required to enter some
     // common characters.  It comes to us as both Alt and Ctrl down so we need
     // to let the char through in that case, otherwise if only ctrl or only
index 2a1d1314a54555f1a349b4aebc896e7fcc2666a8..f7b01cb837257df98e527e0a1cc98e880a46087b 100644 (file)
@@ -149,6 +149,11 @@ public:
     // Set the horizontal scrollbar to use instead of the ont that's built-in.
     void SetHScrollBar(wxScrollBar* bar) { m_hScrollBar = bar; }
 
+    // Can be used to prevent the EVT_CHAR handler from adding the char
+    bool GetLastKeydownProcessed() { return m_lastKeyDownConsumed; }
+    void SetLastKeydownProcessed(bool val) { m_lastKeyDownConsumed = val; }
+
+
 //----------------------------------------------------------------------
 
 
index 1149ea620d979e1b28e2c595f06270b5b0df20fc..ab01bf1887fe284c910f0667dcaa590534bfc63c 100644 (file)
@@ -1799,6 +1799,11 @@ public:
     // Set the horizontal scrollbar to use instead of the ont that's built-in.
     void SetHScrollBar(wxScrollBar* bar) { m_hScrollBar = bar; }
 
+    // Can be used to prevent the EVT_CHAR handler from adding the char
+    bool GetLastKeydownProcessed() { return m_lastKeyDownConsumed; }
+    void SetLastKeydownProcessed(bool val) { m_lastKeyDownConsumed = val; }
+
+
 //----------------------------------------------------------------------
 
 
index 6cf99b341221b55d47308b66bfc274084c94abb6..f7336a7196d052321b9ab7ac3c5d591d5c7f325f 100644 (file)
@@ -510,33 +510,30 @@ int  ScintillaWX::DoKeyDown(int key, bool shift, bool ctrl, bool alt, bool* cons
 #endif
 
     switch (key) {
-    case WXK_DOWN: key = SCK_DOWN; break;
-    case WXK_UP: key = SCK_UP; break;
-    case WXK_LEFT: key = SCK_LEFT; break;
-    case WXK_RIGHT: key = SCK_RIGHT; break;
-    case WXK_HOME: key = SCK_HOME; break;
-    case WXK_END: key = SCK_END; break;
-    case WXK_PRIOR: key = SCK_PRIOR; break;
-    case WXK_NEXT: key = SCK_NEXT; break;
-    case WXK_DELETE: key = SCK_DELETE; break;
-    case WXK_INSERT: key = SCK_INSERT; break;
-    case WXK_ESCAPE: key = SCK_ESCAPE; break;
-    case WXK_BACK: key = SCK_BACK; break;
-    case WXK_TAB: key = SCK_TAB; break;
-    case WXK_RETURN: key = SCK_RETURN; break;
-    case WXK_ADD:
-    case WXK_NUMPAD_ADD:
-        key = SCK_ADD; break;
-    case WXK_SUBTRACT:
-    case WXK_NUMPAD_SUBTRACT:
-        key = SCK_SUBTRACT; break;
-    case WXK_DIVIDE:
-    case WXK_NUMPAD_DIVIDE:
-        key = SCK_DIVIDE; break;
-    case WXK_CONTROL: key = 0; break;
-    case WXK_ALT: key = 0; break;
-    case WXK_SHIFT: key = 0; break;
-    case WXK_MENU: key = 0; break;
+    case WXK_DOWN:              key = SCK_DOWN;     break;
+    case WXK_UP:                key = SCK_UP;       break;
+    case WXK_LEFT:              key = SCK_LEFT;     break;
+    case WXK_RIGHT:             key = SCK_RIGHT;    break;
+    case WXK_HOME:              key = SCK_HOME;     break;
+    case WXK_END:               key = SCK_END;      break;
+    case WXK_PRIOR:             key = SCK_PRIOR;    break;
+    case WXK_NEXT:              key = SCK_NEXT;     break;
+    case WXK_DELETE:            key = SCK_DELETE;   break;
+    case WXK_INSERT:            key = SCK_INSERT;   break;
+    case WXK_ESCAPE:            key = SCK_ESCAPE;   break;
+    case WXK_BACK:              key = SCK_BACK;     break;
+    case WXK_TAB:               key = SCK_TAB;      break;
+    case WXK_RETURN:            key = SCK_RETURN;   break;
+    case WXK_ADD:               // fall through
+    case WXK_NUMPAD_ADD:        key = SCK_ADD;      break;
+    case WXK_SUBTRACT:          // fall through
+    case WXK_NUMPAD_SUBTRACT:   key = SCK_SUBTRACT; break;
+    case WXK_DIVIDE:            // fall through
+    case WXK_NUMPAD_DIVIDE:     key = SCK_DIVIDE;   break;
+    case WXK_CONTROL:           key = 0; break;
+    case WXK_ALT:               key = 0; break;
+    case WXK_SHIFT:             key = 0; break;
+    case WXK_MENU:              key = 0; break;
     }
 
     int rv = KeyDown(key, shift, ctrl, alt, consumed);
index 24d1220b5deca1477d6b1922dd5194fd7c6dad7b..6c468c320f542f21feb1c772f997d5e8af08c4ea 100644 (file)
@@ -1920,9 +1920,6 @@ void wxStyledTextCtrl::OnMouseWheel(wxMouseEvent& evt) {
 void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
     int key = evt.GetKeyCode();
 
-    // AltGr keys???
-    // \|@#¬[]{}?£$~  ã,õ,Ã,Õ, ñ, Ñ
-
     // On (some?) non-US keyboards the AltGr key is required to enter some
     // common characters.  It comes to us as both Alt and Ctrl down so we need
     // to let the char through in that case, otherwise if only ctrl or only
index 0e46fcf5072e5a61f9aed655575ed867e03ec22c..f6c30c0896d8f8a8a00ed04dc3d661ae00b7a506 100644 (file)
@@ -370,9 +370,6 @@ void wxStyledTextCtrl::OnMouseWheel(wxMouseEvent& evt) {
 void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
     int key = evt.GetKeyCode();
 
-    // AltGr keys???
-    // \|@#¬[]{}?£$~  ã,õ,Ã,Õ, ñ, Ñ
-
     // On (some?) non-US keyboards the AltGr key is required to enter some
     // common characters.  It comes to us as both Alt and Ctrl down so we need
     // to let the char through in that case, otherwise if only ctrl or only
index 2a1d1314a54555f1a349b4aebc896e7fcc2666a8..f7b01cb837257df98e527e0a1cc98e880a46087b 100644 (file)
@@ -149,6 +149,11 @@ public:
     // Set the horizontal scrollbar to use instead of the ont that's built-in.
     void SetHScrollBar(wxScrollBar* bar) { m_hScrollBar = bar; }
 
+    // Can be used to prevent the EVT_CHAR handler from adding the char
+    bool GetLastKeydownProcessed() { return m_lastKeyDownConsumed; }
+    void SetLastKeydownProcessed(bool val) { m_lastKeyDownConsumed = val; }
+
+
 //----------------------------------------------------------------------
 
 
index 87c57954e846f917712c4e30c61e2103d54d7ae3..ed6e85e081347be6397e54933c12baef821c6848 100644 (file)
@@ -9129,6 +9129,65 @@ static PyObject *_wrap_wxStyledTextCtrl_SetHScrollBar(PyObject *self, PyObject *
     return _resultobj;
 }
 
+#define wxStyledTextCtrl_GetLastKeydownProcessed(_swigobj)  (_swigobj->GetLastKeydownProcessed())
+static PyObject *_wrap_wxStyledTextCtrl_GetLastKeydownProcessed(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    bool  _result;
+    wxStyledTextCtrl * _arg0;
+    PyObject * _argo0 = 0;
+    char *_kwnames[] = { "self", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxStyledTextCtrl_GetLastKeydownProcessed",_kwnames,&_argo0)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_GetLastKeydownProcessed. Expected _wxStyledTextCtrl_p.");
+        return NULL;
+        }
+    }
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    _result = (bool )wxStyledTextCtrl_GetLastKeydownProcessed(_arg0);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    _resultobj = Py_BuildValue("i",_result);
+    return _resultobj;
+}
+
+#define wxStyledTextCtrl_SetLastKeydownProcessed(_swigobj,_swigarg0)  (_swigobj->SetLastKeydownProcessed(_swigarg0))
+static PyObject *_wrap_wxStyledTextCtrl_SetLastKeydownProcessed(PyObject *self, PyObject *args, PyObject *kwargs) {
+    PyObject * _resultobj;
+    wxStyledTextCtrl * _arg0;
+    bool  _arg1;
+    PyObject * _argo0 = 0;
+    int tempbool1;
+    char *_kwnames[] = { "self","val", NULL };
+
+    self = self;
+    if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oi:wxStyledTextCtrl_SetLastKeydownProcessed",_kwnames,&_argo0,&tempbool1)) 
+        return NULL;
+    if (_argo0) {
+        if (_argo0 == Py_None) { _arg0 = NULL; }
+        else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxStyledTextCtrl_p")) {
+            PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxStyledTextCtrl_SetLastKeydownProcessed. Expected _wxStyledTextCtrl_p.");
+        return NULL;
+        }
+    }
+    _arg1 = (bool ) tempbool1;
+{
+    PyThreadState* __tstate = wxPyBeginAllowThreads();
+    wxStyledTextCtrl_SetLastKeydownProcessed(_arg0,_arg1);
+
+    wxPyEndAllowThreads(__tstate);
+    if (PyErr_Occurred()) return NULL;
+}    Py_INCREF(Py_None);
+    _resultobj = Py_None;
+    return _resultobj;
+}
+
 static void *SwigwxStyledTextEventTowxCommandEvent(void *ptr) {
     wxStyledTextEvent *src;
     wxCommandEvent *dest;
@@ -10555,6 +10614,8 @@ static PyMethodDef stc_cMethods[] = {
         { "wxStyledTextEvent_SetPosition", (PyCFunction) _wrap_wxStyledTextEvent_SetPosition, METH_VARARGS | METH_KEYWORDS },
         { "delete_wxStyledTextEvent", (PyCFunction) _wrap_delete_wxStyledTextEvent, METH_VARARGS | METH_KEYWORDS },
         { "new_wxStyledTextEvent", (PyCFunction) _wrap_new_wxStyledTextEvent, METH_VARARGS | METH_KEYWORDS },
+        { "wxStyledTextCtrl_SetLastKeydownProcessed", (PyCFunction) _wrap_wxStyledTextCtrl_SetLastKeydownProcessed, METH_VARARGS | METH_KEYWORDS },
+        { "wxStyledTextCtrl_GetLastKeydownProcessed", (PyCFunction) _wrap_wxStyledTextCtrl_GetLastKeydownProcessed, METH_VARARGS | METH_KEYWORDS },
         { "wxStyledTextCtrl_SetHScrollBar", (PyCFunction) _wrap_wxStyledTextCtrl_SetHScrollBar, METH_VARARGS | METH_KEYWORDS },
         { "wxStyledTextCtrl_SetVScrollBar", (PyCFunction) _wrap_wxStyledTextCtrl_SetVScrollBar, METH_VARARGS | METH_KEYWORDS },
         { "wxStyledTextCtrl_SendMsg", (PyCFunction) _wrap_wxStyledTextCtrl_SendMsg, METH_VARARGS | METH_KEYWORDS },
index a7a8e8718a3be8e45ef475d4d6482cf6e82cfd16..26ec754ee31cfd82893222359764145283f77c57 100644 (file)
@@ -981,6 +981,12 @@ class wxStyledTextCtrlPtr(wxControlPtr):
     def SetHScrollBar(self, *_args, **_kwargs):
         val = apply(stc_c.wxStyledTextCtrl_SetHScrollBar,(self,) + _args, _kwargs)
         return val
+    def GetLastKeydownProcessed(self, *_args, **_kwargs):
+        val = apply(stc_c.wxStyledTextCtrl_GetLastKeydownProcessed,(self,) + _args, _kwargs)
+        return val
+    def SetLastKeydownProcessed(self, *_args, **_kwargs):
+        val = apply(stc_c.wxStyledTextCtrl_SetLastKeydownProcessed,(self,) + _args, _kwargs)
+        return val
     def __repr__(self):
         return "<C wxStyledTextCtrl instance at %s>" % (self.this,)
 class wxStyledTextCtrl(wxStyledTextCtrlPtr):