annotate src/treecms/gui/NodeViewerTree.java @ 9:17ed97ca9960

commit
author shoshi
date Mon, 18 Apr 2011 01:07:27 +0900
parents f96193babac0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
1 package treecms.gui;
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
2
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
3 import javax.swing.JTree;
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
4 import javax.swing.tree.DefaultMutableTreeNode;
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
5 import javax.swing.tree.DefaultTreeModel;
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
6
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
7 import treecms.api.Node;
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
8 import treecms.api.TreeEditor;
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
9
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
10 public class NodeViewerTree extends JTree
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
11 {
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
12 private static final long serialVersionUID = 8257838201307216301L;
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
13
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
14 public NodeViewerTree(Node _node)
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
15 {
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
16 super(new NVTreeModel(_node));
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
17 }
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
18
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
19 public void addChildToSelectedNode(Node _child)
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
20 {
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
21 DefaultMutableTreeNode node = (DefaultMutableTreeNode)this.getLastSelectedPathComponent();
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
22 if(node == null){
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
23 return;
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
24 }
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
25
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
26 DefaultMutableTreeNode newNode = new DefaultMutableTreeNode();
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
27 newNode.setUserObject(_child);
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
28 node.add(newNode);
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
29 }
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
30
9
shoshi
parents: 8
diff changeset
31 static class NVTreeModel extends DefaultTreeModel
8
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
32 {
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
33 public NVTreeModel(Node _node)
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
34 {
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
35 super(new DefaultMutableTreeNode());
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
36 setTree(_node,false);
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
37 }
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
38
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
39 public void setTree(Node _node,boolean _reload)
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
40 {
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
41 DefaultMutableTreeNode root = (DefaultMutableTreeNode)getRoot();
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
42 root.removeAllChildren();
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
43 root.setUserObject(_node);
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
44
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
45 for(Node child : _node.children()){
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
46 treewalk(child,root);
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
47 }
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
48
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
49 if(_reload){
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
50 reload();
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
51 }
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
52 }
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
53
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
54 private void treewalk(Node _node,DefaultMutableTreeNode _treeNode)
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
55 {
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
56 DefaultMutableTreeNode treeChild = new DefaultMutableTreeNode();
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
57 treeChild.setUserObject(_node);
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
58 _treeNode.add(treeChild);
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
59
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
60 for(Node child : _node.children()){
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
61 treewalk(child,treeChild);
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
62 }
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
63 }
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
64 }
f96193babac0 changed byte[] to ByteBuffer
shoshi
parents:
diff changeset
65 }