/**
*
*/
package org.concord.otrunk.view;
import javax.swing.JComponent;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.TreeSelectionModel;
import org.concord.framework.otrunk.OTObject;
import org.concord.framework.otrunk.view.AbstractOTView;
import org.concord.framework.otrunk.view.OTJComponentView;
import org.concord.framework.otrunk.view.OTViewContainer;
import org.concord.framework.otrunk.view.OTViewContainerAware;
import org.concord.view.SimpleTreeModel;
/**
* OTFolderObjectView
* View for OTFolderObject
*
* Date created: Feb 16, 2007
*
* @author sfentress
*
*/
public class OTFolderObjectView extends AbstractOTView
implements OTJComponentView, OTViewContainerAware,
TreeSelectionListener {
protected OTFolderObject otFolderObject;
protected JTree tree;
protected SimpleTreeModel treeModel;
// private JScrollPane folderViewPane;
// private JEditorPane folderView;
protected OTViewContainer viewContainer;
/*
* (non-Javadoc)
*
* @see org.concord.framework.otrunk.view.OTJComponentView#getComponent(org.concord.framework.otrunk.OTObject,
* boolean)
*/
public JComponent getComponent(OTObject otObject) {
otFolderObject = (OTFolderObject) otObject;
treeModel = new SimpleTreeModel();
updateTreePane();
return tree;
}
protected void updateTreePane() {
treeModel.setRoot(new OTFolderNode((OTFolder) otFolderObject));
tree = new JTree(treeModel);
tree.setEditable(false);
tree.addTreeSelectionListener(this);
tree.getSelectionModel().setSelectionMode(
TreeSelectionModel.SINGLE_TREE_SELECTION);
}
/*
* (non-Javadoc)
*
* @see org.concord.framework.otrunk.view.OTJComponentView#viewClosed()
*/
public void viewClosed() {
// TODO Auto-generated method stub
}
public void setViewContainer(OTViewContainer container) {
viewContainer = container;
}
public void valueChanged(TreeSelectionEvent e) {
OTFolderNode node = (OTFolderNode) tree.getLastSelectedPathComponent();
if (node == null)
return;
OTObject linkObj = (OTObject) node.getObject();
if (!(linkObj instanceof OTFolderObject)){
viewContainer.setCurrentObject(linkObj);
}
}
}