I've been trying to build wxPython trunk (r63679, wx r63686) and the
property grid is failing to import:
Python 2.6.4 (r264:75706, Feb 5 2010, 20:04:49) [MSC v.1500 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
import wx
[292539 refs]
import wx.propgrid
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "wx\propgrid.py", line 346, in <module>
class PGProperty(_core.Object):
File "wx\propgrid.py", line 845, in PGProperty
GetClientObject = GetClientData
NameError: name 'GetClientData' is not defined
[317999 refs]
import wx._propgrid
[317999 refs]
wx._propgrid.PGProperty_GetClientData
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'PGProperty_GetClientData'
[300596 refs]
GetClientData is still in propgrid.i and if you tell SWIG to dump the
output it shows up:
+++ class ----------------------------------------
> baselist - 0x34ae420
> protectedbaselist - 0x34ae430
> privatebaselist - 0x34ae440
> feature:autodoc - "1"
> python:autodoc - "Proxy of C++ PGProperty class"
> classtypeobj - "wxPGProperty"
> sym:symtab - 0x4d0b98
> allows_typedef - "1"
> symtab - 0x34ae510
> python:proxy - "PGProperty"
> allocate:visit - "1"
> typepass:visit - "1"
> kind - "class"
> classtype - "wxPGProperty"
> allocate:copy_constructor - "1"
> allocate:default_destructor - "1"
> allocate:has_destructor - "1"
> allocate:public_constructor - "1"
> allocate:has_constructor - "1"
> allocate:default_constructor - "1"
> sym:cleanconstructor - "1"
> has_constructor - "1"
> has_destructor - "1"
> feature:compactdefaultargs - "1"
> python:docstring - "\"\"\"Proxy of C++ PGProperty class\"\"\"
> feature:nodefaultdtor - "1"
> sym:overname - "__SWIG_0"
> allbases - 0x45c5658
> module - 0xc929c8
> sym:name - "PGProperty"
> typescope - 0x45c55c8
> feature:except - "{\n PyThreadState* __tstate = wxPyBeg..."
> bases - 0x45c5608
> view - "classDeclaration"
> feature:kwargs - "1"
> name - "wxPGProperty"
> feature:nodefaultctor - "1"
...
+++ cdecl ----------------------------------------
> feature:except - "{\n PyThreadState*
__tstate = wxPyBeg..."
> name - "GetClientData"
> sym:symtab - 0x3494c50
> kind - "function"
> feature:compactdefaultargs - "1"
> decl - "f().p."
> feature:extend - "1"
> feature:nodefaultdtor - "1"
> feature:docstring - "Returns the client data
object for a pro..."
> feature:ignore - "1"
> type - "PyObject"
> code - "{\nwxPyClientData* data = (w..."
> feature:autodoc - "1"
> feature:kwargs - "1"
> feature:nodefaultctor - "1"
>
Is that feature:ignore - "1" deliberate?
Just to test, I tried commenting out "GetClientObject = GetClientData" (and
the corresponding Set) from wx.propgrid.PGProperty and was able to run
the demo's propgrid sample.
Btw, the SizeProperty demo that uses AddPrivateChild now works (i.e.
values propagate upwards) when you uncomment it, which is great to see.
Thanks,
Euan.