Przeglądaj źródła

Update Simulation view when Launch is selected

Andreas Muelder 9 lat temu
rodzic
commit
851f6005b2

+ 1 - 1
plugins/org.yakindu.sct.simulation.ui/src/org/yakindu/sct/simulation/ui/model/presenter/SCTSourceDisplay.java

@@ -90,7 +90,7 @@ public class SCTSourceDisplay implements ISourceDisplay {
 		handler.clear();
 	}
 
-	private IEditorPart openEditor(DebugElement debugElement, IWorkbenchPage page) {
+	public IEditorPart openEditor(DebugElement debugElement, IWorkbenchPage page) {
 		EObject semanticObject = (EObject) debugElement.getAdapter(EObject.class);
 		IFile file = (IFile) debugElement.getAdapter(IFile.class);
 		if (file == null)

+ 8 - 8
plugins/org.yakindu.sct.simulation.ui/src/org/yakindu/sct/simulation/ui/model/presenter/SCTSourceDisplayDispatcher.java

@@ -48,16 +48,16 @@ public class SCTSourceDisplayDispatcher implements ISourceDisplay, IDebugEventSe
 
 	public void displaySource(Object element, IWorkbenchPage page, boolean forceSourceLookup) {
 		SCTDebugTarget newTarget = unwrapTarget(element);
-		if (newTarget == null || activeDebugTarget == newTarget)
+		if (newTarget.getDebugTarget().isTerminated())
 			return;
+		if (newTarget != null && activeDebugTarget != newTarget){
+			if (activeSourceDisplay != null)
+				activeSourceDisplay.terminate();
+			activeSourceDisplay = new SCTSourceDisplay(
+					(ISimulationEngine) newTarget.getAdapter(ISimulationEngine.class));
+		}
+		activeSourceDisplay.displaySource(newTarget, page, forceSourceLookup);
 		activeDebugTarget = newTarget;
-		if (activeDebugTarget.getDebugTarget().isTerminated())
-			return;
-		if (activeSourceDisplay != null)
-			activeSourceDisplay.terminate();
-		activeSourceDisplay = new SCTSourceDisplay(
-				(ISimulationEngine) activeDebugTarget.getAdapter(ISimulationEngine.class));
-		activeSourceDisplay.displaySource(activeDebugTarget, page, forceSourceLookup);
 	}
 
 	protected SCTDebugTarget unwrapTarget(Object element) {