]> gerrit.simantics Code Review - simantics/district.git/blob - 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
1 package org.simantics.district.network.profile;
2
3 import java.util.Optional;
4
5 import org.simantics.db.Resource;
6
7 /**
8  * @author Tuukka Lehtonen
9  */
10 public class DiagramSettings {
11
12         public final Optional<Resource> vertexScalingProperty;
13         public final double vertexScalingScale;
14         public final Optional<Resource> edgeThicknessProperty;
15         public final double edgeThicknessScale;
16
17         public DiagramSettings(Resource vertexScalingProperty, double vertexScalingScale, Resource edgeThicknessProperty, double edgeThicknessScale) {
18                 this.vertexScalingProperty = Optional.ofNullable(vertexScalingProperty);
19                 this.vertexScalingScale = vertexScalingScale;
20                 this.edgeThicknessProperty = Optional.ofNullable(edgeThicknessProperty);
21                 this.edgeThicknessScale = edgeThicknessScale;
22         }
23
24         @Override
25         public int hashCode() {
26                 final int prime = 31;
27                 int result = 1;
28                 result = prime * result + edgeThicknessProperty.hashCode();
29                 long temp;
30                 temp = Double.doubleToLongBits(edgeThicknessScale);
31                 result = prime * result + (int) (temp ^ (temp >>> 32));
32 //              result = prime * result + vertexScalingProperty.hashCode();
33                 temp = Double.doubleToLongBits(vertexScalingScale);
34                 result = prime * result + (int) (temp ^ (temp >>> 32));
35                 return result;
36         }
37
38         @Override
39         public boolean equals(Object obj) {
40                 if (this == obj)
41                         return true;
42                 if (obj == null)
43                         return false;
44                 if (getClass() != obj.getClass())
45                         return false;
46                 DiagramSettings other = (DiagramSettings) obj;
47                 if (!edgeThicknessProperty.equals(other.edgeThicknessProperty))
48                         return false;
49                 if (Double.doubleToLongBits(edgeThicknessScale) != Double.doubleToLongBits(other.edgeThicknessScale))
50                         return false;
51                 if (!vertexScalingProperty.equals(other.vertexScalingProperty))
52                         return false;
53                 if (Double.doubleToLongBits(vertexScalingScale) != Double.doubleToLongBits(other.vertexScalingScale))
54                         return false;
55                 return true;
56         }
57
58         
59 }