Skip to content
Snippets Groups Projects
Commit 06502580 authored by Florian Hölzl's avatar Florian Hölzl
Browse files

Fixed navigator refresh on resource changes.

parent 21a5c056
No related branches found
No related tags found
No related merge requests found
......@@ -17,10 +17,13 @@ $Id$
+--------------------------------------------------------------------------*/
package org.fortiss.tooling.kernel.internal;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.part.ViewPart;
import org.fortiss.tooling.kernel.interfaces.ITopLevelElementChangeListener;
import org.fortiss.tooling.kernel.internal.navigator.NavigatorViewPart;
import org.fortiss.tooling.kernel.services.INavigatorService;
import org.fortiss.tooling.kernel.services.IPersistencyService;
/**
* This class implements the {@link INavigatorService} interface.
......@@ -30,11 +33,17 @@ import org.fortiss.tooling.kernel.services.INavigatorService;
* @version $Rev$
* @levd.rating RED Rev:
*/
public class NavigatorService implements INavigatorService {
public class NavigatorService implements INavigatorService,
ITopLevelElementChangeListener {
/** Stores the navigator view. */
private NavigatorViewPart navigatorViewPart;
/** Constructor. */
public NavigatorService() {
IPersistencyService.INSTANCE.addTopLevelElementListener(this);
}
/** Sets the navigator view. */
public void setNavigatorViewPart(NavigatorViewPart part) {
this.navigatorViewPart = part;
......@@ -52,4 +61,16 @@ public class NavigatorService implements INavigatorService {
return navigatorViewPart.getSite().getSelectionProvider()
.getSelection();
}
/** {@inheritDoc} */
@Override
public void topLevelElementAdded(EObject topLevelElement) {
navigatorViewPart.refresh();
}
/** {@inheritDoc} */
@Override
public void topLevelElementRemoved(EObject topLevelElement) {
navigatorViewPart.refresh();
}
}
......@@ -47,7 +47,6 @@ import org.eclipse.ui.views.properties.IPropertySheetPage;
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
import org.fortiss.tooling.kernel.interfaces.ICustomMenuContributor;
import org.fortiss.tooling.kernel.interfaces.ITopLevelElementChangeListener;
import org.fortiss.tooling.kernel.internal.NavigatorService;
import org.fortiss.tooling.kernel.services.IActionService;
import org.fortiss.tooling.kernel.services.IContextMenuService;
......@@ -67,8 +66,7 @@ import org.fortiss.tooling.kernel.util.EObjectSelectionUtils;
*/
public final class NavigatorViewPart extends ViewPart implements
ISelectionListener, ISelectionChangedListener, IDoubleClickListener,
ITabbedPropertySheetPageContributor, ICustomMenuContributor,
ITopLevelElementChangeListener {
ITabbedPropertySheetPageContributor, ICustomMenuContributor {
/** Stores the TreeViewer. */
private TreeViewer viewer;
......@@ -212,15 +210,8 @@ public final class NavigatorViewPart extends ViewPart implements
return result;
}
/** {@inheritDoc} */
@Override
public void topLevelElementAdded(EObject topLevelElement) {
updateUI.schedule();
}
/** {@inheritDoc} */
@Override
public void topLevelElementRemoved(EObject topLevelElement) {
/** Refreshes the navigator view. */
public void refresh() {
updateUI.schedule();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment