# format: class : {method : (prototype1, prototype2)} # using a "*" means all prototypes ignored_methods = { "wxIcon": {'wxIcon': (['const char', 'int', 'int'], )}, } # these classes are either replaced by different data types in bindings, or have equivalent / better # functionality provided by the target language. excluded_classes = [ "wxAny", "wxAnyValueType", "wxArchiveClassFactory", "wxArchiveEntry", "wxArchiveInputStream", "wxArchiveIterator", "wxArchiveNotifier", "wxArchiveOutputStream", "wxArray< T >", "wxArrayString", "wxAutomationObject", "wxBufferedInputStream", "wxBufferedOutputStream", "wxCharBuffer", "wxCharTypeBuffer", "wxClassInfo", "wxCmdLineParser", "wxCondition", "wxConnection", "wxConnectionBase", "wxConvAuto", "wxCountingOutputStream", "wxCriticalSection", "wxCriticalSectionLocker", "wxCSConv", "wxDatagramSocket", "wxDataInputStream", "wxDataOutputStream", "wxDir", "wxDirTraverser", "wxFFile", "wxFFileInputStream", "wxFFileOutputStream", "wxFile", "wxFileInputStream", "wxFileName", "wxFileOutputStream", "wxFileStream", "wxFilterClassFactory", "wxFilterInputStream", "wxFilterOutputStream", "wxFSFile", "wxFSVolume", "wxFTP", "wxHashMap", "wxHashSet", "wxHashTable", "wxHTTP", "wxImage::HSVValue", "wxImage::RGBValue", "wxInputStream", "wxIPAddress", "wxIPV4Address", "wxList< T >", "wxLongLong", "wxMBConv", "wxMBConvFile", "wxMBConvUTF7", "wxMBConvUTF8", "wxMBConvUTF16", "wxMBConvUTF32", "wxMemoryBuffer", "wxMemoryFSHandler", "wxMemoryInputStream", "wxMemoryOutputStream", "wxMessageQueue< T >", "wxModule", "wxMutex", "wxMutexLocker", "wxNode< T >", "wxObjectDataPtr< T >", "wxObjectRefData", "wxOutputStream", "wxProcess", "wxProcessEvent", "wxProtocol", "wxProtocolLog", "wxRecursionGuard", "wxRecursionGuardFlag", "wxRegKey", "wxScopedArray", "wxScopedCharTypeBuffer", "wxScopedPtr", "wxScopedPtr< T >", "wxSharedPtr< T >", "wxServer", "wxSockAddress", "wxSocketBase", "wxSocketClient", "wxSocketEvent", "wxSocketInputStream", "wxSocketOutputStream", "wxSortedArrayString", "wxStopWatch", "wxStreamBase", "wxStreamBuffer", "wxStreamToTextRedirector", "wxString", "wxStringBuffer", "wxStringBufferLength", "wxStringClientData", "wxStringInputStream", "wxStringOutputStream", "wxTarClassFactory", "wxTarEntry", "wxTarInputStream", "wxTarOutputStream", "wxTCPClient", "wxTCPConnection", "wxTCPServer", "wxTempFile", "wxTempFileOutputStream", "wxTextInputStream", "wxTextOutputStream", "wxThread", "wxThreadEvent", "wxThreadHelper", "wxULongLong", "wxUniChar", "wxUniCharRef", "wxURI", "wxURL", "wxUString", "wxVariant", "wxVariantData", "wxVector< T >", "wxVector< T >::reverse_iterator", "wxWCharBuffer", "wxWeakRef< T >", "wxWeakRefDynamic< T >", "wxZipInputStream", "wxZipOutputStream", "wxZlibInputStream", "wxZlibOutputStream", ] def get_first_value(alist): if len(alist) > 0: return alist[0] else: return "" def make_enums(aclass): retval = "" for enum in aclass.enums: retval += "enum %s {\n" % enum num_values = len(aclass.enums[enum]) for value in aclass.enums[enum]: retval += " %s" % value if not value == aclass.enums[enum][-1]: retval += ", " retval += "\n" retval += "};\n\n" return retval