From 6724c773395ffc68f45737db44324299fed6e833 Mon Sep 17 00:00:00 2001 From: Alexander Diewald <diewald@fortiss.org> Date: Tue, 2 Oct 2018 15:25:20 +0200 Subject: [PATCH] Navigator: Show Projects after startup. * Since migrating to Photon, the listeners of the IPersistencyService must be seemingly installed in the init phase. By that, the corresponding listeners are also aware of model loading. * Also, remove an unneeded cast to avoid a warning. Issue-Ref: 3540 Issue-Url: https://af3-developer.fortiss.org/issues/3540 Signed-off-by: Alexander Diewald <diewald@fortiss.org> --- .../fortiss/tooling/kernel/ui/internal/.ratings | 2 +- .../kernel/ui/internal/NavigatorService.java | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) 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 5cf9c3e4f..5cf2457ce 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 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 8ba9cec9e..2b1361eac 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); -- GitLab