X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fdiagram%2Fmonitor%2FMonitorWriter.java;h=987994045152536df6d1852158e2e293c438a354;hp=9e3e84542d15021541c6b872434c36cc98333721;hb=refs%2Fchanges%2F38%2F238%2F2;hpb=24e2b34260f219f0d1644ca7a138894980e25b14 diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/MonitorWriter.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/MonitorWriter.java index 9e3e84542..987994045 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/MonitorWriter.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/MonitorWriter.java @@ -1,107 +1,107 @@ -/******************************************************************************* - * Copyright (c) 2007, 2010 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: - * VTT Technical Research Centre of Finland - initial API and implementation - *******************************************************************************/ -package org.simantics.modeling.ui.diagram.monitor; - -import org.simantics.databoard.Bindings; -import org.simantics.db.ReadGraph; -import org.simantics.db.Resource; -import org.simantics.db.WriteGraph; -import org.simantics.db.common.request.PossibleIndexRoot; -import org.simantics.db.common.request.PossibleTypedParent; -import org.simantics.db.exception.DatabaseException; -import org.simantics.diagram.elements.MonitorClass; -import org.simantics.diagram.stubs.DiagramResource; -import org.simantics.diagram.stubs.G2DResource; -import org.simantics.diagram.synchronization.graph.DiagramGraphUtil; -import org.simantics.diagram.synchronization.graph.ElementWriter; -import org.simantics.g2d.element.ElementHints; -import org.simantics.g2d.element.IElement; -import org.simantics.g2d.utils.Alignment; -import org.simantics.layer0.Layer0; -import org.simantics.modeling.ModelingResources; -import org.simantics.operation.Layer0X; -import org.simantics.simulation.ontology.SimulationResource; -import org.simantics.utils.strings.StringUtils; - -public class MonitorWriter implements ElementWriter { - - public static final Object LABEL = new Object(); - - @Override - public void addToGraph(WriteGraph g, IElement element, Resource elementResource) throws DatabaseException { - - Resource monitorComponent = element.getHint(MonitorClass.KEY_MONITOR_COMPONENT); - if (monitorComponent == null) - throw new IllegalArgumentException("KEY_MONITOR_COMPONENT hint not set"); - - Layer0 L0 = Layer0.getInstance(g); - Layer0X L0X = Layer0X.getInstance(g); - G2DResource G2D = G2DResource.getInstance(g); - DiagramResource DIA = DiagramResource.getInstance(g); - - if (!g.hasStatement(elementResource, L0X.ObtainsProperty)) { - Resource model = g.syncRequest(new PossibleIndexRoot(elementResource)); - if (model != null) { - Resource template = g.getPossibleObject(model, DIA.HasDefaultMonitorTemplate); - if (template != null) - g.claim(elementResource, L0X.ObtainsProperty1, null, template); - } - } - - String label = ""; - g.claimLiteral(elementResource, L0.HasLabel, label); - - Double ddir = element.getHint(MonitorClass.KEY_DIRECTION); - if (ddir != null) - DiagramGraphUtil.setRelatedValue(g, elementResource, DIA.HasDirection, L0.Double, ddir, Bindings.DOUBLE); - - if (g.isInstanceOf(monitorComponent, DIA.Element)) { - ModelingResources MOD = ModelingResources.getInstance(g); - Resource component = g.getPossibleObject(monitorComponent, MOD.ElementToComponent); - if (component != null) - monitorComponent = component; - } - - g.claim(elementResource, DIA.HasMonitorComponent, monitorComponent); - - final String monitorSuffix = StringUtils.safeString( (String) element.getHint(MonitorClass.KEY_MONITOR_SUFFIX) ); - g.claimLiteral(elementResource, DIA.HasMonitorSuffix, monitorSuffix, Bindings.STRING); - - Double borderWidth = element.getHint(MonitorClass.KEY_BORDER_WIDTH); - Alignment hAlign = element.getHint(ElementHints.KEY_HORIZONTAL_ALIGN); - Alignment vAlign = element.getHint(ElementHints.KEY_VERTICAL_ALIGN); -// MetricsFormat format = element.getHint(MonitorClass.KEY_NUMBER_FORMAT); - if (borderWidth != null) - g.claimLiteral(elementResource, G2D.HasStrokeWidth, borderWidth, Bindings.DOUBLE); - if (hAlign != null) - g.claim(elementResource, G2D.HasHorizontalAlignment, toResource(g, hAlign, G2D)); - if (vAlign != null) - g.claim(elementResource, G2D.HasVerticalAlignment, toResource(g, vAlign, G2D)); -// if (format != null) -// g.claim(elementResource, DIA.HasFormat, G2DUtils.createMetricsFormat(g, format)); - } - - Resource toResource(ReadGraph g, Alignment alignment, G2DResource g2d) { - switch (alignment) { - case LEADING: return g2d.Alignment_Leading; - case TRAILING: return g2d.Alignment_Trailing; - case CENTER: return g2d.Alignment_Center; - default: - throw new IllegalArgumentException("unsupported alignment: " + alignment); - } - } - - @Override - public void removeFromGraph(WriteGraph graph, Resource elementResource) throws DatabaseException { - } - -} +/******************************************************************************* + * Copyright (c) 2007, 2010 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: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.modeling.ui.diagram.monitor; + +import org.simantics.databoard.Bindings; +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.WriteGraph; +import org.simantics.db.common.request.PossibleIndexRoot; +import org.simantics.db.common.request.PossibleTypedParent; +import org.simantics.db.exception.DatabaseException; +import org.simantics.diagram.elements.MonitorClass; +import org.simantics.diagram.stubs.DiagramResource; +import org.simantics.diagram.stubs.G2DResource; +import org.simantics.diagram.synchronization.graph.DiagramGraphUtil; +import org.simantics.diagram.synchronization.graph.ElementWriter; +import org.simantics.g2d.element.ElementHints; +import org.simantics.g2d.element.IElement; +import org.simantics.g2d.utils.Alignment; +import org.simantics.layer0.Layer0; +import org.simantics.modeling.ModelingResources; +import org.simantics.operation.Layer0X; +import org.simantics.simulation.ontology.SimulationResource; +import org.simantics.utils.strings.StringUtils; + +public class MonitorWriter implements ElementWriter { + + public static final Object LABEL = new Object(); + + @Override + public void addToGraph(WriteGraph g, IElement element, Resource elementResource) throws DatabaseException { + + Resource monitorComponent = element.getHint(MonitorClass.KEY_MONITOR_COMPONENT); + if (monitorComponent == null) + throw new IllegalArgumentException("KEY_MONITOR_COMPONENT hint not set"); + + Layer0 L0 = Layer0.getInstance(g); + Layer0X L0X = Layer0X.getInstance(g); + G2DResource G2D = G2DResource.getInstance(g); + DiagramResource DIA = DiagramResource.getInstance(g); + + if (!g.hasStatement(elementResource, L0X.ObtainsProperty)) { + Resource model = g.syncRequest(new PossibleIndexRoot(elementResource)); + if (model != null) { + Resource template = g.getPossibleObject(model, DIA.HasDefaultMonitorTemplate); + if (template != null) + g.claim(elementResource, L0X.ObtainsProperty1, null, template); + } + } + + String label = ""; + g.claimLiteral(elementResource, L0.HasLabel, label); + + Double ddir = element.getHint(MonitorClass.KEY_DIRECTION); + if (ddir != null) + DiagramGraphUtil.setRelatedValue(g, elementResource, DIA.HasDirection, L0.Double, ddir, Bindings.DOUBLE); + + if (g.isInstanceOf(monitorComponent, DIA.Element)) { + ModelingResources MOD = ModelingResources.getInstance(g); + Resource component = g.getPossibleObject(monitorComponent, MOD.ElementToComponent); + if (component != null) + monitorComponent = component; + } + + g.claim(elementResource, DIA.HasMonitorComponent, monitorComponent); + + final String monitorSuffix = StringUtils.safeString( (String) element.getHint(MonitorClass.KEY_MONITOR_SUFFIX) ); + g.claimLiteral(elementResource, DIA.HasMonitorSuffix, monitorSuffix, Bindings.STRING); + + Double borderWidth = element.getHint(MonitorClass.KEY_BORDER_WIDTH); + Alignment hAlign = element.getHint(ElementHints.KEY_HORIZONTAL_ALIGN); + Alignment vAlign = element.getHint(ElementHints.KEY_VERTICAL_ALIGN); +// MetricsFormat format = element.getHint(MonitorClass.KEY_NUMBER_FORMAT); + if (borderWidth != null) + g.claimLiteral(elementResource, G2D.HasStrokeWidth, borderWidth, Bindings.DOUBLE); + if (hAlign != null) + g.claim(elementResource, G2D.HasHorizontalAlignment, toResource(g, hAlign, G2D)); + if (vAlign != null) + g.claim(elementResource, G2D.HasVerticalAlignment, toResource(g, vAlign, G2D)); +// if (format != null) +// g.claim(elementResource, DIA.HasFormat, G2DUtils.createMetricsFormat(g, format)); + } + + Resource toResource(ReadGraph g, Alignment alignment, G2DResource g2d) { + switch (alignment) { + case LEADING: return g2d.Alignment_Leading; + case TRAILING: return g2d.Alignment_Trailing; + case CENTER: return g2d.Alignment_Center; + default: + throw new IllegalArgumentException("unsupported alignment: " + alignment); + } + } + + @Override + public void removeFromGraph(WriteGraph graph, Resource elementResource) throws DatabaseException { + } + +}