IFACE = './scintilla/include/Scintilla.iface'
H_TEMPLATE = './stc.h.in'
CPP_TEMPLATE = './stc.cpp.in'
-H_DEST = '../../include/wx/stc/stc.h' # './stc_test.h' #
-CPP_DEST = './stc.cpp' #'./stc_test.cpp'
+H_DEST = '../../include/wx/stc/stc.h'
+CPP_DEST = './stc.cpp'
# Value prefixes to convert
valPrefixes = [('SCI_', ''),
('SC_', ''),
- ('SCN_', None), # just toss these...
+ ('SCN_', None), # just toss these out...
('SCEN_', None),
('SCE_', ''),
('SCLEX_', 'LEX_'),
('SCWS_', 'WS_'),
]
-# Message funcion values that should have a CMD_ constant as well
+# Message function values that should have a CMD_ constant as well
cmdValues = [ (2300, 2350), 2011, 2013, (2176, 2180) ]
'''wxString %s(int startPos, int endPos) {
wxString text;
int len = endPos - startPos;
+ if (!len) return "";
TextRange tr;
- tr.lpstrText = text.GetWriteBuf(len*2+1);
+ tr.lpstrText = text.GetWriteBuf(len*2);
tr.chrg.cpMin = startPos;
tr.chrg.cpMax = endPos;
SendMsg(%s, 0, (long)&tr);
'''wxString %s(int* linePos) {
wxString text;
int len = LineLength(GetCurrentLine());
- char* buf = text.GetWriteBuf(len+1);
+ if (!len) return "";
+ char* buf = text.GetWriteBuf(len);
int pos = SendMsg(%s, len, (long)buf);
- text.UngetWriteBuf();
+ text.UngetWriteBuf(len);
if (linePos) *linePos = pos;
return text;''',
'''wxString %s(int line) {
wxString text;
int len = LineLength(line);
- char* buf = text.GetWriteBuf(len+1);
+ if (!len) return "";
+ char* buf = text.GetWriteBuf(len);
int pos = SendMsg(%s, line, (long)buf);
- text.UngetWriteBuf();
+ text.UngetWriteBuf(len);
return text;''',
GetSelection(&start, &end);
int len = end - start;
- char* buff = text.GetWriteBuf(len+1);
+ if (!len) return "";
+ char* buff = text.GetWriteBuf(len);
SendMsg(%s, 0, (long)buff);
- text.UngetWriteBuf();
+ text.UngetWriteBuf(len);
return text;''',
('Retrieve the selected text.',)),
'''wxString %s(int startPos, int endPos) {
wxString text;
int len = endPos - startPos;
- char* buff = text.GetWriteBuf(len+1);
+ if (!len) return "";
+ char* buff = text.GetWriteBuf(len);
TextRange tr;
tr.lpstrText = buff;
tr.chrg.cpMin = startPos;
tr.chrg.cpMax = endPos;
SendMsg(%s, 0, (long)&tr);
- text.UngetWriteBuf();
+ text.UngetWriteBuf(len);
return text;''',
('Retrieve a range of text.',)),
'''wxString %s() {
wxString text;
- int len = GetTextLength();
- char* buff = text.GetWriteBuf(len+1);
+ int len = GetTextLength()+1;
+ char* buff = text.GetWriteBuf(len);
SendMsg(%s, len, (long)buff);
- buff[len] = 0;
- text.UngetWriteBuf();
+ text.UngetWriteBuf(len-1);
return text;''',
('Retrieve all the text in the document.', )),