Skip to content
Snippets Groups Projects
Commit a2b1d924 authored by Jens Bendisposto's avatar Jens Bendisposto
Browse files

Merge remote-tracking branch 'origin/develop' into develop

parents 2b84caad 9929e0e0
Branches
Tags
No related merge requests found
...@@ -176,9 +176,9 @@ public abstract class CounterExamplePropositionFigure extends Figure implements ...@@ -176,9 +176,9 @@ public abstract class CounterExamplePropositionFigure extends Figure implements
final Rectangle targetBounds = target.getBounds(); final Rectangle targetBounds = target.getBounds();
points.addPoint(new Point(sourceBounds.x + size + insets.left, points.addPoint(new Point(sourceBounds.x + size + insets.left,
sourceBounds.y + size / 2 + insets.top)); sourceBounds.y + size / 2 + insets.top));
points.addPoint(new Point(sourceBounds.x + size + 3.0 / 10 * size points.addPoint(new Point(sourceBounds.x + size + (3 * size) / 10
+ insets.left, sourceBounds.y + size / 2 + insets.top)); + insets.left, sourceBounds.y + size / 2 + insets.top));
points.addPoint(new Point(sourceBounds.x + size + 3.0 / 10 * size points.addPoint(new Point(sourceBounds.x + size + (3 * size) / 10
+ insets.left, sourceBounds.y - size / 5 + insets.top)); + insets.left, sourceBounds.y - size / 5 + insets.top));
points.addPoint(new Point(targetBounds.x + size / 2 + insets.left, points.addPoint(new Point(targetBounds.x + size / 2 + insets.left,
targetBounds.y - size / 5 + insets.top)); targetBounds.y - size / 5 + insets.top));
...@@ -215,13 +215,12 @@ public abstract class CounterExamplePropositionFigure extends Figure implements ...@@ -215,13 +215,12 @@ public abstract class CounterExamplePropositionFigure extends Figure implements
final Rectangle sourceBounds = source.getBounds(); final Rectangle sourceBounds = source.getBounds();
points.addPoint(new Point(sourceBounds.x + size + insets.left, points.addPoint(new Point(sourceBounds.x + size + insets.left,
sourceBounds.y + size / 2 + insets.top)); sourceBounds.y + size / 2 + insets.top));
points.addPoint(new Point(sourceBounds.x + size + 3.0 / 10 * size points.addPoint(new Point(sourceBounds.x + size + (3 * size) / 10
+ insets.left, sourceBounds.y + size / 2 + insets.top)); + insets.left, sourceBounds.y + size / 2 + insets.top));
points.addPoint(new Point(sourceBounds.x + size + 3.0 / 10 * size points.addPoint(new Point(sourceBounds.x + size + (3 * size) / 10
+ insets.left, sourceBounds.y + insets.top + size / 4)); + insets.left, sourceBounds.y + insets.top + size / 4));
points.addPoint(new Point(sourceBounds.x + size + 3.0 / 10 * size points.addPoint(new Point(sourceBounds.x + size + (3 * size) / 10
+ insets.left, sourceBounds.y + insets.top + insets.left, sourceBounds.y + insets.top + (3 * size) / 4));
+ (int) (3.0 / 4 * size)));
polyline.setPoints(points); polyline.setPoints(points);
return polyline; return polyline;
...@@ -293,6 +292,25 @@ public abstract class CounterExamplePropositionFigure extends Figure implements ...@@ -293,6 +292,25 @@ public abstract class CounterExamplePropositionFigure extends Figure implements
add(panel); add(panel);
for (int i = 0; i < values.size(); i++) { for (int i = 0; i < values.size(); i++) {
createColumn(bounds, argument, positions, ellipses1, ellipses2,
argumentHeight, pathType, values, panel, i);
}
if (parent != null) {
final Ellipse ellipse = ellipses2.get(stateId);
drawChildParentConnection(ellipse, stateId, parent);
}
return panel;
}
private void createColumn(final Rectangle bounds,
final CounterExampleProposition argument,
final List<Integer> positions,
final Hashtable<Ellipse, Integer> ellipses1,
final Hashtable<Integer, Ellipse> ellipses2,
final int argumentHeight, final PathType pathType,
final List<CounterExampleValueType> values, Panel panel, int i) {
final CounterExampleValueType value = values.get(i); final CounterExampleValueType value = values.get(i);
final Ellipse ellipse = new Ellipse(); final Ellipse ellipse = new Ellipse();
...@@ -328,7 +346,7 @@ public abstract class CounterExamplePropositionFigure extends Figure implements ...@@ -328,7 +346,7 @@ public abstract class CounterExamplePropositionFigure extends Figure implements
final Ellipse targetEllipse = ellipses2.get(i - 1); final Ellipse targetEllipse = ellipses2.get(i - 1);
if (targetEllipse == null) if (targetEllipse == null)
continue; return;
final ChopboxAnchor target = new ChopboxAnchor(targetEllipse); final ChopboxAnchor target = new ChopboxAnchor(targetEllipse);
...@@ -363,8 +381,7 @@ public abstract class CounterExamplePropositionFigure extends Figure implements ...@@ -363,8 +381,7 @@ public abstract class CounterExamplePropositionFigure extends Figure implements
if (positions.contains(i - 1)) { if (positions.contains(i - 1)) {
connection.setAlpha(Alpha.HIGHLIGHED); connection.setAlpha(Alpha.HIGHLIGHED);
decoration.setAlpha(Alpha.HIGHLIGHED); decoration.setAlpha(Alpha.HIGHLIGHED);
Color transitionColor = getEllipseColor(values Color transitionColor = getEllipseColor(values.get(i - 1));
.get(i - 1));
connection.setForegroundColor(transitionColor); connection.setForegroundColor(transitionColor);
decoration.setForegroundColor(transitionColor); decoration.setForegroundColor(transitionColor);
} }
...@@ -375,8 +392,23 @@ public abstract class CounterExamplePropositionFigure extends Figure implements ...@@ -375,8 +392,23 @@ public abstract class CounterExamplePropositionFigure extends Figure implements
panel.add(connection); panel.add(connection);
} }
if (i == values.size() - 1) { boolean isLastElement = i == values.size() - 1;
if (pathType.equals(PathType.INFINITE)) { if (isLastElement) {
createEnd(argument, positions, ellipses1, ellipses2, pathType,
values, panel, i, ellipse);
}
}
private void createEnd(final CounterExampleProposition argument,
final List<Integer> positions,
final Hashtable<Ellipse, Integer> ellipses1,
final Hashtable<Integer, Ellipse> ellipses2,
final PathType pathType,
final List<CounterExampleValueType> values, Panel panel, int i,
final Ellipse ellipse) {
final IFigure figure;
switch (pathType) {
case INFINITE:
final String operationName = getOperationName(ellipses1 final String operationName = getOperationName(ellipses1
.get(ellipse)); .get(ellipse));
final Ellipse target = ellipses2.get(model.getLoopEntry()); final Ellipse target = ellipses2.get(model.getLoopEntry());
...@@ -384,7 +416,9 @@ public abstract class CounterExamplePropositionFigure extends Figure implements ...@@ -384,7 +416,9 @@ public abstract class CounterExamplePropositionFigure extends Figure implements
int alpha = Alpha.MASKED; int alpha = Alpha.MASKED;
Color loopTransitionColor = ColorConstants.black; Color loopTransitionColor = ColorConstants.black;
if (positions.contains(i) && positions.contains(i - 1)) { final boolean highlightLoop = positions.contains(i)
&& positions.contains(i - 1);
if (highlightLoop) {
alpha = Alpha.HIGHLIGHED; alpha = Alpha.HIGHLIGHED;
} }
...@@ -394,28 +428,22 @@ public abstract class CounterExamplePropositionFigure extends Figure implements ...@@ -394,28 +428,22 @@ public abstract class CounterExamplePropositionFigure extends Figure implements
loopTransitionColor = getEllipseColor(values.get(i)); loopTransitionColor = getEllipseColor(values.get(i));
} }
} }
figure = createLoop(getInsets(), ellipse, target, alpha,
operationName, loopTransitionColor);
break;
final PolylineConnection loop = createLoop(getInsets(), case REDUCED:
ellipse, target, alpha, operationName, figure = createReduced(getInsets(), ellipse,
loopTransitionColor); positions.contains(i) ? Alpha.HIGHLIGHED : Alpha.MASKED);
break;
panel.add(loop);
} else if (pathType.equals(PathType.REDUCED)) {
final Polyline reduced = createReduced(getInsets(),
ellipse, positions.contains(i) ? Alpha.HIGHLIGHED
: Alpha.MASKED);
panel.add(reduced); default:
} figure = null;
break;
} }
if (figure != null) {
panel.add(figure);
} }
if (parent != null) {
final Ellipse ellipse = ellipses2.get(stateId);
drawChildParentConnection(ellipse, stateId, parent);
}
return panel;
} }
@Override @Override
......
...@@ -42,7 +42,6 @@ public final class CounterExampleViewPart extends StateBasedViewPart { ...@@ -42,7 +42,6 @@ public final class CounterExampleViewPart extends StateBasedViewPart {
private CTabFolder tabFolder; private CTabFolder tabFolder;
private ViewType viewType = ViewType.INTERACTIVE; private ViewType viewType = ViewType.INTERACTIVE;
private int currentIndex = -1;
public static CounterExampleViewPart showDefault() { public static CounterExampleViewPart showDefault() {
final IWorkbenchPage workbenchPage = PlatformUI.getWorkbench() final IWorkbenchPage workbenchPage = PlatformUI.getWorkbench()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment