Skip to content

Commit 9956180

Browse files
feature: set grid color for x/y plot widget
1 parent 7abd1ac commit 9956180

File tree

2 files changed

+30
-4
lines changed

2 files changed

+30
-4
lines changed

app/display/model/src/main/java/org/csstudio/display/builder/model/widgets/plots/PlotWidgetProperties.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.csstudio.display.builder.model.WidgetPropertyDescriptor;
2121
import org.csstudio.display.builder.model.persist.NamedWidgetColors;
2222
import org.csstudio.display.builder.model.persist.NamedWidgetFonts;
23+
import org.csstudio.display.builder.model.persist.WidgetColorService;
2324
import org.csstudio.display.builder.model.persist.WidgetFontService;
2425
import org.csstudio.display.builder.model.properties.CommonWidgetProperties;
2526
import org.csstudio.display.builder.model.properties.EnumWidgetProperty;
@@ -144,6 +145,7 @@ protected AxisWidgetProperty(final StructuredWidgetProperty.Descriptor axis_desc
144145
public WidgetProperty<WidgetFont> scaleFont() { return getElement(7); }
145146
/** @return Is axis visible? */
146147
public WidgetProperty<Boolean> visible() { return getElement(8); }
148+
147149
};
148150

149151
/** 'on_right' property: Should axis be on the right? */
@@ -170,7 +172,10 @@ public static YAxisWidgetProperty create(final StructuredWidgetProperty.Descript
170172
propTitleFont.createProperty(widget, WidgetFontService.get(NamedWidgetFonts.DEFAULT_BOLD)),
171173
propScaleFont.createProperty(widget, WidgetFontService.get(NamedWidgetFonts.DEFAULT)),
172174
propOnRight.createProperty(widget, false),
173-
CommonWidgetProperties.propVisible.createProperty(widget, true)));
175+
CommonWidgetProperties.propVisible.createProperty(widget, true),
176+
propGridColor.createProperty(widget, WidgetColorService.getColor(NamedWidgetColors.GRID))
177+
)
178+
);
174179
}
175180

176181
protected YAxisWidgetProperty(final StructuredWidgetProperty.Descriptor axis_descriptor,
@@ -185,6 +190,9 @@ protected YAxisWidgetProperty(final StructuredWidgetProperty.Descriptor axis_des
185190
// Element shifted from 8 in basic axis to 9 in Y axis
186191
@Override
187192
public WidgetProperty<Boolean> visible() { return getElement(9); }
193+
194+
/** @return Grid color */
195+
public WidgetProperty<WidgetColor> gridColor() { return getElement(10); }
188196
};
189197

190198

app/display/representation-javafx/src/main/java/org/csstudio/display/builder/representation/javafx/widgets/plots/XYPlotRepresentation.java

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
import org.csstudio.javafx.rtplot.TraceType;
4444
import org.csstudio.javafx.rtplot.YAxis;
4545
import org.csstudio.javafx.rtplot.internal.NumericAxis;
46+
import org.csstudio.javafx.rtplot.internal.YAxisImpl;
47+
import org.csstudio.javafx.rtplot.internal.util.GraphicsUtils;
4648
import org.epics.util.array.ArrayDouble;
4749
import org.epics.util.array.ListNumber;
4850
import org.epics.vtype.Display;
@@ -544,8 +546,10 @@ private void trackAxisChanges(final AxisWidgetProperty axis)
544546
axis.titleFont().addUntypedPropertyListener(config_listener);
545547
axis.scaleFont().addUntypedPropertyListener(config_listener);
546548
axis.visible().addUntypedPropertyListener(config_listener);
547-
if (axis instanceof YAxisWidgetProperty)
549+
if (axis instanceof YAxisWidgetProperty) {
548550
((YAxisWidgetProperty) axis).onRight().addUntypedPropertyListener(config_listener);
551+
((YAxisWidgetProperty) axis).gridColor().addUntypedPropertyListener(config_listener);
552+
}
549553
}
550554

551555
/** Ignore changed axis properties
@@ -562,8 +566,10 @@ private void ignoreAxisChanges(final AxisWidgetProperty axis)
562566
axis.titleFont().removePropertyListener(config_listener);
563567
axis.scaleFont().removePropertyListener(config_listener);
564568
axis.visible().removePropertyListener(config_listener);
565-
if (axis instanceof YAxisWidgetProperty)
569+
if (axis instanceof YAxisWidgetProperty) {
566570
((YAxisWidgetProperty) axis).onRight().removePropertyListener(config_listener);
571+
((YAxisWidgetProperty) axis).gridColor().removePropertyListener(config_listener);
572+
}
567573
}
568574

569575
private void yAxesChanged(final WidgetProperty<List<YAxisWidgetProperty>> property,
@@ -632,7 +638,7 @@ private void updateConfig()
632638
final Color foreground = JFXUtil.convert(model_widget.propForeground().getValue());
633639
plot.setForeground(foreground);
634640
plot.setBackground(JFXUtil.convert(model_widget.propBackground().getValue()));
635-
plot.setGridColor(JFXUtil.convert(model_widget.propGridColor().getValue()));
641+
// plot.setGridColor(JFXUtil.convert(model_widget.propGridColor().getValue()));
636642
plot.setTitleFont(JFXUtil.convert(model_widget.propTitleFont().getValue()));
637643
plot.setTitle(model_widget.propTitle().getValue());
638644

@@ -675,6 +681,18 @@ private void updateAxisConfig(final Axis<Double> plot_axis, final AxisWidgetProp
675681
plot_axis.setLabelFont(JFXUtil.convert(model_axis.titleFont().getValue()));
676682
plot_axis.setScaleFont(JFXUtil.convert(model_axis.scaleFont().getValue()));
677683
plot_axis.setVisible(model_axis.visible().getValue());
684+
if(plot_axis instanceof YAxisImpl) {
685+
((YAxisImpl)plot_axis).setGridColor(
686+
GraphicsUtils.convert(
687+
JFXUtil.convert(
688+
((YAxisWidgetProperty) model_axis).gridColor().getValue()
689+
)
690+
)
691+
);
692+
plot_axis.setColor(JFXUtil.convert(
693+
((YAxisWidgetProperty) model_axis).gridColor().getValue()
694+
));
695+
}
678696
}
679697

680698
private void updateRanges()

0 commit comments

Comments
 (0)