1 4 package org.terracotta.dso.editors.chooser; 5 6 import org.eclipse.core.resources.IFolder; 7 import org.eclipse.core.resources.IProject; 8 9 import org.dijon.DialogResource; 10 11 import org.terracotta.dso.editors.tree.ProjectFolderNode; 12 import org.terracotta.dso.editors.tree.ProjectFolderRoot; 13 import org.terracotta.dso.editors.tree.ProjectModel; 14 15 import javax.swing.tree.TreePath ; 16 17 public class ProjectFolderNavigator extends ProjectNavigator { 18 public ProjectFolderNavigator(java.awt.Frame frame) { 19 super(frame); 20 } 21 22 public void load(DialogResource dialogRes) { 23 super.load(dialogRes); 24 setTitle("Project Directory Navigator"); 25 } 26 27 protected ProjectModel createModel(IProject project) { 28 return new ProjectModel(new ProjectFolderRoot(project)); 29 } 30 31 protected ProjectFolderNode[] getSelectedFolderNodes() { 32 TreePath [] paths = m_packageTree.getSelectionPaths(); 33 ProjectFolderNode[] nodes = new ProjectFolderNode[paths.length]; 34 35 for(int i = 0; i < paths.length; i++) { 36 nodes[i] = (ProjectFolderNode)paths[i].getLastPathComponent(); 37 } 38 39 return nodes; 40 } 41 42 public IFolder[] getSelectedFolders() { 43 ProjectFolderNode[] nodes = getSelectedFolderNodes(); 44 IFolder[] result; 45 46 if(nodes != null) { 47 result = new IFolder[nodes.length]; 48 49 for(int i = 0; i < result.length; i++) { 50 result[i] = nodes[i].getFolder(); 51 } 52 } 53 else { 54 result = new IFolder[]{}; 55 } 56 57 return result; 58 } 59 60 public IFolder getSelectedFolder() { 61 IFolder[] folders = getSelectedFolders(); 62 return folders != null && folders.length > 0 ? folders[0] : null; 63 } 64 } 65 | Popular Tags |