// $Id: AtomicGraphConstraintTreeNodeData.java,v 1.4 2010/08/24 21:35:50 olga Exp $
package agg.gui.treeview.nodedata;
import javax.swing.tree.DefaultMutableTreeNode;
import agg.editor.impl.EdAtomic;
/**
* The AtomicGraphConstraintTreeNodeData implements an user object of a tree node in the
* GraGraTreeModel.
*
* @author $Author: olga $
* @version $AtomicGraphConstraintTreeNodeData.java,v 1.1 2008/10/29 09:04:10 olga Exp $
*/
public class AtomicGraphConstraintTreeNodeData extends GraGraTreeNodeDataAdapter {
private Object data;
private EdAtomic eAtomic;
// private EdAtomic firstConclusion;
/** Value to display. */
private String string = "";
/** My tree node in a tree */
private DefaultMutableTreeNode treeNode;
public AtomicGraphConstraintTreeNodeData(final EdAtomic a) {
setAtomic(a);
}
private void setAtomic(final EdAtomic a) {
// if (a.isParent()) {
// firstConclusion = a.getConclusion(0);
// }
this.data = a;
this.string = a.getBasisAtomic().getAtomicName();
this.eAtomic = a;
}
public AtomicGraphConstraintTreeNodeData(final String s) {
this.data = s;
this.string = s;
}
public AtomicGraphConstraintTreeNodeData(final Object obj) {
if (obj instanceof EdAtomic)
setAtomic((EdAtomic) obj);
else if (obj instanceof String)
new AtomicGraphConstraintTreeNodeData((String) obj);
}
public void dispose() {
this.data = null;
this.eAtomic = null;
this.string = null;
this.treeNode = null;
}
/* Set this.data object of this tree node data */
public void setData(final Object obj) {
if (obj instanceof EdAtomic)
setAtomic((EdAtomic) obj);
else if (obj instanceof String)
this.string = (String) obj;
else {
this.data = null;
this.eAtomic = 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;
if (!this.eAtomic.getBasisAtomic().getAtomicName().equals(newString)) {
this.eAtomic.getBasisAtomic().setAtomicName(newString);
for (int i = 0; i < this.eAtomic.getConclusions().size(); i++) {
this.eAtomic.getConclusions().elementAt(i).getBasisAtomic()
.setAtomicName(newString);
}
this.eAtomic.getGraGra().setChanged(true);
}
}
/**
* Returns the string to display for this object.
*/
public String string() {
return this.string;
}
public String toString() {
return this.string();
}
public EdAtomic getAtomic() {
return this.eAtomic;
}
public void setTreeNode(DefaultMutableTreeNode node) {
this.treeNode = node;
}
public DefaultMutableTreeNode getTreeNode() {
return this.treeNode;
}
/* (non-Javadoc)
* @see agg.gui.treeview.GraGraTreeNodeData#isAtomic()
*/
public boolean isAtomic() {
return true;
}
public String getToolTipText() {
String toolTipText = " Atomic graph constraint ";
if (!this.eAtomic.getBasisAtomic().getTextualComment().equals(""))
toolTipText = " "+ this.eAtomic.getBasisAtomic().getTextualComment();
return toolTipText;
}
}