/* Copyright (c) 2003 eInnovation Inc. All rights reserved This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. */ /* * Created on May 29, 2003 * * Render a JavaScript representation of the web tree. */ package com.openedit.webui.tree; import java.util.Iterator; import java.util.List; /** * DOCUMENT ME! * * @author Matt Avery */ public class WebTreeNodeTreeRenderer extends HtmlTreeRenderer { protected boolean fieldFriendlyNames = false; public WebTreeNodeTreeRenderer(WebTree inWebTree) { super( inWebTree ); } public boolean isFriendlyNames() { return fieldFriendlyNames; } public void setFriendlyNames(boolean inFriendlyNames) { fieldFriendlyNames = inFriendlyNames; } /* (non-javadoc) * @see com.openedit.webui.tree.BaseTreeRenderer#toName(java.lang.Object) */ public String toName(Object inNode) { DefaultWebTreeNode node = (DefaultWebTreeNode)inNode; String name = node.getName(); if( isFriendlyNames()) { name = name.replace('_', ' '); name = name.substring(0,1).toUpperCase() + name.substring(1); int p = name.lastIndexOf('.'); if ( p > 0 ) { name = name.substring(0,p); } } return name; } protected String customIconSet(Object inNode) { DefaultWebTreeNode node = (DefaultWebTreeNode)inNode; return node.getIconSet(); } public String toUrl(Object inNode) { DefaultWebTreeNode node = (DefaultWebTreeNode)inNode; return node.getURL(); } /* (non-javadoc) * @see com.openedit.webui.tree.BaseTreeRenderer#toId(java.lang.Object) */ public String toId(Object inNode) { DefaultWebTreeNode node = (DefaultWebTreeNode)inNode; return node.getId(); } public void expandAll(Object inRoot) { expandNode(inRoot); List children = getWebTree().getModel().getChildren(inRoot); for (Iterator iterator = children.iterator(); iterator.hasNext();) { Object object = (Object) iterator.next(); expandAll(object); } } }