[Pydev-cvs] org.python.pydev/src/org/python/pydev/navigator WrappedResource.java, 1.3, 1.4 PythonSo
Brought to you by:
fabioz
From: Fabio Z. <fa...@us...> - 2006-12-04 23:10:11
|
Update of /cvsroot/pydev/org.python.pydev/src/org/python/pydev/navigator In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17534/src/org/python/pydev/navigator Modified Files: WrappedResource.java PythonSourceFolder.java PythonModelProvider.java PythonBaseModelProvider.java Log Message: Changes mostly for the package explorer / minor bugs. Index: PythonModelProvider.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/navigator/PythonModelProvider.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** PythonModelProvider.java 30 Oct 2006 14:14:46 -0000 1.8 --- PythonModelProvider.java 4 Dec 2006 23:10:02 -0000 1.9 *************** *** 76,83 **** --- 76,85 ---- if (parent instanceof IContainer) { Object pythonParent = getResourceInPythonModel((IResource) parent, true); + if (pythonParent instanceof IWrappedResource) { IWrappedResource parentResource = (IWrappedResource) pythonParent; modification.setParent(parentResource); wrapChildren((IResource) parentResource, parentResource.getSourceFolder(), modification.getChildren(), isAdd); + }else if(pythonParent == null){ //this may happen when a source folder is added Index: PythonSourceFolder.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/navigator/PythonSourceFolder.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** PythonSourceFolder.java 29 Oct 2006 18:07:58 -0000 1.9 --- PythonSourceFolder.java 4 Dec 2006 23:10:02 -0000 1.10 *************** *** 44,48 **** this.parentElement = parentElement; this.folder = folder; ! //System.out.println("Created PythonSourceFolder:"+this+" - "+folder+" parent:"+parentElement); } --- 44,48 ---- this.parentElement = parentElement; this.folder = folder; ! System.out.println("Created PythonSourceFolder:"+this+" - "+folder+" parent:"+parentElement); } *************** *** 113,120 **** public boolean equals(Object other) { if(other instanceof PythonSourceFolder){ ! return this == other; } return folder.equals(other); } public void accept(IResourceProxyVisitor visitor, int memberFlags) throws CoreException { folder.accept(visitor, memberFlags); --- 113,130 ---- public boolean equals(Object other) { if(other instanceof PythonSourceFolder){ ! if(other == this){ ! return true; ! } ! PythonSourceFolder f = (PythonSourceFolder) other; ! return this.folder.equals(f.folder); } return folder.equals(other); } + + @Override + public int hashCode() { + return folder.hashCode(); + } + public void accept(IResourceProxyVisitor visitor, int memberFlags) throws CoreException { folder.accept(visitor, memberFlags); Index: PythonBaseModelProvider.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/navigator/PythonBaseModelProvider.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** PythonBaseModelProvider.java 6 Nov 2006 17:40:45 -0000 1.10 --- PythonBaseModelProvider.java 4 Dec 2006 23:10:02 -0000 1.11 *************** *** 6,12 **** import java.util.ArrayList; - import java.util.Arrays; import java.util.Collection; - import java.util.Collections; import java.util.HashMap; import java.util.HashSet; --- 6,10 ---- *************** *** 234,239 **** IResource resource = (IResource) parentElement; project = resource.getProject(); - nature = PythonNature.getPythonNature(project); //replace folders -> source folders (we should only get here on a path that's not below a source folder) --- 232,240 ---- IResource resource = (IResource) parentElement; project = resource.getProject(); + //we can only get the nature if the project is open + if(project != null && project.isOpen()){ + nature = PythonNature.getPythonNature(project); + } //replace folders -> source folders (we should only get here on a path that's not below a source folder) *************** *** 244,248 **** Object object = getResourceInPythonModel((IResource) childrenToReturn[i]); ret[i] = object; ! if (object instanceof IFolder) { IFolder folder = (IFolder) object; --- 245,249 ---- Object object = getResourceInPythonModel((IResource) childrenToReturn[i]); ret[i] = object; ! if (object instanceof IFolder && !(object instanceof PythonSourceFolder)) { IFolder folder = (IFolder) object; *************** *** 362,365 **** --- 363,368 ---- } } + + PythonNatureListenersManager.removePythonNatureListener(this); super.dispose(); Index: WrappedResource.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/navigator/WrappedResource.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** WrappedResource.java 29 Oct 2006 18:07:57 -0000 1.3 --- WrappedResource.java 4 Dec 2006 23:10:02 -0000 1.4 *************** *** 43,51 **** public boolean equals(Object other) { if(other instanceof IWrappedResource){ ! return this == other; } return actualObject.equals(other); } public Object getAdapter(Class adapter) { if(adapter == IContributorResourceAdapter.class){ --- 43,60 ---- public boolean equals(Object other) { if(other instanceof IWrappedResource){ ! if(other == this){ ! return true; ! } ! IWrappedResource w = (IWrappedResource) other; ! return this.actualObject.equals(w.getActualObject()); } return actualObject.equals(other); } + @Override + public int hashCode() { + return this.getActualObject().hashCode(); + } + public Object getAdapter(Class adapter) { if(adapter == IContributorResourceAdapter.class){ |