public void dispose() { handlerRegistration.removeHandler(); } }
@Nonnull public HandlerRegistration registerBreadcrumbTrailProvider(@Nonnull BreadcrumbTrailProvider provider) { // Add provider to our list registeredProviders.add(checkNotNull(provider)); provider.asJComponent().addHierarchyListener(e -> { Optional<BreadcrumbTrailProvider> activeProvider = getActiveProvider(); if(!activeProvider.equals(currentProvider)) { currentProvider = activeProvider; fireBreadcrumbTrailChanged(); } }); fireBreadcrumbTrailChanged(); // Listen for trail changed and pass on the handling if it changes HandlerRegistration reg = provider.addBreadcrumbTrailChangedHandler(this::fireBreadcrumbTrailChanged); return () -> { registeredProviders.remove(provider); reg.removeHandler(); }; }
public void disposeView() { // Dispose of the assertedTree selection listener if (assertedTree != null) { assertedTree.removeTreeSelectionListener(listener); assertedTree.dispose(); } inferredTree.ifPresent(tree -> { tree.removeTreeSelectionListener(listener); tree.dispose(); }); if (breadCrumbTrailProviderRegistration != null) { breadCrumbTrailProviderRegistration.removeHandler(); } }