feat(renderer): add lastControlDataUpdateTime handling to SliderControl

This commit is contained in:
extio-de
2026-02-01 15:33:27 +01:00
parent fbadfb40ab
commit afefa8a46a
3 changed files with 15 additions and 2 deletions

View File

@@ -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) {

View File

@@ -24,16 +24,26 @@ public class G2DSliderControlImpl extends G2DBaseControlImpl implements SliderCo
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();
}

View File

@@ -183,6 +183,8 @@ public interface ControlRenderingBo extends RenderingBoHasDimension {
void setCustomData(SliderData data);
void setLastControlDataUpdateTime(long time);
}
/*