1 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 ; 13 14 public abstract class ProjectNavigator extends BaseProjectNavigator { 15 public ProjectNavigator(java.awt.Frame 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 [] 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 |