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 cf080c93d173fa9abcd31d06ddcd617deac22a78..fbc1c251b6d85b49cd946a7c56ae28e88b2147d9 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 617e8e97705202f2e14521ad572da23beaf25c6c YELLOW ModelElementHandlerService.java 07a30545ad687ff0fe13bf7a9348c41fb03e0b2c GREEN -NavigatorService.java f859ca23525be3e931a61122152f58290fde53cc YELLOW +NavigatorService.java 2b1361eac805996e22e5409dafff9707fbac3376 YELLOW 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 f859ca23525be3e931a61122152f58290fde53cc..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) {