/** * Calls dispose on all actions which implement the {@link Disposable} * interface so they can perform their own clean-up. */ public void dispose() { Iterator actions = getActions(); while (actions.hasNext()) { IAction action = (IAction) actions.next(); if (action instanceof Disposable) ((Disposable) action).dispose(); } }
@Override public void dispose() { InstallOptionsModel.INSTANCE.removeModelListener(mModelListener); mJobScheduler.cancelJobs(mJobFamily); IInstallOptionsEditorInput input = (IInstallOptionsEditorInput)getEditorInput(); Object source = input.getSource(); if(source instanceof IFile) { IFile file = (IFile)source; file.getWorkspace().removeResourceChangeListener(mResourceListener); } mMarkerPositions.clear(); IDocument document = getDocumentProvider().getDocument(input); document.removePositionUpdater(mMarkerPositionUpdater); if(document.containsPositionCategory(MARKER_CATEGORY)) { try { document.removePositionCategory(MARKER_CATEGORY); } catch (BadPositionCategoryException e) { InstallOptionsPlugin.getDefault().log(e); } } mINIFile.disconnect(document); mINIFile.removeListener(this); ((ProjectionViewer)getSourceViewer()).removeProjectionListener(this); ((TextViewer)getSourceViewer()).removePostSelectionChangedListener(mSelectionSynchronizer); getSourceViewer().getSelectionProvider().removeSelectionChangedListener(mSelectionSynchronizer); IAction action = super.getAction(PreviewAction.PREVIEW_CLASSIC_ID); if(action instanceof Disposable) { ((Disposable)action).dispose(); } action = super.getAction(PreviewAction.PREVIEW_MUI_ID); if(action instanceof Disposable) { ((Disposable)action).dispose(); } super.dispose(); }
private void disposePalette() { if (getEditDomain().getPaletteViewer() != null) { if (getPaletteViewerProvider() instanceof UrnPaletteViewerProvider) { UrnPaletteViewerProvider p = (UrnPaletteViewerProvider) getPaletteViewerProvider(); p.unconfigurePaletteViewer(getEditDomain().getPaletteViewer()); } getSite().getWorkbenchWindow().getSelectionService().removeSelectionListener(this); getEditDomain().getPaletteViewer().getEditPartRegistry().clear(); getEditDomain().getPaletteViewer().setKeyHandler(null); getEditDomain().getPaletteViewer().setControl(null); getEditDomain().getPaletteViewer().setPaletteRoot(null); // getEditDomain().setPaletteViewer(new PaletteViewer()); } getGraphicalViewer().setKeyHandler(null); getEditorSite().setSelectionProvider(null); if (paletteRoot instanceof Disposable) { ((Disposable) paletteRoot).dispose(); } paletteRoot = null; }