/**
* SlingBeans - NetBeans Sling plugin
* https://github.com/jkan997/SlingBeans
* Licensed under Apache 2.0 license
* http://www.apache.org/licenses/LICENSE-2.0
*/
package org.jkan997.slingbeans.dialogs;
import org.jkan997.slingbeans.slingfs.FileObject;
import javax.swing.event.TreeModelListener;
import javax.swing.tree.TreePath;
/**
*
* @author jkan997
*/
public class TreeModel implements javax.swing.tree.TreeModel{
private FileObject root;
public void setRoot(FileObject root) {
this.root = root;
}
@Override
public Object getRoot() {
return root;
}
@Override
public Object getChild(Object parent, int index) {
FileObject fo = (FileObject)parent;
return fo.getChildren()[index];
}
@Override
public int getChildCount(Object parent) {
FileObject fo = (FileObject)parent;
return fo.getChildren().length;
}
@Override
public boolean isLeaf(Object node) {
FileObject fo = (FileObject)node;
return (fo.getChildren().length==0);
}
@Override
public void valueForPathChanged(TreePath path, Object newValue) {
//throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public int getIndexOfChild(Object parent, Object child) {
FileObject[] children = ((FileObject)parent).getChildren();
for (int i = 0;i<children.length; i++){
FileObject cFo = children[i];
if (cFo.equals(child)){
return i;
}
}
return -1;
}
@Override
public void addTreeModelListener(TreeModelListener l) {
}
@Override
public void removeTreeModelListener(TreeModelListener l) {
}
}