+----[ Erik Enge ]---------------------------------------------
| Good evening.
| I know how to make a Python Class, which is a container.  But how do
| I make another Class which can only be added from the container-class
| I have created.  Know what I mean?  The last class should only show up
| in the "Available Objects"-list if the user is in a instance of the
| first class.  Did this make any sense?
| Thanks for any answers.  :-)

This is easier than you might think:-

Step 1: Do not register your 'sub' class(es) in your __init__.py

Step 2: In your container class import your sub class manage_add function(s)
        (not sure if this is really needed, but, I do it for completeness).

Step 3: In your container class add:-

meta_types=({'name':'Sub Product', 'action':'manage_addSubProduct'},) # Sub-ob
ject types that are specific to this object

You can add as many as you like...

Step 5: Optionally add a meta_type to your sub class (if you haven't)
Step 6: Optionally add icon='thisIcon.gif" into your sub classes so they get
        pretty icons.

Copy over new Product, and Restart Zope :-)

Totally Holistic Enterprises Internet|  P:+61 7 3870 0066   | Andrew Milton
The Internet (Aust) Pty Ltd          |  F:+61 7 3870 4477   | 
ACN: 082 081 472 ABN: 83 082 081 472 |  M:+61 416 022 411   | Carpe Daemon
PO Box 837 Indooroopilly QLD 4068    |[EMAIL PROTECTED]| 

Zope maillist  -  [EMAIL PROTECTED]
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-dev )

Reply via email to