diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/.ratings b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/.ratings index 5cf9c3e4fe8ac87763b0fe17d561fea5d03f8c99..d1f190b1e564be7c743c9d8d40d177262b9713fa 100644 --- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/.ratings +++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/.ratings @@ -7,6 +7,6 @@ EditPartFactoryService.java e9180c0020f1769d9e24ef3c08f9ca5599dbc5c3 GREEN MarkerService.java b01b7706034691683df7bbc2e7828c42574b3147 GREEN ModelEditorBindingService.java 4c2b52008025db79b1ced4b695d60b561d17c51e GREEN ModelElementHandlerService.java 07a30545ad687ff0fe13bf7a9348c41fb03e0b2c GREEN -NavigatorService.java 8ba9cec9ee7b3a73a47303575df917f47f2f7754 GREEN +NavigatorService.java 2b1361eac805996e22e5409dafff9707fbac3376 GREEN ToolingKernelUIInternal.java 38903445a9084b7908716a00f41621dfb3126fca GREEN TutorialUIService.java b1d632eca91b4feb583f3930cd6ee4722dd9bfed GREEN diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/NavigatorService.java b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/NavigatorService.java index 8ba9cec9ee7b3a73a47303575df917f47f2f7754..2b1361eac805996e22e5409dafff9707fbac3376 100644 --- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/NavigatorService.java +++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/NavigatorService.java @@ -94,7 +94,7 @@ public class NavigatorService implements INavigatorService, IPersistencyServiceL /** Initializes the service. */ public void initializeService() { - // nothing to do here + IPersistencyService.getInstance().addTopLevelElementListener(this); } /** Starts the service. */ @@ -103,7 +103,6 @@ public class NavigatorService implements INavigatorService, IPersistencyServiceL ICommandStackService.getInstance().addCommandStackListener(element, this); saveables.put(element, new TopLevelElementSaveable(element)); } - IPersistencyService.getInstance().addTopLevelElementListener(this); ITutorialService.getInstance().addTutorialServiceListener(this); } @@ -154,12 +153,17 @@ public class NavigatorService implements INavigatorService, IPersistencyServiceL /** {@inheritDoc} */ @Override public void topLevelElementLoaded(ITopLevelElement element) { - // ignore + addTopLevelElementScheduled(element); } /** {@inheritDoc} */ @Override public void topLevelElementAdded(final ITopLevelElement element) { + addTopLevelElementScheduled(element); + } + + /** Adds the given {@link ITopLevelElement} to the Navigator and updates the view. */ + private void addTopLevelElementScheduled(final ITopLevelElement element) { new UIJob("NavigatorServiceSafeableRefresh") { @Override public IStatus runInUIThread(IProgressMonitor monitor) { @@ -328,8 +332,8 @@ public class NavigatorService implements INavigatorService, IPersistencyServiceL private void saveablesChanged(int event, ITopLevelElement element, boolean force) { Saveable saveable = saveables.get(element); if(saveable != null && navigatorViewPart != null) { - ISaveablesLifecycleListener listener = (ISaveablesLifecycleListener)PlatformUI - .getWorkbench().getService(ISaveablesLifecycleListener.class); + ISaveablesLifecycleListener listener = + PlatformUI.getWorkbench().getService(ISaveablesLifecycleListener.class); SaveablesLifecycleEvent eventObj = new SaveablesLifecycleEvent(navigatorViewPart, event, new Saveable[] {saveable}, force); listener.handleLifecycleEvent(eventObj);