X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/JavaElementDelta.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/JavaElementDelta.java index ea6d97d..166e4d3 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/JavaElementDelta.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/core/JavaElementDelta.java @@ -17,12 +17,13 @@ import net.sourceforge.phpdt.core.IJavaElementDelta; import net.sourceforge.phpdt.core.IJavaProject; import org.eclipse.core.resources.IResourceDelta; +import net.sourceforge.phpdt.internal.core.SimpleDelta; /** * @see IJavaElementDelta */ -public class JavaElementDelta implements IJavaElementDelta { +public class JavaElementDelta extends SimpleDelta implements IJavaElementDelta { /** * The element that this delta describes the change to. * @see #getElement() @@ -185,6 +186,17 @@ protected void addAffectedChild(JavaElementDelta child) { } } } +///** +// * Creates the nested deltas resulting from an add operation. +// * Convenience method for creating add deltas. +// * The constructor should be used to create the root delta +// * and then an add operation should call this method. +// */ +//public void added(IJavaElement element) { +// JavaElementDelta addedDelta = new JavaElementDelta(element); +// addedDelta.fKind = ADDED; +// insertDeltaTree(element, addedDelta); +//} /** * Creates the nested deltas resulting from an add operation. * Convenience method for creating add deltas. @@ -192,8 +204,12 @@ protected void addAffectedChild(JavaElementDelta child) { * and then an add operation should call this method. */ public void added(IJavaElement element) { + added(element, 0); +} +public void added(IJavaElement element, int flags) { JavaElementDelta addedDelta = new JavaElementDelta(element); - addedDelta.fKind = ADDED; + addedDelta.added(); + addedDelta.changeFlags |= flags; insertDeltaTree(element, addedDelta); } /** @@ -242,32 +258,32 @@ public void changed(IJavaElement element, int changeFlag) { public void contentChanged() { fChangeFlags |= F_CONTENT; } -/** - * Clone this delta so that its elements are rooted at the given project. - */ -public IJavaElementDelta clone(IJavaProject project) { - JavaElementDelta clone = - new JavaElementDelta(((JavaElement)fChangedElement).rootedAt(project)); - if (fAffectedChildren != fgEmptyDelta) { - int length = fAffectedChildren.length; - IJavaElementDelta[] cloneChildren = new IJavaElementDelta[length]; - for (int i= 0; i < length; i++) { - cloneChildren[i] = ((JavaElementDelta)fAffectedChildren[i]).clone(project); - } - clone.fAffectedChildren = cloneChildren; - } - clone.fChangeFlags = fChangeFlags; - clone.fKind = fKind; - if (fMovedFromHandle != null) { - clone.fMovedFromHandle = ((JavaElement)fMovedFromHandle).rootedAt(project); - } - if (fMovedToHandle != null) { - clone.fMovedToHandle = ((JavaElement)fMovedToHandle).rootedAt(project); - } - clone.resourceDeltas = this.resourceDeltas; - clone.resourceDeltasCounter = this.resourceDeltasCounter; - return clone; -} +///** +// * Clone this delta so that its elements are rooted at the given project. +// */ +//public IJavaElementDelta clone(IJavaProject project) { +// JavaElementDelta clone = +// new JavaElementDelta(((JavaElement)fChangedElement).rootedAt(project)); +// if (fAffectedChildren != fgEmptyDelta) { +// int length = fAffectedChildren.length; +// IJavaElementDelta[] cloneChildren = new IJavaElementDelta[length]; +// for (int i= 0; i < length; i++) { +// cloneChildren[i] = ((JavaElementDelta)fAffectedChildren[i]).clone(project); +// } +// clone.fAffectedChildren = cloneChildren; +// } +// clone.fChangeFlags = fChangeFlags; +// clone.fKind = fKind; +// if (fMovedFromHandle != null) { +// clone.fMovedFromHandle = ((JavaElement)fMovedFromHandle).rootedAt(project); +// } +// if (fMovedToHandle != null) { +// clone.fMovedToHandle = ((JavaElement)fMovedToHandle).rootedAt(project); +// } +// clone.resourceDeltas = this.resourceDeltas; +// clone.resourceDeltasCounter = this.resourceDeltasCounter; +// return clone; +//} /** * Creates the nested deltas for a closed element. @@ -558,15 +574,19 @@ protected IJavaElementDelta[] removeAndShrinkArray(IJavaElementDelta[] old, int * and then the delete operation should call this method. */ public void removed(IJavaElement element) { + removed(element, 0); +} +public void removed(IJavaElement element, int flags) { JavaElementDelta removedDelta= new JavaElementDelta(element); insertDeltaTree(element, removedDelta); JavaElementDelta actualDelta = getDeltaFor(element); if (actualDelta != null) { - actualDelta.fKind = REMOVED; - actualDelta.fChangeFlags = 0; + actualDelta.removed(); + actualDelta.changeFlags |= flags; actualDelta.fAffectedChildren = fgEmptyDelta; } } + /** * Creates the nested deltas resulting from a change operation. * Convenience method for creating change deltas.