-package org.simantics.diagram.profile;\r
-\r
-import java.awt.geom.AffineTransform;\r
-\r
-import org.simantics.databoard.Bindings;\r
-import org.simantics.databoard.annotations.Optional;\r
-import org.simantics.databoard.binding.Binding;\r
-import org.simantics.databoard.util.Bean;\r
-import org.simantics.datatypes.literal.Vec2d;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.scl.runtime.function.Function1;\r
-import org.simantics.utils.datastructures.map.Tuple;\r
-\r
-public class ButtonResult extends Tuple implements IconButtonResult {\r
- \r
- public static class B extends Bean implements IconButtonConfiguration {\r
- private static final Binding BINDING = Bindings.getBindingUnchecked(B.class);\r
- public String id;\r
- public int index;\r
- @Optional\r
- public Vec2d offset;\r
- public Vec2d size;\r
- public boolean relativeTransform;\r
- public ButtonMode mode;\r
- public B(String id, int index, Vec2d offset, Vec2d size, boolean relativeTransform, ButtonMode mode) {\r
- super(BINDING);\r
- this.id = id;\r
- this.index = index;\r
- this.offset = offset;\r
- this.size = size;\r
- this.relativeTransform = relativeTransform;\r
- this.mode = mode;\r
- }\r
- @Override\r
- public Vec2d getOffset() {\r
- return offset;\r
- }\r
- @Override\r
- public String getId() {\r
- return id;\r
- }\r
- @Override\r
- public Vec2d getSize() {\r
- return size;\r
- }\r
- @Override\r
- public int getIndex() {\r
- return index;\r
- }\r
- @Override\r
- public boolean getRelativeTransform() {\r
- return relativeTransform;\r
- }\r
- }\r
- public static class A extends Bean implements IconButtonState {\r
- private static final Binding BINDING = Bindings.getBindingUnchecked(A.class);\r
- public double value;\r
- public B config;\r
- public A(double value, B config) {\r
- super(BINDING);\r
- this.value = value;\r
- this.config = config;\r
- }\r
- @Override\r
- public IconButtonConfiguration getConfiguration() {\r
- return config;\r
- }\r
- }\r
- public ButtonResult(A a, Variable property, Function1<Boolean, Boolean> pressed, AffineTransform transform) {\r
- super(a, property, pressed, transform);\r
- }\r
- public A getA() {\r
- return (A) getField(0);\r
- }\r
- public Variable getProperty() {\r
- return (Variable) getField(1);\r
- }\r
- @SuppressWarnings("unchecked")\r
- public Function1<Boolean, Boolean> getPressed() {\r
- return (Function1<Boolean, Boolean>) getField(2);\r
- }\r
- public AffineTransform getParentTransform() {\r
- return (AffineTransform) getField(3);\r
- }\r
- public ButtonResult withValue(double value) {\r
- return new ButtonResult(new A(value, getA().config), getProperty(), getPressed(), getParentTransform());\r
- }\r
- @Override\r
- public IconButtonState getState() {\r
- return getA();\r
- }\r
+package org.simantics.diagram.profile;
+
+import java.awt.geom.AffineTransform;
+
+import org.simantics.databoard.Bindings;
+import org.simantics.databoard.annotations.Optional;
+import org.simantics.databoard.binding.Binding;
+import org.simantics.databoard.util.Bean;
+import org.simantics.datatypes.literal.Vec2d;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.scl.runtime.function.Function1;
+import org.simantics.utils.datastructures.map.Tuple;
+
+public class ButtonResult extends Tuple implements IconButtonResult {
+
+ public static class B extends Bean implements IconButtonConfiguration {
+ private static final Binding BINDING = Bindings.getBindingUnchecked(B.class);
+ public String id;
+ public int index;
+ @Optional
+ public Vec2d offset;
+ public Vec2d size;
+ public boolean relativeTransform;
+ public ButtonMode mode;
+ public B(String id, int index, Vec2d offset, Vec2d size, boolean relativeTransform, ButtonMode mode) {
+ super(BINDING);
+ this.id = id;
+ this.index = index;
+ this.offset = offset;
+ this.size = size;
+ this.relativeTransform = relativeTransform;
+ this.mode = mode;
+ }
+ @Override
+ public Vec2d getOffset() {
+ return offset;
+ }
+ @Override
+ public String getId() {
+ return id;
+ }
+ @Override
+ public Vec2d getSize() {
+ return size;
+ }
+ @Override
+ public int getIndex() {
+ return index;
+ }
+ @Override
+ public boolean getRelativeTransform() {
+ return relativeTransform;
+ }
+ }
+ public static class A extends Bean implements IconButtonState {
+ private static final Binding BINDING = Bindings.getBindingUnchecked(A.class);
+ public double value;
+ public B config;
+ public A(double value, B config) {
+ super(BINDING);
+ this.value = value;
+ this.config = config;
+ }
+ @Override
+ public IconButtonConfiguration getConfiguration() {
+ return config;
+ }
+ }
+ public ButtonResult(A a, Variable property, Function1<Boolean, Boolean> pressed, AffineTransform transform) {
+ super(a, property, pressed, transform);
+ }
+ public A getA() {
+ return (A) getField(0);
+ }
+ public Variable getProperty() {
+ return (Variable) getField(1);
+ }
+ @SuppressWarnings("unchecked")
+ public Function1<Boolean, Boolean> getPressed() {
+ return (Function1<Boolean, Boolean>) getField(2);
+ }
+ public AffineTransform getParentTransform() {
+ return (AffineTransform) getField(3);
+ }
+ public ButtonResult withValue(double value) {
+ return new ButtonResult(new A(value, getA().config), getProperty(), getPressed(), getParentTransform());
+ }
+ @Override
+ public IconButtonState getState() {
+ return getA();
+ }
}
\ No newline at end of file