// $Id: ConstraintTreeNodeData.java,v 1.3 2010/08/24 21:35:50 olga Exp $ package agg.gui.treeview.nodedata; import javax.swing.tree.DefaultMutableTreeNode; import java.util.Vector; import agg.editor.impl.EdConstraint; /** * The ConstraintTreeNodeData implements an user object of a tree node in the * GraGraTreeModel. * * @author $Author: olga $ * @version $Id: ConstraintTreeNodeData.java,v 1.3 2010/08/24 21:35:50 olga Exp $ */ public class ConstraintTreeNodeData extends GraGraTreeNodeDataAdapter { private Object data; private EdConstraint eConstraint; /** Value to display. */ private String string = ""; /** My tree node in a tree */ private DefaultMutableTreeNode treeNode; public ConstraintTreeNodeData(final EdConstraint c) { setConstraint(c); } private void setConstraint(final EdConstraint c) { this.data = c; if (!c.getBasisConstraint().isEnabled()) this.string = "[D]" + c.getBasisConstraint().getName(); else this.string = c.getName(); this.eConstraint = c; } public ConstraintTreeNodeData(final String s) { this.data = s; this.string = s; } public ConstraintTreeNodeData(final Object obj) { if (obj instanceof EdConstraint) setConstraint((EdConstraint) obj); else if (obj instanceof String) new ConstraintTreeNodeData((String) obj); } public void dispose() { this.data = null; this.eConstraint = null; this.string = null; this.treeNode = null; } /* Set this.data object of this tree node this.data */ public void setData(final Object obj) { if (obj instanceof EdConstraint) setConstraint((EdConstraint) obj); else if (obj instanceof String) { this.string = (String) obj; this.data = obj; } else { this.data = null; this.eConstraint = null; this.string = null; } } public Object getData() { return this.data; } /** * Sets the string to display for this object. */ public void setString(String str) { if (str == null) { return; } String newString = str.replaceAll(" ", ""); this.string = newString; String s = newString; String sD = ""; if (!this.eConstraint.getBasisConstraint().isEnabled()) sD = "[D]"; if (newString.indexOf("[D]") != -1) newString = newString.substring(3, newString.length()); if ((newString.indexOf("[") == 0) && (newString.indexOf("]") != -1)) s = newString.substring(newString.indexOf("]") + 1, (newString .length())); String sL = ""; Vector<Integer> layer = this.eConstraint.getBasisConstraint().getLayer(); if (this.eConstraint.getGraGra().getBasisGraGra().isLayered() && !layer.isEmpty()) { sL = "["; for (int k = 0; k < layer.size(); k++) { int l = layer.get(k).intValue(); sL = sL + String.valueOf(l); if (k < layer.size() - 1) sL = sL + ","; } sL = sL + "]"; } if (!this.eConstraint.getName().equals(s)) { this.eConstraint.setName(s); this.eConstraint.getGraGra().setChanged(true); } this.string = sD + sL + s; } public void setString(String tag, String newString) { if (tag.equals("[]")) tag = ""; this.string = tag + newString; if (!this.eConstraint.getBasisConstraint().getName() .equals(newString)) { this.eConstraint.getBasisConstraint().setName(newString); this.eConstraint.getGraGra().setChanged(true); } } public void setString(String tag, String tag1, String newString) { if (tag.equals("[]")) tag = ""; if (tag1.equals("[]")) tag1 = ""; this.string = tag + tag1 + newString; if (!this.eConstraint.getBasisConstraint().getName().equals(newString)) this.eConstraint.getGraGra().setChanged(true); this.eConstraint.getBasisConstraint().setName(newString); } /** * Returns the this.string to display for this object. */ public String string() { return this.string; } public String toString() { return this.string(); } public EdConstraint getConstraint() { return this.eConstraint; } public void setTreeNode(DefaultMutableTreeNode node) { this.treeNode = node; } public DefaultMutableTreeNode getTreeNode() { return this.treeNode; } /* (non-Javadoc) * @see agg.gui.treeview.GraGraTreeNodeData#isConstraint() */ public boolean isConstraint() { return true; } public String getToolTipText() { String toolTipText = "Graph constraint : " + this.eConstraint.getAsString() + " "; if (!this.eConstraint.getBasisConstraint().getTextualComment().equals("")) toolTipText = " "+ this.eConstraint.getBasisConstraint().getTextualComment(); return toolTipText; } }