13
13
public class CircuitSettings implements SettingsPage {
14
14
private static LinkedList<PropertyDescriptor> properties;
16
private static boolean showContacts = true;
17
private static boolean showArrows = true;
18
private static Color activeWireColor = new Color(1.0f, 0.0f, 0.0f);
19
private static Double componentBorderWidth=1.0;
20
private static Double circuitWireWidth=1.0;
22
public static double getComponentBorderWidth() {
23
return componentBorderWidth;
26
public static void setComponentBorderWidth(double componentBorderWidth) {
27
CircuitSettings.componentBorderWidth = componentBorderWidth;
30
public static double getCircuitWireWidth() {
31
return circuitWireWidth;
34
public static void setCircuitWireWidth(double circuitWireWidth) {
35
CircuitSettings.circuitWireWidth = circuitWireWidth;
38
public static boolean getShowContacts() {
42
public static void setShowContacts(boolean showContacts) {
43
CircuitSettings.showContacts = showContacts;
46
public static boolean getShowArrows() {
47
return CircuitSettings.showArrows;
50
public static void setShowArrows(boolean showArrows) {
51
CircuitSettings.showArrows = showArrows;
54
public static Color getActiveWireColor() {
55
return CircuitSettings.activeWireColor;
58
public static void setActiveWireColor(Color activeWireColor) {
59
CircuitSettings.activeWireColor = activeWireColor;
62
public static Color getInactiveWireColor() {
63
return inactiveWireColor;
66
public static void setInactiveWireColor(Color inactiveWireColor) {
67
CircuitSettings.inactiveWireColor = inactiveWireColor;
70
private static Color inactiveWireColor = new Color(0.0f, 0.0f, 1.0f);
16
private static final String prefix = "CircuitSettings";
17
private static final String keyShowContacts = prefix + ".showContacts";
18
private static final String keyActiveWireColor = prefix + ".activeWireColor";
19
private static final String keyInactiveWireColor = prefix + ".inactiveWireColor";
20
private static final String keyBorderWidth = prefix + ".borderWidth";
21
private static final String keyWireWidth = prefix + ".wireWidth";
23
private static final boolean defaultShowContacts = true;
24
private static final Color defaultActiveWireColor = new Color(1.0f, 0.0f, 0.0f);
25
private static final Color defaultInactiveWireColor = new Color(0.0f, 0.0f, 1.0f);
26
private static final Double defaultBorderWidth = 0.06;
27
private static final Double defaultWireWidth = 0.04;
29
private static boolean showContacts = defaultShowContacts;
30
private static Color activeWireColor = defaultActiveWireColor;
31
private static Color inactiveWireColor = defaultInactiveWireColor;
32
private static Double borderWidth = defaultBorderWidth;
33
private static Double wireWidth = defaultWireWidth;
73
36
public Collection<PropertyDescriptor> getDescriptors() {
90
properties.add(new PropertyDeclaration<CircuitSettings, Boolean>(
91
this, "Show arrows", Boolean.class) {
92
protected void setter(CircuitSettings object, Boolean value) {
93
CircuitSettings.setShowArrows(value);
95
protected Boolean getter(CircuitSettings object) {
96
return CircuitSettings.getShowArrows();
100
53
properties.add(new PropertyDeclaration<CircuitSettings, Color>(
101
54
this, "Active wire", Color.class) {
102
55
protected void setter(CircuitSettings object, Color value) {
120
73
properties.add(new PropertyDeclaration<CircuitSettings, Double>(
121
this, "Component width", Double.class) {
74
this, "Border width", Double.class) {
122
75
protected void setter(CircuitSettings object, Double value) {
123
CircuitSettings.setComponentBorderWidth(value);
76
CircuitSettings.setBorderWidth(value);
125
78
protected Double getter(CircuitSettings object) {
126
return CircuitSettings.getComponentBorderWidth();
79
return CircuitSettings.getBorderWidth();
130
83
properties.add(new PropertyDeclaration<CircuitSettings, Double>(
131
84
this, "Wire width", Double.class) {
132
85
protected void setter(CircuitSettings object, Double value) {
133
CircuitSettings.setCircuitWireWidth(value);
86
CircuitSettings.setWireWidth(value);
135
88
protected Double getter(CircuitSettings object) {
136
return CircuitSettings.getCircuitWireWidth();
89
return CircuitSettings.getWireWidth();
152
105
public void load(Config config) {
153
showContacts = config.getBoolean("CircuitSettings.showContacts", true);
154
showArrows = config.getBoolean("CircuitSettings.showArrows", true);
156
activeWireColor = config.getColor("CircuitSettings.activeWireColor", new Color(1.0f, 0.0f, 0.0f));
157
inactiveWireColor = config.getColor("CircuitSettings.inactiveWireColor", new Color(0.0f, 0.0f, 1.0f));
159
componentBorderWidth = config.getDouble("CircuitSettings.componentBorderWidth", 0.06);
160
circuitWireWidth = config.getDouble("CircuitSettings.circuitWireWidth", 0.04);
106
setShowContacts(config.getBoolean(keyShowContacts, defaultShowContacts));
107
setActiveWireColor(config.getColor(keyActiveWireColor, defaultActiveWireColor));
108
setInactiveWireColor(config.getColor(keyInactiveWireColor, defaultInactiveWireColor));
109
setBorderWidth(config.getDouble(keyBorderWidth, defaultBorderWidth));
110
setWireWidth(config.getDouble(keyWireWidth, defaultWireWidth));
164
114
public void save(Config config) {
165
config.setBoolean("CircuitSettings.showContacts", showContacts);
166
config.setBoolean("CircuitSettings.showArrows", showArrows);
168
config.setColor("CircuitSettings.activeWireColor", activeWireColor);
169
config.setColor("CircuitSettings.inactiveWireColor", inactiveWireColor);
171
config.setDouble("CircuitSettings.componentBorderWidth", componentBorderWidth);
172
config.setDouble("CircuitSettings.circuitWireWidth", circuitWireWidth);
115
config.setBoolean(keyShowContacts, getShowContacts());
116
config.setColor(keyActiveWireColor, getActiveWireColor());
117
config.setColor(keyInactiveWireColor, getInactiveWireColor());
118
config.setDouble(keyBorderWidth, getBorderWidth());
119
config.setDouble(keyWireWidth, getWireWidth());
122
public static boolean getShowContacts() {
126
public static void setShowContacts(boolean value) {
127
showContacts = value;
130
public static Color getActiveWireColor() {
131
return activeWireColor;
134
public static void setActiveWireColor(Color value) {
135
activeWireColor = value;
138
public static Color getInactiveWireColor() {
139
return inactiveWireColor;
142
public static void setInactiveWireColor(Color value) {
143
inactiveWireColor = value;
146
public static double getBorderWidth() {
150
public static void setBorderWidth(double value) {
154
public static double getWireWidth() {
158
public static void setWireWidth(double value) {