Mercurial > p > roundup > code
annotate ZTUtils/SimpleTree.py @ 1042:adcfdeac4e76
not sure how useful this is...
| author | Richard Jones <richard@users.sourceforge.net> |
|---|---|
| date | Wed, 04 Sep 2002 04:47:28 +0000 |
| parents | 7fe79c67aaa9 |
| children |
| rev | line source |
|---|---|
|
983
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
1 ############################################################################## |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
2 # |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
3 # Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved. |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
4 # |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
5 # This software is subject to the provisions of the Zope Public License, |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
6 # Version 2.0 (ZPL). A copy of the ZPL should accompany this distribution. |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
10 # FOR A PARTICULAR PURPOSE |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
11 # |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
12 ############################################################################## |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
13 __doc__='''Simple Tree classes |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
14 |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
15 $Id: SimpleTree.py,v 1.1 2002-08-30 08:25:34 richard Exp $''' |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
16 __version__='$Revision: 1.1 $'[11:-2] |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
17 |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
18 from Tree import TreeMaker, TreeNode, b2a |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
19 |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
20 class SimpleTreeNode(TreeNode): |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
21 def branch(self): |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
22 if self.state == 0: |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
23 return {'link': None, 'img': ' '} |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
24 |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
25 if self.state < 0: |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
26 setst = 'expand' |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
27 exnum = self.aq_parent.expansion_number |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
28 img = 'pl' |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
29 else: |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
30 setst = 'collapse' |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
31 exnum = self.expansion_number |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
32 img = 'mi' |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
33 |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
34 base = self.aq_acquire('baseURL') |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
35 obid = self.id |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
36 pre = self.aq_acquire('tree_pre') |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
37 |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
38 return {'link': '?%s-setstate=%s,%s,%s#%s' % (pre, setst[0], |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
39 exnum, obid, obid), |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
40 'img': '<img src="%s/p_/%s" alt="%s" border="0">' % (base, img, setst)} |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
41 |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
42 |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
43 class SimpleTreeMaker(TreeMaker): |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
44 '''Generate Simple Trees''' |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
45 |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
46 def __init__(self, tree_pre="tree"): |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
47 self.tree_pre = tree_pre |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
48 |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
49 def node(self, object): |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
50 node = SimpleTreeNode() |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
51 node.object = object |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
52 node.id = b2a(self.getId(object)) |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
53 return node |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
54 |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
55 def markRoot(self, node): |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
56 node.tree_pre = self.tree_pre |
|
7fe79c67aaa9
Adding ZTUtils to the dist
Richard Jones <richard@users.sourceforge.net>
parents:
diff
changeset
|
57 node.baseURL = node.object.REQUEST['BASEPATH1'] |
