
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@1035 fd906abe-77d9-0310-91a1-e0d9ade77398
48 lines
1.4 KiB
Text
48 lines
1.4 KiB
Text
Ordered Containers
|
|
==================
|
|
|
|
($Id$)
|
|
|
|
>>> from zope.app.testing.setup import placefulSetUp, placefulTearDown
|
|
>>> site = placefulSetUp(True)
|
|
>>> from zope.interface import implements
|
|
|
|
Let's add an ordered container and place some objects in it:
|
|
|
|
>>> from zope.app.container.interfaces import IOrderedContainer
|
|
>>> import zope.app.container.ordered
|
|
>>> class OrderedContainer(zope.app.container.ordered.OrderedContainer):
|
|
... implements(IOrderedContainer)
|
|
|
|
>>> c1 = OrderedContainer()
|
|
>>> site['c1'] = c1
|
|
>>> c1['sub1'] = OrderedContainer()
|
|
>>> c1['sub2'] = OrderedContainer()
|
|
>>> c1['sub3'] = OrderedContainer()
|
|
>>> c1['sub4'] = OrderedContainer()
|
|
>>> c1.keys()
|
|
['sub1', 'sub2', 'sub3', 'sub4']
|
|
|
|
A special management view provides methods for moving objects down, up,
|
|
to the bottom, and to the top
|
|
|
|
>>> from cybertools.container.ordered import OrderedContainerView
|
|
>>> from zope.publisher.browser import TestRequest
|
|
>>> view = OrderedContainerView(c1, TestRequest())
|
|
>>> view.moveToBottom(('sub3',))
|
|
>>> c1.keys()
|
|
['sub1', 'sub2', 'sub4', 'sub3']
|
|
>>> view.moveUp(('sub4',), 1)
|
|
>>> c1.keys()
|
|
['sub1', 'sub4', 'sub2', 'sub3']
|
|
>>> view.moveToTop(('sub2',))
|
|
>>> c1.keys()
|
|
['sub2', 'sub1', 'sub4', 'sub3']
|
|
>>> view.moveDown(('sub2',), 2)
|
|
>>> c1.keys()
|
|
['sub1', 'sub4', 'sub2', 'sub3']
|
|
|
|
The end...
|
|
==========
|
|
|
|
>>> placefulTearDown()
|