X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.g2d%2Fsrc%2Forg%2Fsimantics%2Fg2d%2Felement%2Fhandler%2Fimpl%2FConfigurableEdgeVisuals.java;h=fc81bace0fa660d27a9ff3c1b7e47b4c078f8adf;hb=3a31aa451eae6bc9fa359ada9df47a354605f4b6;hp=1c58257b7e8e18bedec93c35d9cfd993267a86cf;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.g2d/src/org/simantics/g2d/element/handler/impl/ConfigurableEdgeVisuals.java b/bundles/org.simantics.g2d/src/org/simantics/g2d/element/handler/impl/ConfigurableEdgeVisuals.java index 1c58257b7..fc81bace0 100644 --- a/bundles/org.simantics.g2d/src/org/simantics/g2d/element/handler/impl/ConfigurableEdgeVisuals.java +++ b/bundles/org.simantics.g2d/src/org/simantics/g2d/element/handler/impl/ConfigurableEdgeVisuals.java @@ -1,154 +1,154 @@ -/******************************************************************************* - * 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.g2d.element.handler.impl; - -import java.awt.BasicStroke; -import java.awt.Stroke; - -import org.simantics.g2d.diagram.IDiagram; -import org.simantics.g2d.element.ElementHints; -import org.simantics.g2d.element.IElement; -import org.simantics.g2d.element.handler.EdgeVisuals; -import org.simantics.g2d.element.handler.LifeCycle; - -/** - * This implementation is for edges whose visual properties can be modified. - * - * @author Toni Kalajainen - */ -public class ConfigurableEdgeVisuals implements EdgeVisuals, LifeCycle { - - private static final long serialVersionUID = -8662807810086649742L; - - public static final Stroke DEFAULT_STROKE = - new BasicStroke(0.15f, - BasicStroke.CAP_BUTT, - BasicStroke.JOIN_ROUND, - 10.0f, null, 0.0f); - - public static final ConfigurableEdgeVisuals DEFAULT = - new ConfigurableEdgeVisuals(ArrowType.None, ArrowType.Fill, DEFAULT_STROKE, 1.0, 1.0); - - ArrowType beginArrow, endArrow; - public Stroke stroke; - public StrokeType strokeType; - double beginArrowSize, endArrowSize; - - public ConfigurableEdgeVisuals() - { - this.beginArrow = ArrowType.Stroke; - this.endArrow = ArrowType.Stroke; - this.stroke = DEFAULT_STROKE; - this.strokeType = StrokeType.Relative; - beginArrowSize = 1; - endArrowSize = 1; - } - - public ConfigurableEdgeVisuals(ArrowType initialBeginArrow, ArrowType initialEndArrow, Stroke initialStroke, double beginArrowSize, double endArrowSize) - { - this.beginArrow = initialBeginArrow; - this.endArrow = initialEndArrow; - this.stroke = initialStroke; - this.strokeType = StrokeType.Relative; - this.beginArrowSize = beginArrowSize; - this.endArrowSize = endArrowSize; - } - - public ConfigurableEdgeVisuals(ArrowType initialBeginArrow, ArrowType initialEndArrow, Stroke initialStroke, StrokeType initialStrokeType, double beginArrowSize, double endArrowSize) - { - this.beginArrow = initialBeginArrow; - this.endArrow = initialEndArrow; - this.stroke = initialStroke; - this.strokeType = initialStrokeType; - this.beginArrowSize = beginArrowSize; - this.endArrowSize = endArrowSize; - } - - @Override - public ArrowType getArrowType(IElement e, EdgeEnd end) { - if (end == EdgeEnd.Begin) - return e.getHint(ElementHints.KEY_BEGIN_ARROW); - if (end == EdgeEnd.End) - return e.getHint(ElementHints.KEY_END_ARROW); - return null; - } - - @Override - public StrokeType getStrokeType(IElement e) { - return e.getHint(ElementHints.KEY_EDGE_STROKE_TYPE); - } - - @Override - public Stroke getStroke(IElement e) { - return e.getHint(ElementHints.KEY_EDGE_STROKE); - } - - @Override - public void setArrowType(IElement e, EdgeEnd end, ArrowType arrowType) { - if (end == EdgeEnd.Begin) - e.setHint(ElementHints.KEY_BEGIN_ARROW, arrowType); - if (end == EdgeEnd.End) - e.setHint(ElementHints.KEY_END_ARROW, arrowType); - } - - @Override - public void setStrokeType(IElement e, StrokeType strokeType) { - e.setHint(ElementHints.KEY_EDGE_STROKE_TYPE, strokeType); - } - - @Override - public void setStroke(IElement e, Stroke s) { - e.setHint(ElementHints.KEY_EDGE_STROKE, s); - } - - @Override - public void onElementActivated(IDiagram d, IElement e) { - } - - @Override - public void onElementCreated(IElement e) { - e.setHint(ElementHints.KEY_BEGIN_ARROW, beginArrow); - e.setHint(ElementHints.KEY_END_ARROW, endArrow); - e.setHint(ElementHints.KEY_EDGE_STROKE, stroke); - e.setHint(ElementHints.KEY_EDGE_STROKE_TYPE, strokeType); - e.setHint(ElementHints.KEY_BEGIN_ARROW_SIZE, beginArrowSize); - e.setHint(ElementHints.KEY_END_ARROW_SIZE, endArrowSize); - } - - @Override - public void onElementDeactivated(IDiagram d, IElement e) { - } - - @Override - public void onElementDestroyed(IElement e) { - } - - @Override - public double getArrowSize(IElement e, EdgeEnd end) { - if (end==EdgeEnd.Begin) - return e.getHint(ElementHints.KEY_BEGIN_ARROW_SIZE); - else - if (end==EdgeEnd.End) - return e.getHint(ElementHints.KEY_END_ARROW_SIZE); - return 0; - } - - @Override - public void setArrowSize(IElement e, EdgeEnd end, double size) { - if (end==EdgeEnd.Begin) - e.setHint(ElementHints.KEY_BEGIN_ARROW_SIZE, size); - else - if (end==EdgeEnd.End) - e.setHint(ElementHints.KEY_END_ARROW_SIZE, size); - } - -} +/******************************************************************************* + * 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.g2d.element.handler.impl; + +import java.awt.BasicStroke; +import java.awt.Stroke; + +import org.simantics.g2d.diagram.IDiagram; +import org.simantics.g2d.element.ElementHints; +import org.simantics.g2d.element.IElement; +import org.simantics.g2d.element.handler.EdgeVisuals; +import org.simantics.g2d.element.handler.LifeCycle; + +/** + * This implementation is for edges whose visual properties can be modified. + * + * @author Toni Kalajainen + */ +public class ConfigurableEdgeVisuals implements EdgeVisuals, LifeCycle { + + private static final long serialVersionUID = -8662807810086649742L; + + public static final Stroke DEFAULT_STROKE = + new BasicStroke(0.15f, + BasicStroke.CAP_BUTT, + BasicStroke.JOIN_ROUND, + 10.0f, null, 0.0f); + + public static final ConfigurableEdgeVisuals DEFAULT = + new ConfigurableEdgeVisuals(ArrowType.None, ArrowType.Fill, DEFAULT_STROKE, 1.0, 1.0); + + ArrowType beginArrow, endArrow; + public Stroke stroke; + public StrokeType strokeType; + double beginArrowSize, endArrowSize; + + public ConfigurableEdgeVisuals() + { + this.beginArrow = ArrowType.Stroke; + this.endArrow = ArrowType.Stroke; + this.stroke = DEFAULT_STROKE; + this.strokeType = StrokeType.Relative; + beginArrowSize = 1; + endArrowSize = 1; + } + + public ConfigurableEdgeVisuals(ArrowType initialBeginArrow, ArrowType initialEndArrow, Stroke initialStroke, double beginArrowSize, double endArrowSize) + { + this.beginArrow = initialBeginArrow; + this.endArrow = initialEndArrow; + this.stroke = initialStroke; + this.strokeType = StrokeType.Relative; + this.beginArrowSize = beginArrowSize; + this.endArrowSize = endArrowSize; + } + + public ConfigurableEdgeVisuals(ArrowType initialBeginArrow, ArrowType initialEndArrow, Stroke initialStroke, StrokeType initialStrokeType, double beginArrowSize, double endArrowSize) + { + this.beginArrow = initialBeginArrow; + this.endArrow = initialEndArrow; + this.stroke = initialStroke; + this.strokeType = initialStrokeType; + this.beginArrowSize = beginArrowSize; + this.endArrowSize = endArrowSize; + } + + @Override + public ArrowType getArrowType(IElement e, EdgeEnd end) { + if (end == EdgeEnd.Begin) + return e.getHint(ElementHints.KEY_BEGIN_ARROW); + if (end == EdgeEnd.End) + return e.getHint(ElementHints.KEY_END_ARROW); + return null; + } + + @Override + public StrokeType getStrokeType(IElement e) { + return e.getHint(ElementHints.KEY_EDGE_STROKE_TYPE); + } + + @Override + public Stroke getStroke(IElement e) { + return e.getHint(ElementHints.KEY_EDGE_STROKE); + } + + @Override + public void setArrowType(IElement e, EdgeEnd end, ArrowType arrowType) { + if (end == EdgeEnd.Begin) + e.setHint(ElementHints.KEY_BEGIN_ARROW, arrowType); + if (end == EdgeEnd.End) + e.setHint(ElementHints.KEY_END_ARROW, arrowType); + } + + @Override + public void setStrokeType(IElement e, StrokeType strokeType) { + e.setHint(ElementHints.KEY_EDGE_STROKE_TYPE, strokeType); + } + + @Override + public void setStroke(IElement e, Stroke s) { + e.setHint(ElementHints.KEY_EDGE_STROKE, s); + } + + @Override + public void onElementActivated(IDiagram d, IElement e) { + } + + @Override + public void onElementCreated(IElement e) { + e.setHint(ElementHints.KEY_BEGIN_ARROW, beginArrow); + e.setHint(ElementHints.KEY_END_ARROW, endArrow); + e.setHint(ElementHints.KEY_EDGE_STROKE, stroke); + e.setHint(ElementHints.KEY_EDGE_STROKE_TYPE, strokeType); + e.setHint(ElementHints.KEY_BEGIN_ARROW_SIZE, beginArrowSize); + e.setHint(ElementHints.KEY_END_ARROW_SIZE, endArrowSize); + } + + @Override + public void onElementDeactivated(IDiagram d, IElement e) { + } + + @Override + public void onElementDestroyed(IElement e) { + } + + @Override + public double getArrowSize(IElement e, EdgeEnd end) { + if (end==EdgeEnd.Begin) + return e.getHint(ElementHints.KEY_BEGIN_ARROW_SIZE); + else + if (end==EdgeEnd.End) + return e.getHint(ElementHints.KEY_END_ARROW_SIZE); + return 0; + } + + @Override + public void setArrowSize(IElement e, EdgeEnd end, double size) { + if (end==EdgeEnd.Begin) + e.setHint(ElementHints.KEY_BEGIN_ARROW_SIZE, size); + else + if (end==EdgeEnd.End) + e.setHint(ElementHints.KEY_END_ARROW_SIZE, size); + } + +}