From 5e4034b5cba89460a62fa958fc78c2b85acb3d5f Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 7 Oct 2014 09:18:33 +0200 Subject: Repackage to org.cristalise --- .../gui/tabs/collection/DependencyView.java | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/main/java/org/cristalise/gui/tabs/collection/DependencyView.java (limited to 'src/main/java/org/cristalise/gui/tabs/collection/DependencyView.java') diff --git a/src/main/java/org/cristalise/gui/tabs/collection/DependencyView.java b/src/main/java/org/cristalise/gui/tabs/collection/DependencyView.java new file mode 100644 index 0000000..543d3aa --- /dev/null +++ b/src/main/java/org/cristalise/gui/tabs/collection/DependencyView.java @@ -0,0 +1,73 @@ +package org.cristalise.gui.tabs.collection; +import java.awt.GridLayout; + +import javax.swing.JSplitPane; +import javax.swing.event.TreeSelectionEvent; +import javax.swing.event.TreeSelectionListener; +import javax.swing.tree.DefaultMutableTreeNode; + +import org.cristalise.gui.MainFrame; +import org.cristalise.gui.TreeBrowser; +import org.cristalise.gui.tree.Node; +import org.cristalise.gui.tree.NodeCollection; +import org.cristalise.gui.tree.NodeItem; +import org.cristalise.kernel.collection.Collection; +import org.cristalise.kernel.collection.DependencyMember; +import org.cristalise.kernel.common.ObjectNotFoundException; + +/** + * @version $Revision: 1.2 $ $Date: 2005/06/02 12:17:22 $ + * @author $Author: abranson $ + */ +public class DependencyView extends CollectionView +{ + TreeBrowser tree; + CollectionMemberPropertyPanel propPanel; + JSplitPane split; + + public DependencyView() + { + super(); + setLayout(new GridLayout(1, 1)); + createLayout(); + } + + @Override + public void setCollection(Collection contents) + { + thisColl = contents; + NodeCollection collNode = new NodeCollection(item, thisColl.getName(), null); + tree = new TreeBrowser(MainFrame.myDesktopManager, collNode); + tree.getTree().addTreeSelectionListener(new TreeSelectionListener() { + @Override + public void valueChanged(TreeSelectionEvent e) { + if (e.getPath() == null) { + propPanel.clear(); + } + else { + Node selectedNode = (Node)((DefaultMutableTreeNode)e.getPath().getLastPathComponent()).getUserObject(); + if (selectedNode instanceof NodeItem) { + NodeItem thisItem = (NodeItem)selectedNode; + if (thisItem.getParentCollection() != null) { + try { + propPanel.setMember(thisItem.getParentCollection().getMember(thisItem.getSlotNo())); + return; + } catch (ObjectNotFoundException e1) { } + } + propPanel.clear(); + } + } + } + }); + split.setLeftComponent(tree); + } + public void createLayout() + { + propPanel = new CollectionMemberPropertyPanel(); + split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); + split.setRightComponent(propPanel); + add(split); + + } + +} -- cgit v1.2.3