01: /*
02: Copyright (c) 2003 eInnovation Inc. All rights reserved
03:
04: This library is free software; you can redistribute it and/or modify it under the terms
05: of the GNU Lesser General Public License as published by the Free Software Foundation;
06: either version 2.1 of the License, or (at your option) any later version.
07:
08: This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
09: without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10: See the GNU Lesser General Public License for more details.
11: */
12:
13: /*
14: * Created on May 29, 2003
15: *
16: * Render a JavaScript representation of the web tree.
17: */
18: package com.openedit.webui.tree;
19:
20: import java.util.Iterator;
21: import java.util.List;
22:
23: /**
24: * DOCUMENT ME!
25: *
26: * @author Matt Avery
27: */
28: public class WebTreeNodeTreeRenderer extends HtmlTreeRenderer {
29: protected boolean fieldFriendlyNames = false;
30:
31: public WebTreeNodeTreeRenderer(WebTree inWebTree) {
32: super (inWebTree);
33: }
34:
35: public boolean isFriendlyNames() {
36: return fieldFriendlyNames;
37: }
38:
39: public void setFriendlyNames(boolean inFriendlyNames) {
40: fieldFriendlyNames = inFriendlyNames;
41: }
42:
43: /* (non-javadoc)
44: * @see com.openedit.webui.tree.BaseTreeRenderer#toName(java.lang.Object)
45: */
46: public String toName(Object inNode) {
47: DefaultWebTreeNode node = (DefaultWebTreeNode) inNode;
48: String name = node.getName();
49: if (isFriendlyNames()) {
50: name = name.replace('_', ' ');
51: name = name.substring(0, 1).toUpperCase()
52: + name.substring(1);
53:
54: int p = name.lastIndexOf('.');
55: if (p > 0) {
56: name = name.substring(0, p);
57: }
58: }
59: return name;
60: }
61:
62: protected String customIconSet(Object inNode) {
63: DefaultWebTreeNode node = (DefaultWebTreeNode) inNode;
64: return node.getIconSet();
65: }
66:
67: public String toUrl(Object inNode) {
68: DefaultWebTreeNode node = (DefaultWebTreeNode) inNode;
69:
70: return node.getURL();
71: }
72:
73: /* (non-javadoc)
74: * @see com.openedit.webui.tree.BaseTreeRenderer#toId(java.lang.Object)
75: */
76: public String toId(Object inNode) {
77: DefaultWebTreeNode node = (DefaultWebTreeNode) inNode;
78:
79: return node.getID();
80: }
81:
82: public void expandAll(Object inRoot) {
83: expandNode(inRoot);
84: List children = getWebTree().getModel().getChildren(inRoot);
85: for (Iterator iterator = children.iterator(); iterator
86: .hasNext();) {
87: Object object = (Object) iterator.next();
88: expandAll(object);
89: }
90: }
91:
92: }
|