[FEAT] manage a good display of the rectangle ==> next step is corecting the box

This commit is contained in:
Edouard DUPIN 2025-07-17 23:23:05 +02:00
parent 29ef90c1a3
commit 3bbe3afe23
5 changed files with 207 additions and 166 deletions

View File

@ -1155,7 +1155,7 @@ public class ModelWidget extends Container {
final var simpleLabel = new Label("bottom-left"); final var simpleLabel = new Label("bottom-left");
simpleLabel.setPropertyExpand(Vector2b.FALSE); simpleLabel.setPropertyExpand(Vector2b.FALSE);
simpleLabel.setPropertyFill(Vector2b.TRUE); simpleLabel.setPropertyFill(Vector2b.TRUE);
simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL)); simpleLabel.setPropertyMinSize(new Dimension2f(new Vector2f(100, 0), Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT); simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel); lineSizer.subWidgetAdd(simpleLabel);
@ -1164,6 +1164,9 @@ public class ModelWidget extends Container {
spin.setPropertyFill(Vector2b.TRUE); spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().bottomLeft()); spin.setPropertyValue((int) value.size().bottomLeft());
lineSizer.subWidgetAdd(spin); lineSizer.subWidgetAdd(spin);
final var spacer = new Spacer();
spacer.setPropertyMinSize(new Dimension2f(new Vector2f(5, 0), Distance.PIXEL));
lineSizer.subWidgetAdd(spacer);
final var con = spin.signalValue.connect(newValue -> { final var con = spin.signalValue.connect(newValue -> {
try { try {
final var oldValue = pojo.getValue(widget); final var oldValue = pojo.getValue(widget);
@ -1188,7 +1191,7 @@ public class ModelWidget extends Container {
final var simpleLabel = new Label("bottom-right"); final var simpleLabel = new Label("bottom-right");
simpleLabel.setPropertyExpand(Vector2b.FALSE); simpleLabel.setPropertyExpand(Vector2b.FALSE);
simpleLabel.setPropertyFill(Vector2b.TRUE); simpleLabel.setPropertyFill(Vector2b.TRUE);
simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL)); simpleLabel.setPropertyMinSize(new Dimension2f(new Vector2f(100, 0), Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT); simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel); lineSizer.subWidgetAdd(simpleLabel);
@ -1197,6 +1200,9 @@ public class ModelWidget extends Container {
spin.setPropertyFill(Vector2b.TRUE); spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().bottomRight()); spin.setPropertyValue((int) value.size().bottomRight());
lineSizer.subWidgetAdd(spin); lineSizer.subWidgetAdd(spin);
final var spacer = new Spacer();
spacer.setPropertyMinSize(new Dimension2f(new Vector2f(5, 0), Distance.PIXEL));
lineSizer.subWidgetAdd(spacer);
final var con = spin.signalValue.connect(newValue -> { final var con = spin.signalValue.connect(newValue -> {
try { try {
final var oldValue = pojo.getValue(widget); final var oldValue = pojo.getValue(widget);
@ -1221,7 +1227,7 @@ public class ModelWidget extends Container {
final var simpleLabel = new Label("top-right"); final var simpleLabel = new Label("top-right");
simpleLabel.setPropertyExpand(Vector2b.FALSE); simpleLabel.setPropertyExpand(Vector2b.FALSE);
simpleLabel.setPropertyFill(Vector2b.TRUE); simpleLabel.setPropertyFill(Vector2b.TRUE);
simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL)); simpleLabel.setPropertyMinSize(new Dimension2f(new Vector2f(100, 0), Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT); simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel); lineSizer.subWidgetAdd(simpleLabel);
@ -1230,6 +1236,9 @@ public class ModelWidget extends Container {
spin.setPropertyFill(Vector2b.TRUE); spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().topRight()); spin.setPropertyValue((int) value.size().topRight());
lineSizer.subWidgetAdd(spin); lineSizer.subWidgetAdd(spin);
final var spacer = new Spacer();
spacer.setPropertyMinSize(new Dimension2f(new Vector2f(5, 0), Distance.PIXEL));
lineSizer.subWidgetAdd(spacer);
final var con = spin.signalValue.connect(newValue -> { final var con = spin.signalValue.connect(newValue -> {
try { try {
final var oldValue = pojo.getValue(widget); final var oldValue = pojo.getValue(widget);
@ -1254,7 +1263,7 @@ public class ModelWidget extends Container {
final var simpleLabel = new Label("top-left"); final var simpleLabel = new Label("top-left");
simpleLabel.setPropertyExpand(Vector2b.FALSE); simpleLabel.setPropertyExpand(Vector2b.FALSE);
simpleLabel.setPropertyFill(Vector2b.TRUE); simpleLabel.setPropertyFill(Vector2b.TRUE);
simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL)); simpleLabel.setPropertyMinSize(new Dimension2f(new Vector2f(100, 0), Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT); simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel); lineSizer.subWidgetAdd(simpleLabel);
@ -1263,6 +1272,9 @@ public class ModelWidget extends Container {
spin.setPropertyFill(Vector2b.TRUE); spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().topLeft()); spin.setPropertyValue((int) value.size().topLeft());
lineSizer.subWidgetAdd(spin); lineSizer.subWidgetAdd(spin);
final var spacer = new Spacer();
spacer.setPropertyMinSize(new Dimension2f(new Vector2f(5, 0), Distance.PIXEL));
lineSizer.subWidgetAdd(spacer);
final var con = spin.signalValue.connect(newValue -> { final var con = spin.signalValue.connect(newValue -> {
try { try {
final var oldValue = pojo.getValue(widget); final var oldValue = pojo.getValue(widget);
@ -1299,7 +1311,7 @@ public class ModelWidget extends Container {
final var simpleLabel = new Label("left"); final var simpleLabel = new Label("left");
simpleLabel.setPropertyExpand(Vector2b.FALSE); simpleLabel.setPropertyExpand(Vector2b.FALSE);
simpleLabel.setPropertyFill(Vector2b.TRUE); simpleLabel.setPropertyFill(Vector2b.TRUE);
simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL)); simpleLabel.setPropertyMinSize(new Dimension2f(new Vector2f(100, 0), Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT); simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel); lineSizer.subWidgetAdd(simpleLabel);
@ -1308,6 +1320,9 @@ public class ModelWidget extends Container {
spin.setPropertyFill(Vector2b.TRUE); spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().left()); spin.setPropertyValue((int) value.size().left());
lineSizer.subWidgetAdd(spin); lineSizer.subWidgetAdd(spin);
final var spacer = new Spacer();
spacer.setPropertyMinSize(new Dimension2f(new Vector2f(5, 0), Distance.PIXEL));
lineSizer.subWidgetAdd(spacer);
final var con = spin.signalValue.connect(newValue -> { final var con = spin.signalValue.connect(newValue -> {
try { try {
final var oldValue = pojo.getValue(widget); final var oldValue = pojo.getValue(widget);
@ -1332,7 +1347,7 @@ public class ModelWidget extends Container {
final var simpleLabel = new Label("bottom"); final var simpleLabel = new Label("bottom");
simpleLabel.setPropertyExpand(Vector2b.FALSE); simpleLabel.setPropertyExpand(Vector2b.FALSE);
simpleLabel.setPropertyFill(Vector2b.TRUE); simpleLabel.setPropertyFill(Vector2b.TRUE);
simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL)); simpleLabel.setPropertyMinSize(new Dimension2f(new Vector2f(100, 0), Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT); simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel); lineSizer.subWidgetAdd(simpleLabel);
@ -1341,6 +1356,9 @@ public class ModelWidget extends Container {
spin.setPropertyFill(Vector2b.TRUE); spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().bottom()); spin.setPropertyValue((int) value.size().bottom());
lineSizer.subWidgetAdd(spin); lineSizer.subWidgetAdd(spin);
final var spacer = new Spacer();
spacer.setPropertyMinSize(new Dimension2f(new Vector2f(5, 0), Distance.PIXEL));
lineSizer.subWidgetAdd(spacer);
final var con = spin.signalValue.connect(newValue -> { final var con = spin.signalValue.connect(newValue -> {
try { try {
final var oldValue = pojo.getValue(widget); final var oldValue = pojo.getValue(widget);
@ -1365,7 +1383,7 @@ public class ModelWidget extends Container {
final var simpleLabel = new Label("right"); final var simpleLabel = new Label("right");
simpleLabel.setPropertyExpand(Vector2b.FALSE); simpleLabel.setPropertyExpand(Vector2b.FALSE);
simpleLabel.setPropertyFill(Vector2b.TRUE); simpleLabel.setPropertyFill(Vector2b.TRUE);
simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL)); simpleLabel.setPropertyMinSize(new Dimension2f(new Vector2f(100, 0), Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT); simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel); lineSizer.subWidgetAdd(simpleLabel);
@ -1374,6 +1392,9 @@ public class ModelWidget extends Container {
spin.setPropertyFill(Vector2b.TRUE); spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().right()); spin.setPropertyValue((int) value.size().right());
lineSizer.subWidgetAdd(spin); lineSizer.subWidgetAdd(spin);
final var spacer = new Spacer();
spacer.setPropertyMinSize(new Dimension2f(new Vector2f(5, 0), Distance.PIXEL));
lineSizer.subWidgetAdd(spacer);
final var con = spin.signalValue.connect(newValue -> { final var con = spin.signalValue.connect(newValue -> {
try { try {
final var oldValue = pojo.getValue(widget); final var oldValue = pojo.getValue(widget);
@ -1398,7 +1419,7 @@ public class ModelWidget extends Container {
final var simpleLabel = new Label("top"); final var simpleLabel = new Label("top");
simpleLabel.setPropertyExpand(Vector2b.FALSE); simpleLabel.setPropertyExpand(Vector2b.FALSE);
simpleLabel.setPropertyFill(Vector2b.TRUE); simpleLabel.setPropertyFill(Vector2b.TRUE);
simpleLabel.setPropertyMinSize(new Dimension2f(Vector2f.VALUE_16, Distance.PIXEL)); simpleLabel.setPropertyMinSize(new Dimension2f(new Vector2f(100, 0), Distance.PIXEL));
simpleLabel.setPropertyGravity(Gravity.LEFT); simpleLabel.setPropertyGravity(Gravity.LEFT);
lineSizer.subWidgetAdd(simpleLabel); lineSizer.subWidgetAdd(simpleLabel);
@ -1407,6 +1428,9 @@ public class ModelWidget extends Container {
spin.setPropertyFill(Vector2b.TRUE); spin.setPropertyFill(Vector2b.TRUE);
spin.setPropertyValue((int) value.size().top()); spin.setPropertyValue((int) value.size().top());
lineSizer.subWidgetAdd(spin); lineSizer.subWidgetAdd(spin);
final var spacer = new Spacer();
spacer.setPropertyMinSize(new Dimension2f(new Vector2f(5, 0), Distance.PIXEL));
lineSizer.subWidgetAdd(spacer);
final var con = spin.signalValue.connect(newValue -> { final var con = spin.signalValue.connect(newValue -> {
try { try {
final var oldValue = pojo.getValue(widget); final var oldValue = pojo.getValue(widget);

View File

@ -104,18 +104,32 @@ public abstract class CompositingDrawing extends CompositingDraw {
public void circleBorderRaw( public void circleBorderRaw(
final Vector3f centerPos, final Vector3f centerPos,
final float radius, final float radius,
final float thicknessStart, float thicknessStart,
final float thicknessStop, float thicknessStop,
final float angleStart, final float angleStart,
final float angleStop) { final float angleStop) {
resetCount(); resetCount();
if (thicknessStart < 0.001 && thicknessStop < 0.001) {
return;
}
if (radius < 0.001) {
return;
}
if (thicknessStart > radius) {
thicknessStart = radius;
}
if (thicknessStop > radius) {
thicknessStop = radius;
}
int nbOcurence = (int) radius; int nbOcurence = (int) radius;
if (nbOcurence < 10) { if (nbOcurence < 10) {
nbOcurence = 10; nbOcurence = 10;
} }
for (int iii = 0; iii < nbOcurence; iii++) { for (int iii = 0; iii < nbOcurence; iii++) {
final float thickness = thicknessStart + ((thicknessStop - thicknessStart) * iii / nbOcurence); final float ratio = (float) iii / (float) nbOcurence;
final float angleOne = angleStart + (angleStop * iii / nbOcurence); final float thickness = thicknessStart + ((thicknessStop - thicknessStart) * ratio);
//final float thickness = thicknessStart * FMath.cos(ratio * FMath.PI * 0.5f) + thicknessStop * FMath.sin(ratio * FMath.PI * 0.5f);
final float angleOne = angleStart + (angleStop * ratio);
final float offsetExty = FMath.sin(angleOne) * (radius); final float offsetExty = FMath.sin(angleOne) * (radius);
final float offsetExtx = FMath.cos(angleOne) * (radius); final float offsetExtx = FMath.cos(angleOne) * (radius);
final float offsetInty = FMath.sin(angleOne) * (radius - thickness); final float offsetInty = FMath.sin(angleOne) * (radius - thickness);
@ -144,6 +158,9 @@ public abstract class CompositingDrawing extends CompositingDraw {
final float radiusStop, final float radiusStop,
final float angleStart, final float angleStart,
final float angleStop) { final float angleStop) {
if (radiusStart < 0.001 && radiusStop < 0.001) {
return;
}
resetCount(); resetCount();
int nbOcurence = (int) FMath.max(radiusStart, radiusStop); int nbOcurence = (int) FMath.max(radiusStart, radiusStop);
if (nbOcurence < 10) { if (nbOcurence < 10) {
@ -596,7 +613,7 @@ public abstract class CompositingDrawing extends CompositingDraw {
public void rectangleRadius(final Vector3f dest, final float radius) { public void rectangleRadius(final Vector3f dest, final float radius) {
internalSetColor(this.color); internalSetColor(this.color);
final boolean showConstruct = true; final boolean showConstruct = false;
rectangleRaw(this.position.add(new Vector3f(radius, 0, 0)), dest.less(new Vector3f(radius, 0, 0))); rectangleRaw(this.position.add(new Vector3f(radius, 0, 0)), dest.less(new Vector3f(radius, 0, 0)));
if (showConstruct) { if (showConstruct) {
@ -630,7 +647,7 @@ public abstract class CompositingDrawing extends CompositingDraw {
public void rectangleRadius(final Vector2f dest, final Insets thickness, final BorderRadius radius) { public void rectangleRadius(final Vector2f dest, final Insets thickness, final BorderRadius radius) {
internalSetColor(this.color); internalSetColor(this.color);
final boolean showConstruct = true; final boolean showConstruct = false;
if (showConstruct) { if (showConstruct) {
internalSetColor(Color.DARK_KHAKI); internalSetColor(Color.DARK_KHAKI);
@ -705,7 +722,7 @@ public abstract class CompositingDrawing extends CompositingDraw {
final Insets thickness, final Insets thickness,
final BorderRadius radius) { final BorderRadius radius) {
internalSetColor(this.colorBg); internalSetColor(this.colorBg);
final boolean showConstruct = true; final boolean showConstruct = false;
if (showConstruct) { if (showConstruct) {
internalSetColor(Color.KHAKI); internalSetColor(Color.KHAKI);
@ -735,7 +752,7 @@ public abstract class CompositingDrawing extends CompositingDraw {
// top-left // top-left
final Vector3f centerTopLeft = new Vector3f(this.position.x() + radius.topLeft(), dest.y() - radius.topLeft(), final Vector3f centerTopLeft = new Vector3f(this.position.x() + radius.topLeft(), dest.y() - radius.topLeft(),
0); 0);
circleBorderRaw(centerTopLeft, radius.topLeft(), thickness.left(), thickness.top(), FMath.PI * 0.5f, circleBorderRaw(centerTopLeft, radius.topLeft(), thickness.top(), thickness.left(), FMath.PI * 0.5f,
FMath.PI * 0.5f); FMath.PI * 0.5f);
// buttom area: // buttom area:

View File

@ -66,15 +66,10 @@ public class CompositingGC extends CompositingDrawing {
final Vector2f size, final Vector2f size,
final Insets thickness, final Insets thickness,
final BorderRadius radius) { final BorderRadius radius) {
if (radius == null || radius.isZero()) { setPos(position);
//addRectangle(position, size); rectangleRadius(position.add(size), thickness, radius);
//throw new RuntimeException("Not implemented ..."); if (!thickness.isZero()) {
} else { rectangleBorderRadius(position.add(size), thickness, radius);
setPos(position);
rectangleRadius(position.add(size), thickness, radius);
if (!thickness.isZero()) {
rectangleBorderRadius(position.add(size), thickness, radius);
}
} }
} }

View File

@ -182,13 +182,13 @@ public class Box extends Container {
LOGGER.debug("calculate min size: border=" + this.propertyBorderWidth); LOGGER.debug("calculate min size: border=" + this.propertyBorderWidth);
final Insets borderSize = this.propertyBorderWidth.getPixel(); final Insets borderSize = this.propertyBorderWidth.getPixel();
final Vector2f padding = this.propertyPadding.size().multiply(2); final Vector2f padding = this.propertyPadding.getPixel().multiply(2);
final Vector2f margin = this.propertyMargin.size().multiply(2); final Vector2f margin = this.propertyMargin.getPixel().multiply(2);
final Vector2f calculatedBoxMinSize = childMinSize.add(margin).add(padding).add(borderSize.toVector2f()); final Vector2f calculatedBoxMinSize = childMinSize.add(margin).add(padding).add(borderSize.toVector2f());
this.minSize = calculatedBoxMinSize; this.minSize = calculatedBoxMinSize;
this.maxSize = Vector2f.max(this.minSize, this.propertyMaxSize.size()); this.maxSize = Vector2f.max(this.minSize, this.propertyMaxSize.getPixel());
markToRedraw(); markToRedraw();
} }
@ -201,8 +201,8 @@ public class Box extends Container {
if (this.subWidget == null) { if (this.subWidget == null) {
return; return;
} }
final Vector2f localPadding = this.propertyPadding.size(); final Vector2f localPadding = this.propertyPadding.getPixel();
final Vector2f localMargin = this.propertyMargin.size(); final Vector2f localMargin = this.propertyMargin.getPixel();
final Insets localBorderSize = this.propertyBorderWidth.getPixel(); final Insets localBorderSize = this.propertyBorderWidth.getPixel();
final Vector2f offsetSubWidget = localPadding.add(localMargin).add(localBorderSize.toVector2f()); final Vector2f offsetSubWidget = localPadding.add(localMargin).add(localBorderSize.toVector2f());
@ -220,6 +220,7 @@ public class Box extends Container {
subWidgetSize = subWidgetSize.less(offsetSubWidget.multiply(2)); subWidgetSize = subWidgetSize.less(offsetSubWidget.multiply(2));
subWidgetSize = subWidgetSize.clipInteger(); subWidgetSize = subWidgetSize.clipInteger();
on a un pb ici car on double les margin, ce qui est normal, mai on redouble les border size
final Vector2f freeSizeWithoutWidget = this.size.less(offsetSubWidget.multiply(2)).less(subWidgetSize); final Vector2f freeSizeWithoutWidget = this.size.less(offsetSubWidget.multiply(2)).less(subWidgetSize);
Vector2f subWidgetOrigin = this.origin.add(this.propertyGravity.gravityGenerateDelta(freeSizeWithoutWidget)); Vector2f subWidgetOrigin = this.origin.add(this.propertyGravity.gravityGenerateDelta(freeSizeWithoutWidget));
subWidgetOrigin = subWidgetOrigin.add(offsetSubWidget); subWidgetOrigin = subWidgetOrigin.add(offsetSubWidget);
@ -266,8 +267,7 @@ public class Box extends Container {
this.startPosition = renderOrigin.toVector2i(); this.startPosition = renderOrigin.toVector2i();
this.endPosition = renderSize.toVector2i(); this.endPosition = renderSize.toVector2i();
//System.out.println("renderSize: " + this.renderSize); // remove data of the previous composition:
// remove data of the previous composition :
this.vectorialDraw.clear(); this.vectorialDraw.clear();
this.vectorialDraw.setPaintFillColor(this.propertyColor); this.vectorialDraw.setPaintFillColor(this.propertyColor);
this.vectorialDraw.setPaintStrokeColor(this.propertyBorderColor); this.vectorialDraw.setPaintStrokeColor(this.propertyBorderColor);

View File

@ -4,6 +4,8 @@ import org.atriasoft.aknot.annotation.AknotAttribute;
import org.atriasoft.aknot.annotation.AknotDescription; import org.atriasoft.aknot.annotation.AknotDescription;
import org.atriasoft.aknot.annotation.AknotManaged; import org.atriasoft.aknot.annotation.AknotManaged;
import org.atriasoft.aknot.annotation.AknotName; import org.atriasoft.aknot.annotation.AknotName;
import org.atriasoft.etk.DimensionBorderRadius;
import org.atriasoft.etk.DimensionInsets;
import org.atriasoft.etk.Uri; import org.atriasoft.etk.Uri;
import org.atriasoft.etk.math.Vector2b; import org.atriasoft.etk.math.Vector2b;
import org.atriasoft.ewol.Gravity; import org.atriasoft.ewol.Gravity;
@ -121,6 +123,7 @@ public class SpinBase extends Sizer {
} }
if (this.widgetButtonDown == null) { if (this.widgetButtonDown == null) {
this.widgetButtonDown = new Button(); this.widgetButtonDown = new Button();
this.widgetButtonDown.setPropertyBorderWidth(new DimensionInsets(2f, 1f, 2f, 1f));
if (this.config != null) { if (this.config != null) {
final String shaper = this.config.getString(this.confIdDownShaper); final String shaper = this.config.getString(this.confIdDownShaper);
LOGGER.trace("shaper button DOWN : " + shaper); LOGGER.trace("shaper button DOWN : " + shaper);
@ -137,6 +140,8 @@ public class SpinBase extends Sizer {
} }
if (this.widgetButtonUp == null) { if (this.widgetButtonUp == null) {
this.widgetButtonUp = new Button(); this.widgetButtonUp = new Button();
this.widgetButtonUp.setPropertyBorderWidth(new DimensionInsets(2, 2, 2, 1));
this.widgetButtonUp.setPropertyBorderRadius(new DimensionBorderRadius(0, 8, 8, 0));
if (this.config != null) { if (this.config != null) {
final String shaper = this.config.getString(this.confIdUpShaper); final String shaper = this.config.getString(this.confIdUpShaper);
LOGGER.trace("shaper button UP : " + shaper); LOGGER.trace("shaper button UP : " + shaper);