[ZPatterns] ZPatterns not TTW, step 2
Phillip J. Eby
[email protected]
Mon, 11 Jun 2001 08:31:44 -0500
At 10:55 PM 6/10/01 -0500, Steve Spicklemire wrote:
>
>Ach.. I see. I went back to the code that did this.. and I had forgotten
>that while it was a "Python Product" that subclasses from DataSkin, it
>was also a registered base class for ZClasses, and I had subclassed a
>ZClass from it to use in the StorageTab. But in looking at the running
>App I see that my base
>classes show up in the Storage popup as being usable classes for the
>Rack. Maybe all you need is to register you classes as a base class and
>the rest of the magic will work? ;-)
>
It should, as the Storage tab queries both Python ZClass bases *and*
ZClasses (note the "unified ZClass registry" references). So you should be
able to just register a Python class and have it work. The main thing is
just that the _v_itemConstructor attribute needs to be a class. It doesn't
persist, however, so you really need to set Rack._zclass or
Rack._defaultClass. You can set these to Python classes directly in Python
code, but then the Storage tab won't work properly. It's best to just
register your class as a ZClass base, because then someone using your
product can always create a subclass and change the Rack to use it.