+
+
+ 'GetProperty' :
+ (0,
+ 'wxString %s(const wxString& key);',
+
+ '''wxString %s(const wxString& key) {
+ int len = SendMsg(SCI_GETPROPERTY, (sptr_t)(const char*)wx2stc(key), 0);
+ if (!len) return wxEmptyString;
+
+ wxMemoryBuffer mbuf(len+1);
+ char* buf = (char*)mbuf.GetWriteBuf(len+1);
+ SendMsg(%s, (uptr_t)(const char*)wx2stc(key), (sptr_t)buf);
+ mbuf.UngetWriteBuf(len);
+ mbuf.AppendByte(0);
+ return stc2wx(buf);''',
+ ("Retrieve a 'property' value previously set with SetProperty.",)),
+
+ 'GetPropertyExpanded' :
+ (0,
+ 'wxString %s(const wxString& key);',
+
+ '''wxString %s(const wxString& key) {
+ int len = SendMsg(SCI_GETPROPERTYEXPANDED, (uptr_t)(const char*)wx2stc(key), 0);
+ if (!len) return wxEmptyString;
+
+ wxMemoryBuffer mbuf(len+1);
+ char* buf = (char*)mbuf.GetWriteBuf(len+1);
+ SendMsg(%s, (uptr_t)(const char*)wx2stc(key), (sptr_t)buf);
+ mbuf.UngetWriteBuf(len);
+ mbuf.AppendByte(0);
+ return stc2wx(buf);''',
+ ("Retrieve a 'property' value previously set with SetProperty,",
+ "with '$()' variable replacement on returned buffer.")),
+
+ 'GetPropertyInt' : (0, 0, 0,
+ ("Retrieve a 'property' value previously set with SetProperty,",
+ "interpreted as an int AFTER any '$()' variable replacement.")),
+