1 package org.simantics.diagram.profile;
\r
3 import java.awt.geom.AffineTransform;
\r
5 import org.simantics.databoard.Bindings;
\r
6 import org.simantics.databoard.annotations.Optional;
\r
7 import org.simantics.databoard.binding.Binding;
\r
8 import org.simantics.databoard.util.Bean;
\r
9 import org.simantics.datatypes.literal.RGB;
\r
10 import org.simantics.datatypes.literal.Vec2d;
\r
11 import org.simantics.db.layer0.variable.Variable;
\r
12 import org.simantics.utils.datastructures.map.Tuple;
\r
14 public class IconResult extends Tuple implements IconButtonResult {
\r
16 public static class B extends Bean implements IconButtonConfiguration {
\r
17 private static final Binding BINDING = Bindings.getBindingUnchecked(B.class);
\r
19 public String iconName;
\r
21 public double loValue;
\r
22 public double hiValue;
\r
24 public RGB.Integer loColor;
\r
26 public RGB.Integer midColor;
\r
28 public RGB.Integer hiColor;
\r
30 public Vec2d offset;
\r
32 public boolean relativeTransform;
\r
33 public B(String id, String iconName, int index, double loValue, double hiValue, RGB.Integer loColor, RGB.Integer midColor, RGB.Integer hiColor, Vec2d offset, Vec2d size, boolean relativeTransform) {
\r
36 this.iconName = iconName;
\r
38 this.loValue = loValue;
\r
39 this.hiValue = hiValue;
\r
40 this.loColor = loColor;
\r
41 this.midColor = midColor;
\r
42 this.hiColor = hiColor;
\r
43 this.offset = offset;
\r
45 this.relativeTransform = relativeTransform;
\r
48 public Vec2d getOffset() {
\r
52 public String getId() {
\r
56 public Vec2d getSize() {
\r
60 public int getIndex() {
\r
64 public boolean getRelativeTransform() {
\r
65 return relativeTransform;
\r
68 public static class A extends Bean implements IconButtonState {
\r
69 private static final Binding BINDING = Bindings.getBindingUnchecked(A.class);
\r
70 public double value;
\r
72 public A(double value, B config) {
\r
75 this.config = config;
\r
78 public IconButtonConfiguration getConfiguration() {
\r
82 public IconResult(A a, Variable property, AffineTransform transform) {
\r
83 super(a, property, transform);
\r
86 return (A) getField(0);
\r
88 public Variable getProperty() {
\r
89 return (Variable) getField(1);
\r
91 public AffineTransform getParentTransform() {
\r
92 return (AffineTransform) getField(2);
\r
94 public IconResult withValue(double value) {
\r
95 return new IconResult(new A(value, getA().config), getProperty(), getParentTransform());
\r
98 public IconButtonState getState() {
\r