From 75b9650d0c0474eefb03bdf61b019d71a808d448 Mon Sep 17 00:00:00 2001 From: lempinen Date: Mon, 15 Apr 2013 12:01:45 +0000 Subject: [PATCH] Ugly but working visualization for shadow variables. (refs #4154) git-svn-id: https://www.simantics.org/svn/simantics/sysdyn/trunk@27285 ac1ea38d-2e2b-0410-8846-a27921b304fc --- org.simantics.sysdyn.ontology/graph.tg | Bin 148273 -> 148640 bytes .../graph/Profiles.pgraph | 4 + .../graph/Sysdyn.pgraph | 1 + .../org/simantics/sysdyn/SysdynResource.java | 12 ++ org.simantics.sysdyn.ui/adapters.xml | 2 +- .../sysdyn/ui/editor/DiagramViewer.java | 2 + .../SelectionUpdaterParticipant.java | 91 ++++++++++ .../ui/elements/profiles/ShadowStyle.java | 161 ++++++++++++++++++ .../sysdyn/ui/utils/ProfileEntries.java | 2 +- 9 files changed, 273 insertions(+), 2 deletions(-) create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/participant/SelectionUpdaterParticipant.java create mode 100644 org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/profiles/ShadowStyle.java diff --git a/org.simantics.sysdyn.ontology/graph.tg b/org.simantics.sysdyn.ontology/graph.tg index 93f21a0bb019f42372ddf67067b438bd18d30ebe..6d1e0b6a1541a8f8f422e870a78555c10b3366ca 100644 GIT binary patch literal 148640 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 literal 148273 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 SYSDYN.ConfigurationDiagram.selection --> DIA.Element - none 0 fill 1 + none 0 fill 1 \ No newline at end of file diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/DiagramViewer.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/DiagramViewer.java index 01292dcf..b7b961d7 100644 --- a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/DiagramViewer.java +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/DiagramViewer.java @@ -43,6 +43,7 @@ import org.simantics.modeling.ui.diagramEditor.handlers.LinkBrowsingHandler; import org.simantics.structural2.modelingRules.IModelingRules; import org.simantics.sysdyn.SysdynResource; import org.simantics.sysdyn.ui.editor.participant.CreateVariablesShortcutParticipant; +import org.simantics.sysdyn.ui.editor.participant.SelectionUpdaterParticipant; import org.simantics.sysdyn.ui.editor.participant.SysdynComponentCopyAdvisor; import org.simantics.sysdyn.ui.editor.participant.SysdynElementClassProviders; import org.simantics.sysdyn.ui.editor.participant.SysdynPopulateElementDropParticipant; @@ -171,6 +172,7 @@ public class DiagramViewer extends org.simantics.modeling.ui.diagramEditor.Diagr @Override protected void addOtherParticipants(CanvasContext ctx) { + ctx.add(new SelectionUpdaterParticipant()); } @Override diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/participant/SelectionUpdaterParticipant.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/participant/SelectionUpdaterParticipant.java new file mode 100644 index 00000000..f6101015 --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/editor/participant/SelectionUpdaterParticipant.java @@ -0,0 +1,91 @@ +/******************************************************************************* + * Copyright (c) 2013 Association for Decentralized Information Management in + * Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Semantum Oy - initial API and implementation + *******************************************************************************/ +package org.simantics.sysdyn.ui.editor.participant; + +import java.util.Collection; + +import org.simantics.db.Resource; +import org.simantics.db.Session; +import org.simantics.db.VirtualGraph; +import org.simantics.db.WriteGraph; +import org.simantics.db.common.request.WriteRequest; +import org.simantics.db.exception.DatabaseException; +import org.simantics.diagram.stubs.DiagramResource; +import org.simantics.diagram.ui.DiagramModelHints; +import org.simantics.g2d.canvas.impl.DependencyReflection.Dependency; +import org.simantics.g2d.canvas.impl.HintReflection.HintListener; +import org.simantics.g2d.diagram.DiagramHints; +import org.simantics.g2d.diagram.IDiagram; +import org.simantics.g2d.diagram.participant.AbstractDiagramParticipant; +import org.simantics.g2d.diagram.participant.Selection; +import org.simantics.g2d.element.ElementHints; +import org.simantics.g2d.element.IElement; +import org.simantics.sysdyn.SysdynResource; +import org.simantics.ui.SimanticsUI; +import org.simantics.utils.datastructures.hints.IHintContext.Key; +import org.simantics.utils.datastructures.hints.IHintObservable; +import org.simantics.utils.ui.AdaptionUtils; + + +public class SelectionUpdaterParticipant extends AbstractDiagramParticipant { + + @Dependency Selection selection; + + @HintListener(Class = Selection.class, Field = "SELECTION0") + public void hintChanged(IHintObservable sender, Key key, Object oldValue, Object newValue) { + IDiagram diagram = sender.getHint(DiagramHints.KEY_DIAGRAM); + Collection elements = AdaptionUtils.adaptToCollection(newValue, IElement.class); + if(diagram != null) { + Session session = SimanticsUI.getSession(); + session.asyncRequest(new ModifyDiagramSelection(session.getService(VirtualGraph.class), diagram, elements)); + } + } + + @HintListener(Class = Selection.class, Field = "SELECTION0") + public void hintRemoved(IHintObservable sender, Key key, Object oldValue) { + IDiagram diagram = sender.getHint(DiagramHints.KEY_DIAGRAM); + if(diagram != null) { + Session session = SimanticsUI.getSession(); + session.asyncRequest(new ModifyDiagramSelection(session.getService(VirtualGraph.class), diagram, null)); + } + } + + + private class ModifyDiagramSelection extends WriteRequest { + IDiagram diagram; + Collection elements; + + public ModifyDiagramSelection(VirtualGraph provider, IDiagram diagram, Collection elements) { + super(provider); + this.elements = elements; + this.diagram = diagram; + } + + @Override + public void perform(WriteGraph graph) throws DatabaseException { + Resource diagramRuntime = diagram.getHint(DiagramModelHints.KEY_DIAGRAM_RUNTIME_RESOURCE); + SysdynResource SR = SysdynResource.getInstance(graph); + DiagramResource DR = DiagramResource.getInstance(graph); + + graph.deny(diagramRuntime, SR.ConfigurationDiagram_selection); + + if(elements != null) { + for(IElement e : elements) { + Resource object = e.getHint(ElementHints.KEY_OBJECT); + if(object != null && graph.isInstanceOf(object, DR.Element)) { + graph.claim(diagramRuntime, SR.ConfigurationDiagram_selection, object); + } + } + } + } + } +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/profiles/ShadowStyle.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/profiles/ShadowStyle.java new file mode 100644 index 00000000..5e5f981c --- /dev/null +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/elements/profiles/ShadowStyle.java @@ -0,0 +1,161 @@ +/******************************************************************************* + * Copyright (c) 2013 Association for Decentralized Information Management in + * Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Semantum Oy - initial API and implementation + *******************************************************************************/ +package org.simantics.sysdyn.ui.elements.profiles; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Stroke; +import java.awt.geom.AffineTransform; +import java.awt.geom.Rectangle2D; +import java.util.Collection; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.variable.Variable; +import org.simantics.diagram.elements.TextNode; +import org.simantics.diagram.profile.StyleBase; +import org.simantics.diagram.synchronization.graph.DiagramGraphUtil; +import org.simantics.modeling.ModelingResources; +import org.simantics.scenegraph.INode; +import org.simantics.scenegraph.g2d.nodes.ShapeNode; +import org.simantics.scenegraph.g2d.nodes.SingleElementNode; +import org.simantics.scenegraph.profile.EvaluationContext; +import org.simantics.scenegraph.profile.common.ProfileVariables; +import org.simantics.scenegraph.utils.GeometryUtils; +import org.simantics.scenegraph.utils.NodeUtil; +import org.simantics.sysdyn.SysdynResource; +import org.simantics.sysdyn.ui.elements.profiles.ShadowResult.Style; +import org.simantics.utils.datastructures.map.Tuple; + +public class ShadowStyle extends StyleBase { + + private static String SHADOW_DECORATION_NODE = "SHADOW_DECORATION_NODE"; + private static Stroke SHADOW_DECORATION_STROKE = new BasicStroke(0.2f); + + @Override + public ShadowResult calculateStyle(ReadGraph graph, Resource runtimeDiagram, Resource entry, Resource element, Variable configuration) throws DatabaseException { + ModelingResources MOD = ModelingResources.getInstance(graph); + SysdynResource SR = SysdynResource.getInstance(graph); + + AffineTransform transform = DiagramGraphUtil.getAffineTransform(graph, element); + + Resource component = graph.getPossibleObject(element, MOD.ElementToComponent); + + Resource original = graph.getPossibleObject(component, SR.Shadow_original); + Collection shadows = graph.getObjects(component, SR.Shadow_original_Inverse); + + for(Resource r : graph.getObjects(runtimeDiagram, SR.ConfigurationDiagram_selection)) { + Resource selection = graph.getPossibleObject(r, MOD.ElementToComponent); + if(original != null) { + Collection otherShadows = graph.getObjects(original, SR.Shadow_original_Inverse); + otherShadows.remove(component); + if(selection.equals(original) || otherShadows.contains(selection)) { + return new ShadowResult(Style.SHADOW, transform); + } + } + + if(shadows.contains(selection)) { + return new ShadowResult(Style.ORIGINAL, transform); + } + } + + return new ShadowResult(Style.NONE, transform); + } + + public void applyStyleForNode(EvaluationContext observer, INode _node, ShadowResult result) { + + if(result == null || result.getStyle() == Style.NONE) { + cleanupStyleForNode(_node); + return; + } + // Create a node that will show the style effect + A node = ProfileVariables.claimChild(_node, "", SHADOW_DECORATION_NODE, A.class, observer); + if (node == null) + return; + + AffineTransform at = result.getTransform(); + + // Create a node for the style + INode n = NodeUtil.getNearestChildByClass((SingleElementNode)_node, TextNode.class); + Rectangle2D expandedElementBounds = GeometryUtils.expandRectangle( NodeUtil.getLocalElementBounds(n), 0.0); + node.setFill(false); + node.setColor(result.getStyle() == Style.SHADOW ? Color.BLUE : Color.MAGENTA); + node.setStroke(SHADOW_DECORATION_STROKE); + node.setValue("shape", expandedElementBounds); + node.setTransform(at); + + // Find z-index for the TextNode associated with the element and place the style node just below that text node + int zIndex = -1; + if(n != null) { + at = ((TextNode)n).getTransform(); + zIndex = ((TextNode)n).getZIndex() - 1; + } else { + n = _node; + } + node.setZIndex(zIndex); + + } + + @Override + protected void cleanupStyleForNode(INode node) { + ProfileVariables.denyChild(node, "", SHADOW_DECORATION_NODE); + } + + /** + * Dummy class for displaying the style + * + * @author Teemu Lempinen + * + */ + public static class A extends ShapeNode { + + private static final long serialVersionUID = -5273246617906214956L; + + @Override + public Rectangle2D getBoundsInLocal() { + return null; + } + + @Override + public Rectangle2D getBoundsInLocal(boolean b) { + return null; + } + + @Override + public Rectangle2D getBounds() { + return null; + } + + } + +} + +/** + * This is needed to keep the issue decoration up-to-date when its parent + * element moves. + */ +class ShadowResult extends Tuple { + + public enum Style{NONE, ORIGINAL, SHADOW}; + + public ShadowResult(Style style, AffineTransform transform) { + super(style, transform); + } + public Style getStyle() { + return (Style) getField(0); + } + + public AffineTransform getTransform() { + return (AffineTransform) getField(1); + } +} diff --git a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/ProfileEntries.java b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/ProfileEntries.java index f568a6ca..120bceb5 100644 --- a/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/ProfileEntries.java +++ b/org.simantics.sysdyn.ui/src/org/simantics/sysdyn/ui/utils/ProfileEntries.java @@ -31,7 +31,7 @@ public class ProfileEntries { Resource simulationPlaybackProfile = createProfile(graph, "Simulation Playback", sr.SimulationPlaybackProfile ,sr.Profiles_SimulationPlaybackColours); - Resource defaultProfile = createProfile(graph, "Default", sr.DefaultProfile, sr.Profiles_IssueWarnings); + Resource defaultProfile = createProfile(graph, "Default", sr.DefaultProfile, sr.Profiles_IssueWarnings, sr.Profiles_ShadowVisualizations); graph.claim(model, DIA.HasProfile, defaultProfile); graph.claim(model, L0.ConsistsOf, simulationPlaybackProfile); -- 2.47.1