forked from LupusNobilis/java-org.hwo.ui
84 lines
1.7 KiB
Java
84 lines
1.7 KiB
Java
package org.hwo.ui.treetable;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.LinkedList;
|
|
import java.util.List;
|
|
|
|
public class DefaultTreeTableModel implements TreeTableModel {
|
|
|
|
private TreeTableElement rootNode;
|
|
private List<TreeTableModelListener> treeTableModelListener;
|
|
|
|
public DefaultTreeTableModel()
|
|
{
|
|
treeTableModelListener = new LinkedList<TreeTableModelListener>();
|
|
}
|
|
|
|
@Override
|
|
public Object getParent(Object node) {
|
|
return ((TreeTableElement)node).getParent();
|
|
}
|
|
|
|
@Override
|
|
public int getChildCount(Object parent) {
|
|
return ((TreeTableElement)parent).getChildCount();
|
|
}
|
|
|
|
@Override
|
|
public Object getChild(Object parent, int index) {
|
|
return ((TreeTableElement)parent).getChild(index);
|
|
}
|
|
|
|
@Override
|
|
public Object getRoot() {
|
|
return getRootNode();
|
|
}
|
|
|
|
|
|
@Override
|
|
public boolean isLeaf(Object node) {
|
|
if (((TreeTableElement)node).getChildCount()==0)
|
|
return true;
|
|
else
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public Object getValue(Object node, int column) {
|
|
return ((TreeTableElement)node).getValue(column);
|
|
}
|
|
|
|
|
|
public TreeTableElement getRootNode() {
|
|
return rootNode;
|
|
}
|
|
|
|
public void setRootNode(TreeTableElement rootNode) {
|
|
this.rootNode = rootNode;
|
|
fireRowsChanged();
|
|
}
|
|
|
|
@Override
|
|
public TreeTableColumnModel getDefaultColumnModel() {
|
|
return new DefaultTreeTableColumnModel();
|
|
}
|
|
|
|
@Override
|
|
public void addTreeTableModelListener(TreeTableModelListener listener) {
|
|
treeTableModelListener.add(listener);
|
|
}
|
|
|
|
@Override
|
|
public void removeTreeTableModelListener(TreeTableModelListener listener) {
|
|
treeTableModelListener.remove(listener);
|
|
}
|
|
|
|
private void fireRowsChanged()
|
|
{
|
|
for (TreeTableModelListener listener:treeTableModelListener)
|
|
listener.rowsChanged();
|
|
}
|
|
|
|
|
|
}
|