소스 검색

Added Default perspective for breakpoin hit to simulation

Andreas Mülder 12 년 전
부모
커밋
d903ff6475

+ 6 - 5
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/debugmodel/SCTDebugTarget.java

@@ -32,7 +32,6 @@ import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.eclipse.emf.workspace.util.WorkspaceSynchronizer;
 import org.yakindu.sct.commons.WorkspaceClassLoaderFactory;
-import org.yakindu.sct.model.sexec.Reaction;
 import org.yakindu.sct.model.sexec.Trace;
 import org.yakindu.sct.model.sexec.TraceReactionWillFire;
 import org.yakindu.sct.model.sexec.TraceStateEntered;
@@ -286,14 +285,16 @@ public class SCTDebugTarget extends SCTDebugElement implements IDebugTarget, ISt
 			fireChangeEvent(DebugEvent.CONTENT);
 		if (trace instanceof TraceReactionWillFire) {
 			if (launch.getLaunchMode().equals("debug"))
-				evaluateBreakpoints(trace);
+				evaluateBreakpoints(((TraceReactionWillFire) trace).getReaction().getSourceElement());
+		}
+		if (trace instanceof TraceStateEntered) {
+			if (launch.getLaunchMode().equals("debug"))
+				evaluateBreakpoints(((TraceStateEntered) trace).getState().getSourceElement());
 		}
 	}
 
-	private void evaluateBreakpoints(Trace trace) {
+	private void evaluateBreakpoints(EObject sourceElement) {
 		try {
-			Reaction reaction = ((TraceReactionWillFire) trace).getReaction();
-			EObject sourceElement = reaction.getSourceElement();
 			IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager()
 					.getBreakpoints(SCTBreakpoint.BREAKPOINT_ID);
 			for (IBreakpoint iBreakpoint : breakpoints) {

+ 10 - 2
plugins/org.yakindu.sct.simulation.ui/plugin.xml

@@ -27,6 +27,14 @@
     	 type="org.yakindu.sct.simulation.core.launch.statechart"
   	     class="org.yakindu.sct.simulation.ui.launch.tabs.StatechartLaunchConfigurationTabGroup"
   	     id="org.yakindu.sct.simulation.ui.launch.tabs.statechart.tabs">
+  	      <launchMode 
+                  mode="debug"
+                  perspective="org.yakindu.sct.ui.SimulationPerspective">
+            </launchMode>
+              <launchMode 
+                  mode="run"
+                  perspective="org.yakindu.sct.ui.SimulationPerspective">
+            </launchMode>
    	 </launchConfigurationTabGroup>
 	</extension>
 	
@@ -151,14 +159,14 @@
                       ifEmpty="false"
                       operator="and">
                       <or>
+                   <!--
                    <instanceof
                          value="org.yakindu.sct.ui.editor.editparts.TransitionEditPart">
                    </instanceof>
-                  <!--
+                   -->
                     <instanceof
                          value="org.yakindu.sct.ui.editor.editparts.StateEditPart">
                    </instanceof>
-                   -->
                    </or>
                 </iterate>
              </with>

+ 0 - 9
plugins/org.yakindu.sct.simulation.ui/src/org/yakindu/sct/simulation/ui/SimulationActivator.java

@@ -11,10 +11,8 @@
 package org.yakindu.sct.simulation.ui;
 
 import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
-import org.yakindu.sct.simulation.core.breakpoints.SCTBreakpoint;
 import org.yakindu.sct.simulation.core.hmr.SCTHotModelReplacementManager;
 import org.yakindu.sct.simulation.ui.dialogs.HotModelReplacementListener;
 import org.yakindu.sct.simulation.ui.perspective.SCTPerspectiveManager;
@@ -43,13 +41,6 @@ public class SimulationActivator extends AbstractUIPlugin {
 		super.start(context);
 		plugin = this;
 		SCTHotModelReplacementManager.INSTANCE.addReplacementListener(hotModelReplacementListener);
-		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(manager);
-		IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(SCTBreakpoint.BREAKPOINT_ID);
-		for (IBreakpoint iBreakpoint : breakpoints) {
-			System.out.println(iBreakpoint);
-			
-		}
-
 	}
 
 	public void stop(BundleContext context) throws Exception {

+ 1 - 1
plugins/org.yakindu.sct.simulation.ui/src/org/yakindu/sct/simulation/ui/breakpoints/BreakpointDecorationProvider.java

@@ -80,7 +80,7 @@ public class BreakpointDecorationProvider extends AbstractMarkerBasedDecorationP
 						setDecoration(getDecoratorTarget().addConnectionDecoration(getImage(marker), 75, true));
 					} else {
 						setDecoration(getDecoratorTarget().addShapeDecoration(getImage(marker),
-								IDecoratorTarget.Direction.NORTH_WEST, 0, true));
+								IDecoratorTarget.Direction.NORTH_WEST, -1, true));
 					}
 					Label toolTip = new Label(marker.getAttribute(IMarker.MESSAGE, ""), getImage(marker));
 					getDecoration().setToolTip(toolTip);

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

@@ -15,7 +15,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.eclipse.debug.ui.sourcelookup.ISourceDisplay;
-import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.util.EcoreUtil;
@@ -23,7 +22,6 @@ import org.eclipse.gmf.runtime.notation.Diagram;
 import org.eclipse.gmf.runtime.notation.NotationPackage;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchPage;
-import org.yakindu.sct.model.sgraph.SGraphPackage;
 import org.yakindu.sct.simulation.core.debugmodel.SCTDebugElement;
 import org.yakindu.sct.simulation.core.runtime.IExecutionFacade;
 import org.yakindu.sct.ui.editor.partitioning.DiagramPartitioningUtil;