feat(renderer): add lastControlDataUpdateTime handling to SliderControl
This commit is contained in:
@@ -352,6 +352,7 @@ public class G2DDrawControl extends G2DAbstractRenderingBo implements ControlRen
|
||||
((WindowPanelControl) control).setCustomData(this.windowPanelData);
|
||||
}
|
||||
else if (this.clazz == SliderControl.class && this.sliderData != null) {
|
||||
((SliderControl) control).setLastControlDataUpdateTime(this.lastControlDataUpdateTime);
|
||||
((SliderControl) control).setCustomData(this.sliderData);
|
||||
}
|
||||
else if (this.clazz == TableControl.class && this.tableData != null) {
|
||||
|
||||
@@ -23,16 +23,26 @@ public class G2DSliderControlImpl extends G2DBaseControlImpl implements SliderCo
|
||||
protected double lastValue2;
|
||||
|
||||
protected Consumer<Double> actionConsumer;
|
||||
|
||||
protected long lastControlDataUpdateTime;
|
||||
|
||||
protected long lastControlDataUpdateTimeInternal;
|
||||
|
||||
@Override
|
||||
public void setCustomData(final SliderData data) {
|
||||
if (data != null) {
|
||||
if (data != null && this.lastControlDataUpdateTimeInternal < this.lastControlDataUpdateTime) {
|
||||
this.setColor(data.color());
|
||||
this.setHorizontal(data.horizontal());
|
||||
this.setValue(data.value());
|
||||
this.setValue2(data.value2());
|
||||
this.lastControlDataUpdateTimeInternal = this.lastControlDataUpdateTime;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLastControlDataUpdateTime(final long time) {
|
||||
this.lastControlDataUpdateTime = time;
|
||||
}
|
||||
|
||||
public G2DSliderControlImpl() {
|
||||
|
||||
@@ -140,7 +150,7 @@ public class G2DSliderControlImpl extends G2DBaseControlImpl implements SliderCo
|
||||
|
||||
protected void createControl() {
|
||||
this.control = new CustomSlider(event -> {
|
||||
this.lastValue = Double.parseDouble(event.getActionCommand());
|
||||
this.setValue(Double.parseDouble(event.getActionCommand()));
|
||||
if (this.enabled) {
|
||||
this.performAction();
|
||||
}
|
||||
|
||||
@@ -182,6 +182,8 @@ public interface ControlRenderingBo extends RenderingBoHasDimension {
|
||||
public static interface SliderControl extends BaseControl {
|
||||
|
||||
void setCustomData(SliderData data);
|
||||
|
||||
void setLastControlDataUpdateTime(long time);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user