diff options
Diffstat (limited to 'src/main/java/org/cristalise/gui/tabs/collection/DependencyView.java')
| -rw-r--r-- | src/main/java/org/cristalise/gui/tabs/collection/DependencyView.java | 73 |
1 files changed, 73 insertions, 0 deletions
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<DependencyMember>
+{
+ TreeBrowser tree;
+ CollectionMemberPropertyPanel propPanel;
+ JSplitPane split;
+
+ public DependencyView()
+ {
+ super();
+ setLayout(new GridLayout(1, 1));
+ createLayout();
+ }
+
+ @Override
+ public void setCollection(Collection<DependencyMember> 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);
+
+ }
+
+}
|
