1 33 34 package com.icesoft.icefaces.samples.showcase.components.tree; 35 36 import com.icesoft.faces.component.tree.IceUserObject; 37 38 import javax.faces.context.FacesContext; 39 import javax.faces.event.ActionEvent; 40 import javax.swing.tree.DefaultMutableTreeNode ; 41 import java.util.Locale ; 42 import java.util.MissingResourceException ; 43 import java.util.ResourceBundle ; 44 45 58 public class NodeUserObject extends IceUserObject { 59 60 private TreeBean treeBean; 62 63 private static String nodeToolTip; 65 66 private Integer componentType = new Integer (1); 68 69 private String label; 71 72 private String value; 74 75 76 79 static { 80 Locale locale = 81 FacesContext.getCurrentInstance().getViewRoot().getLocale(); 82 if (locale == null) { 84 locale = Locale.ENGLISH; 85 } 86 ResourceBundle messages = ResourceBundle.getBundle( 87 "com.icesoft.icefaces.samples.showcase.resources.messages", 88 locale); 89 90 try { 92 if (messages != null) { 93 nodeToolTip = 94 messages.getString("components.tree.node.tooltip"); 95 } 96 } catch (MissingResourceException e) { 97 } 99 } 100 101 108 public NodeUserObject(DefaultMutableTreeNode wrapper, 109 TreeBean treeBeanPointer) { 110 super(wrapper); 111 112 treeBean = treeBeanPointer; 113 label = generateLabel(); 114 value = generateValues(); 115 116 setLeafIcon("xmlhttp/css/xp/css-images/tree_document.gif"); 117 setBranchContractedIcon( 118 "xmlhttp/css/xp/css-images/tree_folder_close.gif"); 119 setBranchExpandedIcon("xmlhttp/css/xp/css-images/tree_folder_open.gif"); 120 setText(label); 121 setTooltip(nodeToolTip); 122 setExpanded(true); 123 } 124 125 130 private String generateLabel() { 131 return "Node " + treeBean.getIncreasedLabelCount(); 132 } 133 134 140 public boolean isRootNode() { 141 return getWrapper().isRoot(); 142 } 143 144 149 public void deleteNode(ActionEvent event) { 150 ((DefaultMutableTreeNode ) getWrapper().getParent()) 151 .remove(getWrapper()); 152 } 153 154 159 public NodeUserObject copyNode() { 160 DefaultMutableTreeNode clonedWrapper = new DefaultMutableTreeNode (); 161 NodeUserObject clonedUserObject = 162 new NodeUserObject(clonedWrapper, treeBean); 163 NodeUserObject originalUserObject = 164 (NodeUserObject) getWrapper().getUserObject(); 165 clonedUserObject.setAction(originalUserObject.getAction()); 166 clonedUserObject.setBranchContractedIcon( 167 originalUserObject.getBranchContractedIcon()); 168 clonedUserObject.setBranchExpandedIcon( 169 originalUserObject.getBranchExpandedIcon()); 170 clonedUserObject.setExpanded(originalUserObject.isExpanded()); 171 clonedUserObject.setLeafIcon(originalUserObject.getLeafIcon()); 172 clonedUserObject.setTooltip(nodeToolTip); 173 clonedWrapper.setUserObject(clonedUserObject); 174 getWrapper().insert(clonedWrapper, 0); 175 176 return clonedUserObject; 177 } 178 179 184 public String getLabel() { 185 return label; 186 } 187 188 194 public void nodeClicked(ActionEvent event) { 195 treeBean.setSelectedNode(this.label); 196 treeBean.setSelectedNodeObject(this); 197 198 } 199 200 205 public Integer getComponentType() { 206 return componentType; 207 } 208 209 214 public void setComponentType(Integer componentType) { 215 this.componentType = componentType; 216 } 217 218 223 public String getValue() 224 { 225 return value; 226 } 227 228 233 public void setValue(String value) 234 { 235 this.value = value; 236 } 237 238 244 public String generateValues() 245 { 246 return "label"; 247 } 248 249 250 } | Popular Tags |