KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > terracotta > dso > editors > chooser > ProjectNavigator


1 /*
2  * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
3  */

4 package org.terracotta.dso.editors.chooser;
5
6 import org.eclipse.core.resources.IProject;
7 import org.eclipse.core.resources.IResource;
8
9 import org.terracotta.dso.editors.tree.IResourceNode;
10 import org.terracotta.dso.editors.tree.ProjectModel;
11
12 import javax.swing.tree.TreePath JavaDoc;
13
14 public abstract class ProjectNavigator extends BaseProjectNavigator {
15   public ProjectNavigator(java.awt.Frame JavaDoc frame) {
16     super(frame);
17   }
18   
19   protected abstract ProjectModel createModel(IProject project);
20   
21   public void init(IProject project) {
22     m_packageTree.setModel(createModel(project));
23   }
24
25   protected IResourceNode[] getSelectedResourceNodes() {
26     TreePath JavaDoc[] paths = m_packageTree.getSelectionPaths();
27     IResourceNode[] nodes = new IResourceNode[paths.length];
28     
29     for(int i = 0; i < paths.length; i++) {
30       nodes[i] = (IResourceNode)paths[i].getLastPathComponent();
31     }
32     
33     return nodes;
34   }
35   
36   public IResource[] getSelectedMembers() {
37     IResourceNode[] nodes = getSelectedResourceNodes();
38     IResource[] result;
39     
40     if(nodes != null) {
41       result = new IResource[nodes.length];
42       
43       for(int i = 0; i < result.length; i++) {
44         result[i] = nodes[i].getResource();
45       }
46     }
47     else {
48       result = new IResource[]{};
49     }
50     
51     return result;
52   }
53   
54   public IResource getSelectedMember() {
55     IResourceNode[] nodes = getSelectedResourceNodes();
56     return nodes != null && nodes.length > 0 ? nodes[0].getResource() : null;
57   }
58 }
59
Popular Tags