'''wxString %s(int startPos, int endPos) {
wxString text;
+ if (endPos < startPos) {
+ int temp = startPos;
+ startPos = endPos;
+ endPos = temp;
+ }
int len = endPos - startPos;
if (!len) return "";
TextRange tr;
0),
'GetCurLine' : (0,
- 'wxString %s(int* OUTPUT=NULL);',
+ '#ifdef SWIG\n wxString %s(int* OUTPUT);\n#else\n wxString GetCurLine(int* linePos=NULL);\n#endif',
'''wxString %s(int* linePos) {
wxString text;
int len = LineLength(GetCurrentLine());
- if (!len) return "";
- char* buf = text.GetWriteBuf(len);
-
- int pos = SendMsg(%s, len, (long)buf);
+ if (!len) {
+ if (linePos) *linePos = 0;
+ return "";
+ }
+ // Need an extra byte because SCI_GETCURLINE writes a null to the string
+ char* buf = text.GetWriteBuf(len+1);
+
+ int pos = SendMsg(%s, len+1, (long)buf);
text.UngetWriteBuf(len);
if (linePos) *linePos = pos;
wxRect pageRect) {
RangeToFormat fr;
+ if (endPos < startPos) {
+ int temp = startPos;
+ startPos = endPos;
+ endPos = temp;
+ }
fr.hdc = draw;
fr.hdcTarget = target;
fr.rc.top = renderRect.GetTop();
'''wxString %s(int startPos, int endPos) {
wxString text;
+ if (endPos < startPos) {
+ int temp = startPos;
+ startPos = endPos;
+ endPos = temp;
+ }
int len = endPos - startPos;
if (!len) return "";
char* buff = text.GetWriteBuf(len);
'''wxString %s() {
wxString text;
- int len = GetTextLength()+1;
- char* buff = text.GetWriteBuf(len);
+ int len = GetTextLength();
+ char* buff = text.GetWriteBuf(len+1); // leave room for the null...
- SendMsg(%s, len, (long)buff);
- text.UngetWriteBuf(len-1);
+ SendMsg(%s, len+1, (long)buff);
+ text.UngetWriteBuf(len);
return text;''',
('Retrieve all the text in the document.', )),
0),
'GrabFocus' : (None, 0, 0, 0),
+ 'SetFocus' : ('SetSTCFocus', 0, 0, 0),
+ 'GetFocus' : ('GetSTCFocus', 0, 0, 0),
+
'' : ('', 0, 0, 0),