/** Disposes all resources allocated by this library manager. */ public void dispose() { if (preferenceStoreChangeListener != null) { IPreferenceStoreWrapper prefStoreWrapper = LibraryPlugin.getDefault().getPreferenceStore(); if (prefStoreWrapper != null) { prefStoreWrapper.removePropertyChangeListener(preferenceStoreChangeListener); } } if (libraryChangedListeners.size() > 0) { libraryChangedListeners.clear(); } // if (detachedLibraryChangedListeners.size() > 0) { // detachedLibraryChangedListeners.clear(); // } if (resourceChangeListeners.size() > 0) { resourceChangeListeners.clear(); } if (editingDomain != null) { unregisterEditingDomain(editingDomain); editingDomain = null; } library = null; }
/** * Removes the given help listener from this viewer. Has no effect if an identical listener is not * registered. * * @param listener a help listener */ public void removeHelpListener(HelpListener listener) { helpListeners.remove(listener); if (helpListeners.size() == 0) { Control control = getControl(); if (control != null && !control.isDisposed()) { control.removeHelpListener(this.helpListener); helpHooked = false; } } }
/** {@inheritDoc} */ public void removePropertyChangeListener(IPropertyChangeListener listener) { fListeners.remove(listener); if (fListeners.size() == 0) { getNode().removePreferenceChangeListener(fListener); } }
/** {@inheritDoc} */ public void addPropertyChangeListener(IPropertyChangeListener listener) { if (fListeners.size() == 0) getNode().addPreferenceChangeListener(fListener); fListeners.add(listener); }