private void handleWidgetDispose(Event event) { if (event.widget == widget) { if (unreferenceRunnable != null) { unreferenceRunnable.run(); unreferenceRunnable = null; } unhookCheckListener(); toolItemUpdater.removeItem(this); if (infoContext != null) { infoContext.dispose(); infoContext = null; } widget.removeListener(SWT.Selection, getItemListener()); widget.removeListener(SWT.Dispose, getItemListener()); widget.removeListener(SWT.DefaultSelection, getItemListener()); widget = null; model.setWidget(null); disposeOldImages(); } }
private void updateIcons() { if (!(widget instanceof Item)) { return; } Item item = (Item) widget; String iconURI = model.getIconURI() != null ? model.getIconURI() : ""; //$NON-NLS-1$ String disabledURI = getDisabledIconURI(model); Object disabledData = item.getData(DISABLED_URI); if (disabledData == null) disabledData = ""; //$NON-NLS-1$ if (!iconURI.equals(item.getData(ICON_URI)) || !disabledURI.equals(disabledData)) { LocalResourceManager resourceManager = new LocalResourceManager( JFaceResources.getResources()); Image iconImage = getImage(iconURI, resourceManager); item.setImage(iconImage); item.setData(ICON_URI, iconURI); if (item instanceof ToolItem) { iconImage = getImage(disabledURI, resourceManager); ((ToolItem) item).setDisabledImage(iconImage); item.setData(DISABLED_URI, disabledURI); } disposeOldImages(); localResourceManager = resourceManager; } }
@Override protected void handleWidgetDispose(Event event) { if (event.widget == widget) { if (unreferenceRunnable != null) { unreferenceRunnable.run(); unreferenceRunnable = null; } unhookCheckListener(); ToolItemUpdater updater = getUpdater(); if (updater != null) { updater.removeItem(this); } if (infoContext != null) { infoContext.dispose(); infoContext = null; } widget.removeListener(SWT.Selection, getItemListener()); widget.removeListener(SWT.Dispose, getItemListener()); widget.removeListener(SWT.DefaultSelection, getItemListener()); widget.removeListener(SWT.Help, getItemListener()); widget = null; getModel().setWidget(null); disposeOldImages(); } }