element.delete(false, new SubProgressMonitor(pm, 1)); resourceDescription.recordStateFromHistory(resource, new SubProgressMonitor(pm, 1)); return new UndoDeleteResourceChange(resourceDescription); element.delete(false, new SubProgressMonitor(pm, 1)); return new NullChange(); // caveat: real undo implemented by UndoablePackageDeleteChange element.delete(false, pm); return null; //should not happen
@Override protected Change doDelete(IProgressMonitor pm) throws CoreException { ISourceManipulation element= getSourceManipulation(); // we have to save dirty compilation units before deleting them. Otherwise // we will end up showing ghost compilation units in the package explorer // since the primary working copy still exists. if (element instanceof ICompilationUnit) { pm.beginTask("", 2); //$NON-NLS-1$ ICompilationUnit unit= (ICompilationUnit)element; saveCUnitIfNeeded(unit, new SubProgressMonitor(pm, 1)); IResource resource= unit.getResource(); ResourceDescription resourceDescription = ResourceDescription.fromResource(resource); element.delete(false, new SubProgressMonitor(pm, 1)); resourceDescription.recordStateFromHistory(resource, new SubProgressMonitor(pm, 1)); return new UndoDeleteResourceChange(resourceDescription); } else if (element instanceof IPackageFragment) { ICompilationUnit[] units= ((IPackageFragment)element).getCompilationUnits(); pm.beginTask("", units.length + 1); //$NON-NLS-1$ for (int i = 0; i < units.length; i++) { // fix https://bugs.eclipse.org/bugs/show_bug.cgi?id=66835 saveCUnitIfNeeded(units[i], new SubProgressMonitor(pm, 1)); } element.delete(false, new SubProgressMonitor(pm, 1)); return new NullChange(); // caveat: real undo implemented by UndoablePackageDeleteChange } else { element.delete(false, pm); return null; //should not happen } }
@Override protected Change doDelete(IProgressMonitor pm) throws CoreException { ISourceManipulation element= getSourceManipulation(); // we have to save dirty compilation units before deleting them. Otherwise // we will end up showing ghost compilation units in the package explorer // since the primary working copy still exists. if (element instanceof ICompilationUnit) { pm.beginTask("", 2); //$NON-NLS-1$ ICompilationUnit unit= (ICompilationUnit)element; saveCUnitIfNeeded(unit, new SubProgressMonitor(pm, 1)); IResource resource= unit.getResource(); // ResourceDescription resourceDescription = ResourceDescription.fromResource(resource); // element.delete(false, new SubProgressMonitor(pm, 1)); // resourceDescription.recordStateFromHistory(resource, new SubProgressMonitor(pm, 1)); return new UndoDeleteResourceChange(ResourceUndoState.fromResource(resource)); } else if (element instanceof IPackageFragment) { ICompilationUnit[] units= ((IPackageFragment)element).getCompilationUnits(); pm.beginTask("", units.length + 1); //$NON-NLS-1$ for (int i = 0; i < units.length; i++) { // fix https://bugs.eclipse.org/bugs/show_bug.cgi?id=66835 saveCUnitIfNeeded(units[i], new SubProgressMonitor(pm, 1)); } element.delete(false, new SubProgressMonitor(pm, 1)); return new NullChange(); // caveat: real undo implemented by UndoablePackageDeleteChange } else { element.delete(false, pm); return null; //should not happen } }
@Override protected Change doDelete(IProgressMonitor pm) throws CoreException { ISourceManipulation element= getSourceManipulation(); // we have to save dirty compilation units before deleting them. Otherwise // we will end up showing ghost compilation units in the package explorer // since the primary working copy still exists. if (element instanceof ICompilationUnit) { pm.beginTask("", 2); //$NON-NLS-1$ ICompilationUnit unit= (ICompilationUnit)element; saveCUnitIfNeeded(unit, new SubProgressMonitor(pm, 1)); IResource resource= unit.getResource(); ResourceDescription resourceDescription = ResourceDescription.fromResource(resource); element.delete(false, new SubProgressMonitor(pm, 1)); resourceDescription.recordStateFromHistory(resource, new SubProgressMonitor(pm, 1)); return new UndoDeleteResourceChange(resourceDescription); } else if (element instanceof IPackageFragment) { ICompilationUnit[] units= ((IPackageFragment)element).getCompilationUnits(); pm.beginTask("", units.length + 1); //$NON-NLS-1$ for (int i = 0; i < units.length; i++) { // fix https://bugs.eclipse.org/bugs/show_bug.cgi?id=66835 saveCUnitIfNeeded(units[i], new SubProgressMonitor(pm, 1)); } element.delete(false, new SubProgressMonitor(pm, 1)); return new NullChange(); // caveat: real undo implemented by UndoablePackageDeleteChange } else { element.delete(false, pm); return null; //should not happen } }