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