|
From: Christopher W. <caw...@us...> - 2006-03-25 02:27:40
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6145/src/org/rubypeople/rdt/internal/core Modified Files: Openable.java RubyModel.java RubyProjectElementInfo.java RubyProject.java RubyModelCache.java RubyImport.java DeltaProcessor.java ModelUpdater.java RubyScript.java Log Message: my initial working version of a Ruby Browsing Perspective Index: Openable.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/Openable.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Openable.java 16 Oct 2005 21:02:16 -0000 1.6 --- Openable.java 25 Mar 2006 02:27:36 -0000 1.7 *************** *** 164,168 **** // to see if they have an child with unsaved changes int elementType = getElementType(); ! if (elementType == PROJECT || elementType == RUBY_MODEL) { // fix for // 1FWNMHH Enumeration openBuffers = getBufferManager().getOpenBuffers(); --- 164,168 ---- // to see if they have an child with unsaved changes int elementType = getElementType(); ! if (elementType == RUBY_PROJECT || elementType == RUBY_MODEL) { // fix for // 1FWNMHH Enumeration openBuffers = getBufferManager().getOpenBuffers(); *************** *** 223,227 **** String element; switch (getElementType()) { ! case PROJECT: element = "project"; //$NON-NLS-1$ break; --- 223,227 ---- String element; switch (getElementType()) { ! case RUBY_PROJECT: element = "project"; //$NON-NLS-1$ break; Index: RubyScript.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyScript.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** RubyScript.java 13 Dec 2005 19:58:56 -0000 1.18 --- RubyScript.java 25 Mar 2006 02:27:36 -0000 1.19 *************** *** 56,60 **** import org.rubypeople.rdt.internal.core.buffer.BufferManager; import org.rubypeople.rdt.internal.core.parser.RubyParser; ! import org.rubypeople.rdt.internal.core.parser.Util; /** --- 56,61 ---- import org.rubypeople.rdt.internal.core.buffer.BufferManager; import org.rubypeople.rdt.internal.core.parser.RubyParser; ! import org.rubypeople.rdt.internal.core.util.Util; ! /** *************** *** 620,622 **** --- 621,635 ---- return array; } + + /** + * @see IRubyScript#findPrimaryType() + */ + public IType findPrimaryType() { + String typeName = Util.getNameWithoutRubyLikeExtension(getElementName()); + IType primaryType= getType(typeName); + if (primaryType.exists()) { + return primaryType; + } + return null; + } } \ No newline at end of file Index: RubyProject.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyProject.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** RubyProject.java 22 Feb 2006 21:05:33 -0000 1.19 --- RubyProject.java 25 Mar 2006 02:27:36 -0000 1.20 *************** *** 35,38 **** --- 35,39 ---- import org.rubypeople.rdt.core.IRubyElement; import org.rubypeople.rdt.core.IRubyProject; + import org.rubypeople.rdt.core.IRubyScript; import org.rubypeople.rdt.core.IType; import org.rubypeople.rdt.core.RubyCore; *************** *** 439,443 **** */ public int getElementType() { ! return IRubyElement.PROJECT; } --- 440,444 ---- */ public int getElementType() { ! return IRubyElement.RUBY_PROJECT; } *************** *** 697,699 **** --- 698,722 ---- } + public IRubyScript[] getRubyScripts() throws RubyModelException { + Object[] children; + int length; + IRubyScript[] scripts; + + System.arraycopy( + children = getChildren(), + 0, + scripts = new IRubyScript[length = children.length], + 0, + length); + + return scripts; + } + + /** + * Returns an array of non-ruby resources contained in the receiver. + */ + public Object[] getNonRubyResources() throws RubyModelException { + return ((RubyProjectElementInfo) getElementInfo()).getNonRubyResources(this); + } + } Index: RubyModel.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyModel.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RubyModel.java 5 Mar 2005 15:18:46 -0000 1.3 --- RubyModel.java 25 Mar 2006 02:27:36 -0000 1.4 *************** *** 112,116 **** */ public IRubyProject[] getRubyProjects() throws RubyModelException { ! ArrayList list = getChildrenOfType(PROJECT); IRubyProject[] array = new IRubyProject[list.size()]; list.toArray(array); --- 112,116 ---- */ public IRubyProject[] getRubyProjects() throws RubyModelException { ! ArrayList list = getChildrenOfType(RUBY_PROJECT); IRubyProject[] array = new IRubyProject[list.size()]; list.toArray(array); Index: RubyProjectElementInfo.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyProjectElementInfo.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RubyProjectElementInfo.java 13 Dec 2005 19:58:55 -0000 1.3 --- RubyProjectElementInfo.java 25 Mar 2006 02:27:36 -0000 1.4 *************** *** 117,121 **** /** ! * Returns an array of non-java resources contained in the receiver. */ Object[] getNonRubyResources(RubyProject project) { --- 117,121 ---- /** ! * Returns an array of non-ruby resources contained in the receiver. */ Object[] getNonRubyResources(RubyProject project) { Index: ModelUpdater.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/ModelUpdater.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ModelUpdater.java 13 Dec 2005 19:58:55 -0000 1.1 --- ModelUpdater.java 25 Mar 2006 02:27:36 -0000 1.2 *************** *** 70,74 **** int elementType = element.getElementType(); ! if (elementType == IRubyElement.PROJECT) { // project add is handled by RubyProject.configure() because // when a project is created, it does not yet have a java nature --- 70,74 ---- int elementType = element.getElementType(); ! if (elementType == IRubyElement.RUBY_PROJECT) { // project add is handled by RubyProject.configure() because // when a project is created, it does not yet have a java nature *************** *** 127,131 **** //RubyModelManager.getRubyModelManager().getIndexManager().reset(); break; ! case IRubyElement.PROJECT: RubyModelManager.getRubyModelManager().removePerProjectInfo((RubyProject) element); break; --- 127,131 ---- //RubyModelManager.getRubyModelManager().getIndexManager().reset(); break; ! case IRubyElement.RUBY_PROJECT: RubyModelManager.getRubyModelManager().removePerProjectInfo((RubyProject) element); break; *************** *** 193,197 **** Openable element = (Openable) delta.getElement(); switch (element.getElementType()) { ! case IRubyElement.PROJECT: project = (IRubyProject) element; break; --- 193,197 ---- Openable element = (Openable) delta.getElement(); switch (element.getElementType()) { ! case IRubyElement.RUBY_PROJECT: project = (IRubyProject) element; break; Index: RubyModelCache.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyModelCache.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RubyModelCache.java 2 Mar 2005 00:54:02 -0000 1.2 --- RubyModelCache.java 25 Mar 2006 02:27:36 -0000 1.3 *************** *** 77,81 **** case IRubyElement.RUBY_MODEL: return this.modelInfo; ! case IRubyElement.PROJECT: return this.projectCache.get(element); case IRubyElement.SCRIPT: --- 77,81 ---- case IRubyElement.RUBY_MODEL: return this.modelInfo; ! case IRubyElement.RUBY_PROJECT: return this.projectCache.get(element); case IRubyElement.SCRIPT: *************** *** 93,97 **** case IRubyElement.RUBY_MODEL: return this.modelInfo; ! case IRubyElement.PROJECT: return this.projectCache.get(element); case IRubyElement.SCRIPT: --- 93,97 ---- case IRubyElement.RUBY_MODEL: return this.modelInfo; ! case IRubyElement.RUBY_PROJECT: return this.projectCache.get(element); case IRubyElement.SCRIPT: *************** *** 110,114 **** this.modelInfo = (RubyModelInfo) info; break; ! case IRubyElement.PROJECT: this.projectCache.put(element, info); break; --- 110,114 ---- this.modelInfo = (RubyModelInfo) info; break; ! case IRubyElement.RUBY_PROJECT: this.projectCache.put(element, info); break; *************** *** 129,133 **** this.modelInfo = null; break; ! case IRubyElement.PROJECT: this.projectCache.remove(element); break; --- 129,133 ---- this.modelInfo = null; break; ! case IRubyElement.RUBY_PROJECT: this.projectCache.remove(element); break; Index: RubyImport.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyImport.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RubyImport.java 2 Mar 2005 00:54:02 -0000 1.2 --- RubyImport.java 25 Mar 2006 02:27:36 -0000 1.3 *************** *** 55,59 **** */ public int getElementType() { ! return IRubyElement.IMPORT; } --- 55,59 ---- */ public int getElementType() { ! return IRubyElement.IMPORT_DECLARATION; } Index: DeltaProcessor.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/DeltaProcessor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DeltaProcessor.java 13 Dec 2005 19:58:55 -0000 1.1 --- DeltaProcessor.java 25 Mar 2006 02:27:36 -0000 1.2 *************** *** 390,394 **** elementType = NON_RUBY_RESOURCE; } else { ! elementType = IRubyElement.PROJECT; } --- 390,394 ---- elementType = NON_RUBY_RESOURCE; } else { ! elementType = IRubyElement.RUBY_PROJECT; } *************** *** 485,489 **** currentDelta().addResourceDelta(delta); return; ! case IRubyElement.PROJECT: ((RubyProjectElementInfo) info).setNonRubyResources(null); break; --- 485,489 ---- currentDelta().addResourceDelta(delta); return; ! case IRubyElement.RUBY_PROJECT: ((RubyProjectElementInfo) info).setNonRubyResources(null); break; *************** *** 840,844 **** if (element == null) return false; contentChanged(element); ! } else if (elementType == IRubyElement.PROJECT) { if ((flags & IResourceDelta.OPEN) != 0) { // project has been opened or closed --- 840,844 ---- if (element == null) return false; contentChanged(element); ! } else if (elementType == IRubyElement.RUBY_PROJECT) { if ((flags & IResourceDelta.OPEN) != 0) { // project has been opened or closed *************** *** 924,928 **** switch (elementType) { ! case IRubyElement.PROJECT: // note that non-ruby resources rooted at the project level will --- 924,928 ---- switch (elementType) { ! case IRubyElement.RUBY_PROJECT: // note that non-ruby resources rooted at the project level will *************** *** 934,938 **** if (this.currentElement != null ! && this.currentElement.getElementType() == IRubyElement.PROJECT && ((IRubyProject) this.currentElement).getProject().equals(resource)) { return this.currentElement; } IProject proj = (IProject) resource; --- 934,938 ---- if (this.currentElement != null ! && this.currentElement.getElementType() == IRubyElement.RUBY_PROJECT && ((IRubyProject) this.currentElement).getProject().equals(resource)) { return this.currentElement; } IProject proj = (IProject) resource; *************** *** 983,987 **** int elementType = element.getElementType(); ! if (elementType == IRubyElement.PROJECT) { // project add is handled by RubyProject.configure() because // when a project is created, it does not yet have a java nature --- 983,987 ---- int elementType = element.getElementType(); ! if (elementType == IRubyElement.RUBY_PROJECT) { // project add is handled by RubyProject.configure() because // when a project is created, it does not yet have a java nature *************** *** 1053,1058 **** // create the moved from element ! Openable movedFromElement = elementType != IRubyElement.PROJECT ! && movedFromType == IRubyElement.PROJECT ? null : // outside // classpath this.createElement(movedFromRes, movedFromType); --- 1053,1058 ---- // create the moved from element ! Openable movedFromElement = elementType != IRubyElement.RUBY_PROJECT ! && movedFromType == IRubyElement.RUBY_PROJECT ? null : // outside // classpath this.createElement(movedFromRes, movedFromType); *************** *** 1131,1136 **** // create the moved To element ! Openable movedToElement = elementType != IRubyElement.PROJECT ! && movedToType == IRubyElement.PROJECT ? null : // outside // classpath this.createElement(movedToRes, movedToType); --- 1131,1136 ---- // create the moved To element ! Openable movedToElement = elementType != IRubyElement.RUBY_PROJECT ! && movedToType == IRubyElement.RUBY_PROJECT ? null : // outside // classpath this.createElement(movedToRes, movedToType); *************** *** 1144,1148 **** switch (elementType) { ! case IRubyElement.PROJECT: // refresh pkg fragment roots and caches of the project (and its --- 1144,1148 ---- switch (elementType) { ! case IRubyElement.RUBY_PROJECT: // refresh pkg fragment roots and caches of the project (and its *************** *** 1196,1203 **** // case of a movedTo or movedFrom project (other cases are handled // in processResourceDelta(...) ! return IRubyElement.PROJECT; case NON_RUBY_RESOURCE: ! case IRubyElement.PROJECT: if (res.getType() == IResource.FOLDER) { return NON_RUBY_RESOURCE; } String fileName = res.getName(); --- 1196,1203 ---- // case of a movedTo or movedFrom project (other cases are handled // in processResourceDelta(...) ! return IRubyElement.RUBY_PROJECT; case NON_RUBY_RESOURCE: ! case IRubyElement.RUBY_PROJECT: if (res.getType() == IResource.FOLDER) { return NON_RUBY_RESOURCE; } String fileName = res.getName(); |