1 14 package org.compiere.model; 15 16 import java.sql.*; 17 import java.text.*; 18 import java.util.*; 19 import javax.swing.*; 20 import javax.swing.tree.*; 21 22 import org.compiere.util.*; 23 24 30 public final class MTreeNode extends DefaultMutableTreeNode 31 { 32 43 public MTreeNode (int node_ID, int seqNo, String name, String description, 44 int parent_ID, boolean isSummary, String imageIndicator, boolean onBar) 45 { 46 super(); 47 m_node_ID = node_ID; 49 m_seqNo = seqNo; 50 m_name = name; 51 m_description = description; 52 if (m_description == null) 53 m_description = ""; 54 m_parent_ID = parent_ID; 55 setSummary(isSummary); 56 setImageIndicator(imageIndicator); 57 m_onBar = onBar; 58 } 60 61 private int m_node_ID; 62 63 private int m_seqNo; 64 65 private String m_name; 66 67 private String m_description; 68 69 private int m_parent_ID; 70 71 private boolean m_isSummary; 72 73 private String m_imageIndicator; 74 75 private int m_imageIndex = 0; 76 77 private boolean m_onBar; 78 79 80 81 public static int TYPE_WINDOW = 1; 82 public static int TYPE_REPORT = 2; 83 public static int TYPE_PROCESS = 3; 84 public static int TYPE_WORKFLOW = 4; 85 public static int TYPE_WORKBENCH = 5; 86 87 88 public static Icon[] IMAGES = new Icon[] 89 { 90 null, 91 Env.getImageIcon("mWindow.gif"), 92 Env.getImageIcon("mReport.gif"), 93 Env.getImageIcon("mProcess.gif"), 94 Env.getImageIcon("mWorkFlow.gif"), 95 Env.getImageIcon("mWorkbench.gif") 96 }; 97 98 99 100 104 public int getID() 105 { 106 return m_node_ID; 107 } 109 113 public void setName (String name) 114 { 115 if (name == null) 116 m_name = ""; 117 else 118 m_name = name; 119 } 121 125 public String getName() 126 { 127 return m_name; 128 } 130 134 public String getSeqNo() 135 { 136 String retValue = "0000" + m_seqNo; if (m_seqNo > 99999) 138 Log.error("MTreeNode.getIndex - TreeNode Index is higher than 99999"); 139 if (retValue.length() > 5) 140 retValue = retValue.substring(retValue.length()-5); return retValue; 142 } 144 148 public int getParent_ID() 149 { 150 return m_parent_ID; 151 } 153 157 public String toString() 158 { 159 return m_name; 161 } 163 167 public String getDescription() 168 { 169 return m_description; 170 } 172 173 174 178 public void setSummary (boolean isSummary) 179 { 180 m_isSummary = isSummary; 181 super.setAllowsChildren(isSummary); 182 } 184 188 public void setAllowsChildren (boolean isSummary) 189 { 190 super.setAllowsChildren (isSummary); 191 m_isSummary = isSummary; 192 } 194 198 public boolean isSummary() 199 { 200 return m_isSummary; 201 } 203 219 220 225 public static int getImageIndex (String imageIndicator) 226 { 227 int imageIndex = 0; 228 if (imageIndicator == null) 229 ; 230 else if (imageIndicator.equals("W") || imageIndicator.equals("X")) imageIndex = TYPE_WINDOW; 233 else if (imageIndicator.equals("R")) imageIndex = TYPE_REPORT; 235 else if (imageIndicator.equals("P")) imageIndex = TYPE_PROCESS; 237 else if (imageIndicator.equals("F")) imageIndex = TYPE_WORKFLOW; 239 else if (imageIndicator.equals("T")) ; 241 else if (imageIndicator.equals("B")) imageIndex = TYPE_WORKBENCH; 243 return imageIndex; 244 } 246 250 public void setImageIndicator (String imageIndicator) 251 { 252 if (imageIndicator != null) 253 { 254 m_imageIndicator = imageIndicator; 255 m_imageIndex = getImageIndex(m_imageIndicator); 256 } 257 } 259 263 public String getImageIndiactor() 264 { 265 return m_imageIndicator; 266 } 268 273 public static Icon getIcon (int index) 274 { 275 if (index == 0 || IMAGES == null || index > IMAGES.length) 276 return null; 277 return IMAGES[index]; 278 } 280 284 public Icon getIcon() 285 { 286 return getIcon(m_imageIndex); 287 } 289 293 public boolean isOnBar() 294 { 295 return m_onBar; 296 } 298 299 300 301 private int m_lastID = -1; 302 303 private MTreeNode m_lastNode = null; 304 305 310 public MTreeNode findNode (int ID) 311 { 312 if (m_node_ID == ID) 313 return this; 314 if (ID == m_lastID && m_lastNode != null) 316 return m_lastNode; 317 Enumeration en = preorderEnumeration(); 319 while (en.hasMoreElements()) 320 { 321 MTreeNode nd = (MTreeNode)en.nextElement(); 322 if (ID == nd.getID()) 323 { 324 m_lastID = ID; 325 m_lastNode = nd; 326 return nd; 327 } 328 } 329 return null; 330 } 332 } | Popular Tags |