diff --git a/README.txt b/README.txt
index 10ca98b..f85d921 100755
--- a/README.txt
+++ b/README.txt
@@ -330,14 +330,10 @@ Let's add some more nodes and reorder them:
>>> m11.keys()
['m111', 'm112', 'm113', 'm114']
- >>> m11.moveSubNodesByDelta(['m113'], -1)
- >>> m11.keys()
- ['m111', 'm113', 'm112', 'm114']
-
A special management view provides methods for moving objects down, up,
to the bottom, and to the top
- >>> from loops.browser.node import OrderedContainerView
+ >>> from cybertools.container.ordered import OrderedContainerView
>>> view = OrderedContainerView(m11, TestRequest())
>>> view.moveToBottom(('m113',))
>>> m11.keys()
diff --git a/browser/configure.zcml b/browser/configure.zcml
index 5110c4b..0e5e472 100644
--- a/browser/configure.zcml
+++ b/browser/configure.zcml
@@ -333,25 +333,10 @@
name="node.html"
/>
-
-
-
-
-
-
-
-
-
-
diff --git a/browser/contents.pt b/browser/contents.pt
deleted file mode 100644
index 505f090..0000000
--- a/browser/contents.pt
+++ /dev/null
@@ -1,216 +0,0 @@
-
-
-
-
-
diff --git a/browser/node.py b/browser/node.py
index 83b70a3..c7c5656 100644
--- a/browser/node.py
+++ b/browser/node.py
@@ -132,49 +132,3 @@ class ConfigureView(object):
self.delegate.checkCreateTarget()
return super(ConfigureView, self).update()
-
-class OrderedContainerView(JustContents):
- """ A view providing the necessary methods for moving sub-objects
- within an ordered container.
- """
-
- @Lazy
- def url(self):
- return zapi.absoluteURL(self.context, self.request)
-
- @Lazy
- def orderable(self):
- return len(self.context) > 1
-
- def checkMoveAction(self):
- request = self.request
- for var in request:
- if var.startswith('move_'):
- params = []
- if 'delta' in request:
- params.append('delta=' + request['delta'])
- if 'ids' in request:
- for id in request['ids']:
- params.append('ids:list=' + id)
- request.response.redirect('%s/%s?%s'
- % (self.url, var, '&'.join(params)))
- return True
- return False
-
- def moveDown(self, ids=[], delta=1):
- self.context.moveSubNodesByDelta(ids, int(delta))
- self.request.response.redirect(self.url + '/contents.html')
-
- def moveUp(self, ids=[], delta=1):
- self.context.moveSubNodesByDelta(ids, -int(delta))
- self.request.response.redirect(self.url + '/contents.html')
-
- def moveToBottom(self, ids=[]):
- self.context.moveSubNodesByDelta(ids, len(self.context))
- self.request.response.redirect(self.url + '/contents.html')
-
- def moveToTop(self, ids=[]):
- self.context.moveSubNodesByDelta(ids, -len(self.context))
- self.request.response.redirect(self.url + '/contents.html')
-
-
diff --git a/interfaces.py b/interfaces.py
index 5b4e84d..90d62f1 100644
--- a/interfaces.py
+++ b/interfaces.py
@@ -264,12 +264,6 @@ class INode(IView, IBaseNode):
a menu).
"""
- def moveSubNodesByDelta(names, delta):
- """ Move the sub-nodes specified by the list of names up
- (negative delta) or down (positive delta) by the number of places
- specified by delta.
- """
-
class IViewManager(ILoopsObject, IBaseNode):
""" A manager/container for views.
diff --git a/util.py b/util.py
index 2421daa..8ea2d27 100644
--- a/util.py
+++ b/util.py
@@ -22,22 +22,6 @@ Utility functions.
$Id$
"""
-def moveByDelta(objs, toMove, delta):
- """ Return the list given by objs resorted in a way that the elements
- of toMove (which must be in the objs list) have been moved by delta.
- """
- result = [obj for obj in objs if obj not in toMove]
- if delta < 0:
- objs = list(reversed(objs))
- result.reverse()
- toMove = sorted(toMove, lambda x,y: cmp(objs.index(x), objs.index(y)))
- for element in toMove:
- newPos = min(len(result), objs.index(element) + abs(delta))
- result.insert(newPos, element)
- if delta < 0:
- result.reverse()
- return result
-
def nl2br(text):
if not text: return text
if '\n' in text: # Unix or DOS line endings
diff --git a/view.py b/view.py
index bf84501..3192ec8 100644
--- a/view.py
+++ b/view.py
@@ -39,7 +39,6 @@ from cybertools.relation.registry import IRelationsRegistry, getRelations
from interfaces import IView, INode, INodeConfigSchema
from interfaces import IViewManager, INodeContained
from interfaces import ILoopsContained
-from util import moveByDelta
class View(object):
@@ -134,9 +133,6 @@ class Node(View, OrderedContainer):
def getTextItems(self):
return self.getChildNodes(['text'])
- def moveSubNodesByDelta(self, names, delta):
- self.updateOrder(moveByDelta(self.keys(), names, delta))
-
class ViewManager(OrderedContainer):