]
# Message function values that should have a CMD_ constant as well
-cmdValues = [ (2300, 2350), 2011, 2013, (2176, 2180) ]
+cmdValues = [ (2300, 2349),
+ 2011,
+ 2013,
+ (2176, 2180),
+ (2390, 2393),
+ (2395, 2396),
+ ]
# Map some generic typenames to wx types, using return value syntax
'void %s(const wxString& text);',
'''void %s(const wxString& text) {
- wxWX2MBbuf buf = (wxWX2MBbuf)text.mb_str(wxConvUTF8);
+ wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text);
SendMsg(%s, strlen(buf), (long)(const char*)buf);''',
0),
'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);',
mbuf.UngetWriteBuf(len);
mbuf.AppendByte(0);
if (linePos) *linePos = pos;
- return wxString(buf, wxConvUTF8);''',
+ return stc2wx(buf);''',
0),
'IndicSetFore' : ('IndicatorSetForeground', 0, 0, 0),
'IndicGetFore' : ('IndicatorGetForeground', 0, 0, 0),
+ 'SetWhitespaceFore' : ('SetWhitespaceForeground', 0, 0, 0),
+ 'SetWhitespaceBack' : ('SetWhitespaceBackground', 0, 0, 0),
+
'AutoCShow' : ('AutoCompShow', 0, 0, 0),
'AutoCCancel' : ('AutoCompCancel', 0, 0, 0),
'AutoCActive' : ('AutoCompActive', 0, 0, 0),
'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*)text.mb_str(wxConvUTF8);
+ wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text);
+ ft.lpstrText = (char*)(const char*)buf;
return SendMsg(%s, flags, (long)&ft);''',
0),
SendMsg(%s, line, (long)buf);
mbuf.UngetWriteBuf(len);
mbuf.AppendByte(0);
- return wxString(buf, wxConvUTF8);''',
+ return stc2wx(buf);''',
('Retrieve the contents of a line.',)),
SendMsg(%s, 0, (long)buf);
mbuf.UngetWriteBuf(len);
mbuf.AppendByte(0);
- return wxString(buf, wxConvUTF8);''',
+ return stc2wx(buf);''',
('Retrieve the selected text.',)),
SendMsg(%s, 0, (long)&tr);
mbuf.UngetWriteBuf(len);
mbuf.AppendByte(0);
- return wxString(buf, wxConvUTF8);''',
+ return stc2wx(buf);''',
('Retrieve a range of text.',)),
SendMsg(%s, len+1, (long)buf);
mbuf.UngetWriteBuf(len);
mbuf.AppendByte(0);
- return wxString(buf, wxConvUTF8);''',
+ return stc2wx(buf);''',
('Retrieve all the text in the document.', )),
'''
int %s(const wxString& text) {
- wxWX2MBbuf buf = (wxWX2MBbuf)text.mb_str(wxConvUTF8);
+ wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text);
return SendMsg(%s, strlen(buf), (long)(const char*)buf);''',
0),
'''
int %s(const wxString& text) {
- wxWX2MBbuf buf = (wxWX2MBbuf)text.mb_str(wxConvUTF8);
+ wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text);
return SendMsg(%s, strlen(buf), (long)(const char*)buf);''',
0),
'''
int %s(const wxString& text) {
- wxWX2MBbuf buf = (wxWX2MBbuf)text.mb_str(wxConvUTF8);
+ wxWX2MBbuf buf = (wxWX2MBbuf)wx2stc(text);
return SendMsg(%s, strlen(buf), (long)(const char*)buf);''',
0),
+ 'GetDocPointer' : (0,
+ 'void* %s();',
+ '''void* %s() {
+ return (void*)SendMsg(%s);''',
+ 0),
+
+ 'SetDocPointer' : (0,
+ 'void %s(void* docPointer);',
+ '''void %s(void* docPointer) {
+ SendMsg(%s, 0, (long)docPointer);''',
+ 0),
+
+ 'CreateDocument' : (0,
+ 'void* %s();',
+ '''void* %s() {
+ return (void*)SendMsg(%s);''',
+ 0),
+
+ 'AddRefDocument' : (0,
+ 'void %s(void* docPointer);',
+ '''void %s(void* docPointer) {
+ SendMsg(%s, 0, (long)docPointer);''',
+ 0),
+
+ 'ReleaseDocument' : (0,
+ 'void %s(void* docPointer);',
+ '''void %s(void* docPointer) {
+ SendMsg(%s, 0, (long)docPointer);''',
+ 0),
+ 'SetCodePage' : (0,
+ 0,
+ '''void %s(int codePage) {
+#if wxUSE_UNICODE
+ wxASSERT_MSG(codePage == wxSTC_CP_UTF8,
+ wxT("Only wxSTC_CP_UTF8 may be used when wxUSE_UNICODE is on."));
+#else
+ wxASSERT_MSG(codePage != wxSTC_CP_UTF8,
+ wxT("wxSTC_CP_UTF8 may not be used when wxUSE_UNICODE is off."));
+#endif
+ SendMsg(%s, codePage);''',
+ ("Set the code page used to interpret the bytes of the document as characters.",) ),
+
+
+ 'GrabFocus' : (None, 0, 0, 0),
+ 'SetFocus' : ('SetSTCFocus', 0, 0, 0),
+ 'GetFocus' : ('GetSTCFocus', 0, 0, 0),
+
+
# Remove all methods that are key commands since they can be
# executed with CmdKeyExecute
'DeleteBackNotLine' : (None, 0, 0, 0),
- 'GetDocPointer' : (0,
- 'void* %s();',
- '''void* %s() {
- return (void*)SendMsg(%s);''',
- 0),
-
- 'SetDocPointer' : (0,
- 'void %s(void* docPointer);',
- '''void %s(void* docPointer) {
- SendMsg(%s, 0, (long)docPointer);''',
- 0),
-
- 'CreateDocument' : (0,
- 'void* %s();',
- '''void* %s() {
- return (void*)SendMsg(%s);''',
- 0),
-
- 'AddRefDocument' : (0,
- 'void %s(void* docPointer);',
- '''void %s(void* docPointer) {
- SendMsg(%s, (long)docPointer);''',
- 0),
-
- 'ReleaseDocument' : (0,
- 'void %s(void* docPointer);',
- '''void %s(void* docPointer) {
- SendMsg(%s, (long)docPointer);''',
- 0),
- 'SetCodePage' : (0,
- 0,
- '''void %s(int codePage) {
-#if wxUSE_UNICODE
- wxASSERT_MSG(codePage == wxSTC_CP_UTF8,
- wxT("Only wxSTC_CP_UTF8 may be used when wxUSE_UNICODE is on."));
-#else
- wxASSERT_MSG(codePage != wxSTC_CP_UTF8,
- wxT("wxSTC_CP_UTF8 may not be used when wxUSE_UNICODE is off."));
-#endif
- SendMsg(%s, codePage);''',
- ("Set the code page used to interpret the bytes of the document as characters.",) ),
-
-
- 'GrabFocus' : (None, 0, 0, 0),
- 'SetFocus' : ('SetSTCFocus', 0, 0, 0),
- 'GetFocus' : ('GetSTCFocus', 0, 0, 0),
'' : ('', 0, 0, 0),
curDocStrings = []
values = []
methods = []
+ cmds = []
# parse iface file
fi = FileInput(iface)
curDocStrings = []
elif op == 'fun ' or op == 'set ' or op == 'get ':
- parseFun(line[4:], methods, curDocStrings, values)
+ parseFun(line[4:], methods, curDocStrings, cmds)
curDocStrings = []
elif op == 'cat ':
elif op == 'evt ':
pass
+ elif op == 'enu ':
+ pass
+
+ elif op == 'lex ':
+ pass
+
else:
print '***** Unknown line type: ', line
# process templates
data = {}
data['VALUES'] = processVals(values)
+ data['CMDS'] = processVals(cmds)
defs, imps = processMethods(methods)
data['METHOD_DEFS'] = defs
data['METHOD_IMPS'] = imps
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
typ, name = param
if typ == 'string':
- return '(long)(const char*)%s.mb_str(wxConvUTF8)' % name
+ return '(long)(const char*)wx2stc(%s)' % name
if typ == 'colour':
return 'wxColourAsLong(%s)' % name
param1 = parseParam(param1)
param2 = parseParam(param2)
- # Special case. For the key command functionss we want a value defined too
+ # Special case. For the key command functions we want a value defined too
num = string.atoi(number)
for v in cmdValues:
- if (type(v) == type(()) and v[0] <= num < v[1]) or v == num:
+ if (type(v) == type(()) and v[0] <= num <= v[1]) or v == num:
parseVal('CMD_%s=%s' % (string.upper(name), number), values, docs)
#if retType == 'void' and not param1 and not param2: