]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network/src/org/simantics/district/network/profile/DiagramSettings.java
Added Edge.ThicknessProperty for generic edge-thickness styling
[simantics/district.git] / org.simantics.district.network / src / org / simantics / district / network / profile / DiagramSettings.java
diff --git a/org.simantics.district.network/src/org/simantics/district/network/profile/DiagramSettings.java b/org.simantics.district.network/src/org/simantics/district/network/profile/DiagramSettings.java
new file mode 100644 (file)
index 0000000..8136b19
--- /dev/null
@@ -0,0 +1,59 @@
+package org.simantics.district.network.profile;
+
+import java.util.Optional;
+
+import org.simantics.db.Resource;
+
+/**
+ * @author Tuukka Lehtonen
+ */
+public class DiagramSettings {
+
+       public final Optional<Resource> vertexScalingProperty;
+       public final double vertexScalingScale;
+       public final Optional<Resource> edgeThicknessProperty;
+       public final double edgeThicknessScale;
+
+       public DiagramSettings(Resource vertexScalingProperty, double vertexScalingScale, Resource edgeThicknessProperty, double edgeThicknessScale) {
+               this.vertexScalingProperty = Optional.ofNullable(vertexScalingProperty);
+               this.vertexScalingScale = vertexScalingScale;
+               this.edgeThicknessProperty = Optional.ofNullable(edgeThicknessProperty);
+               this.edgeThicknessScale = edgeThicknessScale;
+       }
+
+       @Override
+       public int hashCode() {
+               final int prime = 31;
+               int result = 1;
+               result = prime * result + edgeThicknessProperty.hashCode();
+               long temp;
+               temp = Double.doubleToLongBits(edgeThicknessScale);
+               result = prime * result + (int) (temp ^ (temp >>> 32));
+//             result = prime * result + vertexScalingProperty.hashCode();
+               temp = Double.doubleToLongBits(vertexScalingScale);
+               result = prime * result + (int) (temp ^ (temp >>> 32));
+               return result;
+       }
+
+       @Override
+       public boolean equals(Object obj) {
+               if (this == obj)
+                       return true;
+               if (obj == null)
+                       return false;
+               if (getClass() != obj.getClass())
+                       return false;
+               DiagramSettings other = (DiagramSettings) obj;
+               if (!edgeThicknessProperty.equals(other.edgeThicknessProperty))
+                       return false;
+               if (Double.doubleToLongBits(edgeThicknessScale) != Double.doubleToLongBits(other.edgeThicknessScale))
+                       return false;
+               if (!vertexScalingProperty.equals(other.vertexScalingProperty))
+                       return false;
+               if (Double.doubleToLongBits(vertexScalingScale) != Double.doubleToLongBits(other.vertexScalingScale))
+                       return false;
+               return true;
+       }
+
+       
+}