+ 'GetRangePointer' : (0,
+ 'const char* %s(int position, int rangeLength) const;',
+ 'const char* %s(int position, int rangeLength) const {\n'
+ ' return (const char*)SendMsg(%s, position, rangeLength);',
+ 0),
+
+
+ 'GetWordChars' :
+ (0,
+ 'wxString %s() const;',
+
+ '''wxString %s() const {
+ int msg = %s;
+ int len = SendMsg(msg, 0, (sptr_t)NULL);
+ if (!len) return wxEmptyString;
+
+ wxMemoryBuffer mbuf(len+1);
+ char* buf = (char*)mbuf.GetWriteBuf(len+1);
+ SendMsg(msg, 0, (sptr_t)buf);
+ mbuf.UngetWriteBuf(len);
+ mbuf.AppendByte(0);
+ return stc2wx(buf);''',
+
+ ('Get the set of characters making up words for when moving or selecting by word.',)),
+
+ 'GetTag' :
+ (0,
+ 'wxString %s(int tagNumber) const;',
+
+ '''wxString %s(int tagNumber) const {
+ int msg = %s;
+ int len = SendMsg(msg, tagNumber, (sptr_t)NULL);
+ if (!len) return wxEmptyString;
+
+ wxMemoryBuffer mbuf(len+1);
+ char* buf = (char*)mbuf.GetWriteBuf(len+1);
+ SendMsg(msg, tagNumber, (sptr_t)buf);
+ mbuf.UngetWriteBuf(len);
+ mbuf.AppendByte(0);
+ return stc2wx(buf);''',
+ 0),
+
+ 'GetWhitespaceChars' :
+ (0,
+ 'wxString %s() const;',
+
+ '''wxString %s() const {
+ int msg = %s;
+ int len = SendMsg(msg, 0, (sptr_t)NULL);
+ if (!len) return wxEmptyString;
+
+ wxMemoryBuffer mbuf(len+1);
+ char* buf = (char*)mbuf.GetWriteBuf(len+1);
+ SendMsg(msg, 0, (sptr_t)buf);
+ mbuf.UngetWriteBuf(len);
+ mbuf.AppendByte(0);
+ return stc2wx(buf);''',
+ 0),
+
+
+ 'GetPunctuationChars' :
+ (0,
+ 'wxString %s() const;',
+
+ '''wxString %s() const {
+ int msg = %s;
+ int len = SendMsg(msg, 0, (sptr_t)NULL);
+ if (!len) return wxEmptyString;
+
+ wxMemoryBuffer mbuf(len+1);
+ char* buf = (char*)mbuf.GetWriteBuf(len+1);
+ SendMsg(msg, 0, (sptr_t)buf);
+ mbuf.UngetWriteBuf(len);
+ mbuf.AppendByte(0);
+ return stc2wx(buf);''',
+ 0),
+
+
+ 'PropertyNames' :
+ (0,
+ 'wxString %s() const;',
+
+ '''wxString %s() const {
+ int msg = %s;
+ int len = SendMsg(msg, 0, (sptr_t)NULL);
+ if (!len) return wxEmptyString;
+
+ wxMemoryBuffer mbuf(len+1);
+ char* buf = (char*)mbuf.GetWriteBuf(len+1);
+ SendMsg(msg, 0, (sptr_t)buf);
+ mbuf.UngetWriteBuf(len);
+ mbuf.AppendByte(0);
+ return stc2wx(buf);''',
+ 0),
+
+
+
+ 'DescribeProperty' :
+ (0,
+ 'wxString %s(const wxString& name) const;',
+
+ '''wxString %s(const wxString& name) const {
+ int msg = %s;
+ int len = SendMsg(msg, (sptr_t)(const char*)wx2stc(name), (sptr_t)NULL);
+ if (!len) return wxEmptyString;
+
+ wxMemoryBuffer mbuf(len+1);
+ char* buf = (char*)mbuf.GetWriteBuf(len+1);
+ SendMsg(msg, (sptr_t)(const char*)wx2stc(name), (sptr_t)buf);
+ mbuf.UngetWriteBuf(len);
+ mbuf.AppendByte(0);
+ return stc2wx(buf);''',
+ 0),
+
+
+
+ 'DescribeKeyWordSets' :
+ (0,
+ 'wxString %s() const;',
+
+ '''wxString %s() const {
+ int msg = %s;
+ int len = SendMsg(msg, 0, (sptr_t)NULL);
+ if (!len) return wxEmptyString;
+
+ wxMemoryBuffer mbuf(len+1);
+ char* buf = (char*)mbuf.GetWriteBuf(len+1);
+ SendMsg(msg, 0, (sptr_t)buf);
+ mbuf.UngetWriteBuf(len);
+ mbuf.AppendByte(0);
+ return stc2wx(buf);''',
+ 0),
+
+
+ 'MarkerDefineRGBAImage' :
+ (0,
+ 'void %s(int markerNumber, const unsigned char* pixels);',
+ '''void %s(int markerNumber, const unsigned char* pixels) {
+ SendMsg(%s, markerNumber, (sptr_t)pixels);''',
+ 0),
+