summaryrefslogtreecommitdiff
path: root/src/main/java/com/c2kernel/gui/tabs/collection/DependencyView.java
diff options
context:
space:
mode:
authorAndrew Branson <andrew.branson@cern.ch>2012-08-03 14:03:59 +0200
committerAndrew Branson <andrew.branson@cern.ch>2012-08-03 14:03:59 +0200
commite4ccc012a781d794c06b8d3fd27e0a1f532b3fe7 (patch)
tree7f96e165b1583b75c39221ee59d15e2d3f160650 /src/main/java/com/c2kernel/gui/tabs/collection/DependencyView.java
parent8c272e0261686302e86849ad86ae8fa393d9e95e (diff)
Menu item on collection members in the tree to remove them.
Drag items onto dependencies to add them. Dependency view Logging cleanup Fixes #42
Diffstat (limited to 'src/main/java/com/c2kernel/gui/tabs/collection/DependencyView.java')
-rw-r--r--src/main/java/com/c2kernel/gui/tabs/collection/DependencyView.java48
1 files changed, 42 insertions, 6 deletions
diff --git a/src/main/java/com/c2kernel/gui/tabs/collection/DependencyView.java b/src/main/java/com/c2kernel/gui/tabs/collection/DependencyView.java
index e068bdc..cd46a3d 100644
--- a/src/main/java/com/c2kernel/gui/tabs/collection/DependencyView.java
+++ b/src/main/java/com/c2kernel/gui/tabs/collection/DependencyView.java
@@ -1,22 +1,32 @@
package com.c2kernel.gui.tabs.collection;
import java.awt.GridLayout;
-import javax.swing.JLabel;
+import javax.swing.JSplitPane;
+import javax.swing.event.TreeSelectionEvent;
+import javax.swing.event.TreeSelectionListener;
+import javax.swing.tree.DefaultMutableTreeNode;
import com.c2kernel.collection.Collection;
import com.c2kernel.collection.DependencyMember;
+import com.c2kernel.common.ObjectNotFoundException;
+import com.c2kernel.gui.TreeBrowser;
+import com.c2kernel.gui.tree.Node;
+import com.c2kernel.gui.tree.NodeCollection;
+import com.c2kernel.gui.tree.NodeItem;
/**
* @version $Revision: 1.2 $ $Date: 2005/06/02 12:17:22 $
* @author $Author: abranson $
*/
public class DependencyView extends CollectionView<DependencyMember>
{
- // Objects to view/modify the properties of the selected activity
-
+ TreeBrowser tree;
+ CollectionMemberPropertyPanel propPanel;
+ JSplitPane split;
+
public DependencyView()
{
super();
- setLayout(new GridLayout(1,1));
+ setLayout(new GridLayout(1, 1));
createLayout();
}
@@ -24,11 +34,37 @@ public class DependencyView extends CollectionView<DependencyMember>
public void setCollection(Collection<DependencyMember> contents)
{
thisColl = contents;
+ NodeCollection collNode = new NodeCollection(item, thisColl.getName(), null);
+ tree = new TreeBrowser(null, collNode);
+ tree.getTree().addTreeSelectionListener(new TreeSelectionListener() {
+ 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()
{
- // TODO: design a nice dependency view, with property viewing and modification
- add(new JLabel("Dependency view not yet implemented. Please browse the tree instead."));
+ propPanel = new CollectionMemberPropertyPanel();
+ split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
+ split.setRightComponent(propPanel);
+ add(split);
+
}
}