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$ ...@@ -17,10 +17,13 @@ $Id$
+--------------------------------------------------------------------------*/ +--------------------------------------------------------------------------*/
package org.fortiss.tooling.kernel.internal; package org.fortiss.tooling.kernel.internal;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.part.ViewPart; 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.internal.navigator.NavigatorViewPart;
import org.fortiss.tooling.kernel.services.INavigatorService; import org.fortiss.tooling.kernel.services.INavigatorService;
import org.fortiss.tooling.kernel.services.IPersistencyService;
/** /**
* This class implements the {@link INavigatorService} interface. * This class implements the {@link INavigatorService} interface.
...@@ -30,11 +33,17 @@ import org.fortiss.tooling.kernel.services.INavigatorService; ...@@ -30,11 +33,17 @@ import org.fortiss.tooling.kernel.services.INavigatorService;
* @version $Rev$ * @version $Rev$
* @levd.rating RED Rev: * @levd.rating RED Rev:
*/ */
public class NavigatorService implements INavigatorService { public class NavigatorService implements INavigatorService,
ITopLevelElementChangeListener {
/** Stores the navigator view. */ /** Stores the navigator view. */
private NavigatorViewPart navigatorViewPart; private NavigatorViewPart navigatorViewPart;
/** Constructor. */
public NavigatorService() {
IPersistencyService.INSTANCE.addTopLevelElementListener(this);
}
/** Sets the navigator view. */ /** Sets the navigator view. */
public void setNavigatorViewPart(NavigatorViewPart part) { public void setNavigatorViewPart(NavigatorViewPart part) {
this.navigatorViewPart = part; this.navigatorViewPart = part;
...@@ -52,4 +61,16 @@ public class NavigatorService implements INavigatorService { ...@@ -52,4 +61,16 @@ public class NavigatorService implements INavigatorService {
return navigatorViewPart.getSite().getSelectionProvider() return navigatorViewPart.getSite().getSelectionProvider()
.getSelection(); .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; ...@@ -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.ITabbedPropertySheetPageContributor;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage; import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
import org.fortiss.tooling.kernel.interfaces.ICustomMenuContributor; 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.internal.NavigatorService;
import org.fortiss.tooling.kernel.services.IActionService; import org.fortiss.tooling.kernel.services.IActionService;
import org.fortiss.tooling.kernel.services.IContextMenuService; import org.fortiss.tooling.kernel.services.IContextMenuService;
...@@ -67,8 +66,7 @@ import org.fortiss.tooling.kernel.util.EObjectSelectionUtils; ...@@ -67,8 +66,7 @@ import org.fortiss.tooling.kernel.util.EObjectSelectionUtils;
*/ */
public final class NavigatorViewPart extends ViewPart implements public final class NavigatorViewPart extends ViewPart implements
ISelectionListener, ISelectionChangedListener, IDoubleClickListener, ISelectionListener, ISelectionChangedListener, IDoubleClickListener,
ITabbedPropertySheetPageContributor, ICustomMenuContributor, ITabbedPropertySheetPageContributor, ICustomMenuContributor {
ITopLevelElementChangeListener {
/** Stores the TreeViewer. */ /** Stores the TreeViewer. */
private TreeViewer viewer; private TreeViewer viewer;
...@@ -212,15 +210,8 @@ public final class NavigatorViewPart extends ViewPart implements ...@@ -212,15 +210,8 @@ public final class NavigatorViewPart extends ViewPart implements
return result; return result;
} }
/** {@inheritDoc} */ /** Refreshes the navigator view. */
@Override public void refresh() {
public void topLevelElementAdded(EObject topLevelElement) {
updateUI.schedule();
}
/** {@inheritDoc} */
@Override
public void topLevelElementRemoved(EObject topLevelElement) {
updateUI.schedule(); 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