From: Robin Dunn Date: Tue, 4 Jun 2002 19:25:29 +0000 (+0000) Subject: Changed FindTExt intercase to more easily handle additional flags. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/c13219d6a850e42849d6e29f3bbf118dad57f889?ds=sidebyside Changed FindTExt intercase to more easily handle additional flags. Fixed GetCharAt and GetStyleAt to only return values 0..255 instead of possibly negative values. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/contrib/include/wx/stc/stc.h b/contrib/include/wx/stc/stc.h index f7d4e70eef..64061f23fc 100644 --- a/contrib/include/wx/stc/stc.h +++ b/contrib/include/wx/stc/stc.h @@ -1303,9 +1303,7 @@ public: int GetPrintColourMode(); // Find some text in the document. - int FindText(int minPos, int maxPos, - const wxString& text, - bool caseSensitive, bool wholeWord); + int FindText(int minPos, int maxPos, const wxString& text, int flags=0); // On Windows will draw the document into a display context such as a printer. int FormatRange(bool doDraw, diff --git a/contrib/src/stc/gen_iface.py b/contrib/src/stc/gen_iface.py index b85de2fa9f..18b28cbdd3 100644 --- a/contrib/src/stc/gen_iface.py +++ b/contrib/src/stc/gen_iface.py @@ -82,6 +82,16 @@ methodOverrideMap = { 'GetViewWS' : ( 'GetViewWhiteSpace', 0, 0, 0), 'SetViewWS' : ( 'SetViewWhiteSpace', 0, 0, 0), + 'GetCharAt' : ( 0, 0, + '''int %s(int pos) { + return (unsigned char)SendMsg(%s, pos, 0);''', + 0), + + 'GetStyleAt' : ( 0, 0, + '''int %s(int pos) { + return (unsigned char)SendMsg(%s, pos, 0);''', + 0), + 'GetStyledText' : (0, 'wxMemoryBuffer %s(int startPos, int endPos);', @@ -236,17 +246,12 @@ methodOverrideMap = { 'GetUsePalette' : (None, 0, 0, 0), 'FindText' : (0, + '''int %s(int minPos, int maxPos, const wxString& text, int flags=0);''', + '''int %s(int minPos, int maxPos, - const wxString& text, - bool caseSensitive, bool wholeWord);''', - '''int %s(int minPos, int maxPos, - const wxString& text, - bool caseSensitive, bool wholeWord) { + const wxString& text, + int flags) { TextToFind ft; - int flags = 0; - - flags |= caseSensitive ? SCFIND_MATCHCASE : 0; - flags |= wholeWord ? SCFIND_WHOLEWORD : 0; ft.chrg.cpMin = minPos; ft.chrg.cpMax = maxPos; ft.lpstrText = (char*)(const char*)wx2stc(text); @@ -642,14 +647,18 @@ def checkMethodOverride(name, number, docs): if methodOverrideMap.has_key(name): item = methodOverrideMap[name] - if item[0] != 0: - name = item[0] - if item[1] != 0: - theDef = ' ' + (item[1] % name) - if item[2] != 0: - theImp = item[2] % ('wxStyledTextCtrl::'+name, number) + '\n}' - if item[3] != 0: - docs = item[3] + try: + if item[0] != 0: + name = item[0] + if item[1] != 0: + theDef = ' ' + (item[1] % name) + if item[2] != 0: + theImp = item[2] % ('wxStyledTextCtrl::'+name, number) + '\n}' + if item[3] != 0: + docs = item[3] + except: + print "*************", name + raise return name, theDef, theImp, docs diff --git a/contrib/src/stc/stc.cpp b/contrib/src/stc/stc.cpp index 20d1fa34b6..bda10615e5 100644 --- a/contrib/src/stc/stc.cpp +++ b/contrib/src/stc/stc.cpp @@ -197,7 +197,7 @@ int wxStyledTextCtrl::GetLength() { // Returns the character byte at the position int wxStyledTextCtrl::GetCharAt(int pos) { - return SendMsg(2007, pos, 0); + return (unsigned char)SendMsg(2007, pos, 0); } // Returns the position of the caret @@ -212,7 +212,7 @@ int wxStyledTextCtrl::GetAnchor() { // Returns the style byte at the position int wxStyledTextCtrl::GetStyleAt(int pos) { - return SendMsg(2010, pos, 0); + return (unsigned char)SendMsg(2010, pos, 0); } // Redoes the next action on the undo history @@ -946,13 +946,9 @@ int wxStyledTextCtrl::GetPrintColourMode() { // Find some text in the document. int wxStyledTextCtrl::FindText(int minPos, int maxPos, - const wxString& text, - bool caseSensitive, bool wholeWord) { + const wxString& text, + int flags) { TextToFind ft; - int flags = 0; - - flags |= caseSensitive ? SCFIND_MATCHCASE : 0; - flags |= wholeWord ? SCFIND_WHOLEWORD : 0; ft.chrg.cpMin = minPos; ft.chrg.cpMax = maxPos; ft.lpstrText = (char*)(const char*)wx2stc(text); diff --git a/include/wx/stc/stc.h b/include/wx/stc/stc.h index f7d4e70eef..64061f23fc 100644 --- a/include/wx/stc/stc.h +++ b/include/wx/stc/stc.h @@ -1303,9 +1303,7 @@ public: int GetPrintColourMode(); // Find some text in the document. - int FindText(int minPos, int maxPos, - const wxString& text, - bool caseSensitive, bool wholeWord); + int FindText(int minPos, int maxPos, const wxString& text, int flags=0); // On Windows will draw the document into a display context such as a printer. int FormatRange(bool doDraw, diff --git a/src/stc/gen_iface.py b/src/stc/gen_iface.py index b85de2fa9f..18b28cbdd3 100644 --- a/src/stc/gen_iface.py +++ b/src/stc/gen_iface.py @@ -82,6 +82,16 @@ methodOverrideMap = { 'GetViewWS' : ( 'GetViewWhiteSpace', 0, 0, 0), 'SetViewWS' : ( 'SetViewWhiteSpace', 0, 0, 0), + 'GetCharAt' : ( 0, 0, + '''int %s(int pos) { + return (unsigned char)SendMsg(%s, pos, 0);''', + 0), + + 'GetStyleAt' : ( 0, 0, + '''int %s(int pos) { + return (unsigned char)SendMsg(%s, pos, 0);''', + 0), + 'GetStyledText' : (0, 'wxMemoryBuffer %s(int startPos, int endPos);', @@ -236,17 +246,12 @@ methodOverrideMap = { 'GetUsePalette' : (None, 0, 0, 0), 'FindText' : (0, + '''int %s(int minPos, int maxPos, const wxString& text, int flags=0);''', + '''int %s(int minPos, int maxPos, - const wxString& text, - bool caseSensitive, bool wholeWord);''', - '''int %s(int minPos, int maxPos, - const wxString& text, - bool caseSensitive, bool wholeWord) { + const wxString& text, + int flags) { TextToFind ft; - int flags = 0; - - flags |= caseSensitive ? SCFIND_MATCHCASE : 0; - flags |= wholeWord ? SCFIND_WHOLEWORD : 0; ft.chrg.cpMin = minPos; ft.chrg.cpMax = maxPos; ft.lpstrText = (char*)(const char*)wx2stc(text); @@ -642,14 +647,18 @@ def checkMethodOverride(name, number, docs): if methodOverrideMap.has_key(name): item = methodOverrideMap[name] - if item[0] != 0: - name = item[0] - if item[1] != 0: - theDef = ' ' + (item[1] % name) - if item[2] != 0: - theImp = item[2] % ('wxStyledTextCtrl::'+name, number) + '\n}' - if item[3] != 0: - docs = item[3] + try: + if item[0] != 0: + name = item[0] + if item[1] != 0: + theDef = ' ' + (item[1] % name) + if item[2] != 0: + theImp = item[2] % ('wxStyledTextCtrl::'+name, number) + '\n}' + if item[3] != 0: + docs = item[3] + except: + print "*************", name + raise return name, theDef, theImp, docs diff --git a/src/stc/stc.cpp b/src/stc/stc.cpp index 20d1fa34b6..bda10615e5 100644 --- a/src/stc/stc.cpp +++ b/src/stc/stc.cpp @@ -197,7 +197,7 @@ int wxStyledTextCtrl::GetLength() { // Returns the character byte at the position int wxStyledTextCtrl::GetCharAt(int pos) { - return SendMsg(2007, pos, 0); + return (unsigned char)SendMsg(2007, pos, 0); } // Returns the position of the caret @@ -212,7 +212,7 @@ int wxStyledTextCtrl::GetAnchor() { // Returns the style byte at the position int wxStyledTextCtrl::GetStyleAt(int pos) { - return SendMsg(2010, pos, 0); + return (unsigned char)SendMsg(2010, pos, 0); } // Redoes the next action on the undo history @@ -946,13 +946,9 @@ int wxStyledTextCtrl::GetPrintColourMode() { // Find some text in the document. int wxStyledTextCtrl::FindText(int minPos, int maxPos, - const wxString& text, - bool caseSensitive, bool wholeWord) { + const wxString& text, + int flags) { TextToFind ft; - int flags = 0; - - flags |= caseSensitive ? SCFIND_MATCHCASE : 0; - flags |= wholeWord ? SCFIND_WHOLEWORD : 0; ft.chrg.cpMin = minPos; ft.chrg.cpMax = maxPos; ft.lpstrText = (char*)(const char*)wx2stc(text); diff --git a/wxPython/contrib/stc/msw/stc_.cpp b/wxPython/contrib/stc/msw/stc_.cpp index e14809ab63..0a222b63ab 100644 --- a/wxPython/contrib/stc/msw/stc_.cpp +++ b/wxPython/contrib/stc/msw/stc_.cpp @@ -4562,7 +4562,7 @@ static PyObject *_wrap_wxStyledTextCtrl_GetPrintColourMode(PyObject *self, PyObj return _resultobj; } -#define wxStyledTextCtrl_FindText(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4) (_swigobj->FindText(_swigarg0,_swigarg1,_swigarg2,_swigarg3,_swigarg4)) +#define wxStyledTextCtrl_FindText(_swigobj,_swigarg0,_swigarg1,_swigarg2,_swigarg3) (_swigobj->FindText(_swigarg0,_swigarg1,_swigarg2,_swigarg3)) static PyObject *_wrap_wxStyledTextCtrl_FindText(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; int _result; @@ -4570,16 +4570,13 @@ static PyObject *_wrap_wxStyledTextCtrl_FindText(PyObject *self, PyObject *args, int _arg1; int _arg2; wxString * _arg3; - bool _arg4; - bool _arg5; + int _arg4 = (int ) 0; PyObject * _argo0 = 0; PyObject * _obj3 = 0; - int tempbool4; - int tempbool5; - char *_kwnames[] = { "self","minPos","maxPos","text","caseSensitive","wholeWord", NULL }; + char *_kwnames[] = { "self","minPos","maxPos","text","flags", NULL }; self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiOii:wxStyledTextCtrl_FindText",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3,&tempbool4,&tempbool5)) + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OiiO|i:wxStyledTextCtrl_FindText",_kwnames,&_argo0,&_arg1,&_arg2,&_obj3,&_arg4)) return NULL; if (_argo0) { if (_argo0 == Py_None) { _arg0 = NULL; } @@ -4593,11 +4590,9 @@ static PyObject *_wrap_wxStyledTextCtrl_FindText(PyObject *self, PyObject *args, if (_arg3 == NULL) return NULL; } - _arg4 = (bool ) tempbool4; - _arg5 = (bool ) tempbool5; { PyThreadState* __tstate = wxPyBeginAllowThreads(); - _result = (int )wxStyledTextCtrl_FindText(_arg0,_arg1,_arg2,*_arg3,_arg4,_arg5); + _result = (int )wxStyledTextCtrl_FindText(_arg0,_arg1,_arg2,*_arg3,_arg4); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) return NULL;