X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2FTWidget.java;h=5be209e33b44ea79f4df2d85c49c454301e53bd0;hb=0ee88b6d705993df0d9e32cdc08c619605c7d75c;hp=d4ec1e2ba9ae8cfc23fb5eaac9d03915125d880b;hpb=227d6f00ab1e02efd71ac7437ade8b9beb5792d6;p=nikiroo-utils.git diff --git a/src/jexer/TWidget.java b/src/jexer/TWidget.java index d4ec1e2..5be209e 100644 --- a/src/jexer/TWidget.java +++ b/src/jexer/TWidget.java @@ -217,6 +217,23 @@ public abstract class TWidget implements Comparable { this.height = height; } + /** + * Change the dimensions. + * + * @param x absolute X position of the top-left corner + * @param y absolute Y position of the top-left corner + * @param width new widget width + * @param height new widget height + */ + public final void setDimensions(final int x, final int y, final int width, + final int height) { + + setX(x); + setY(y); + setWidth(width); + setHeight(height); + } + /** * My tab order inside a window or containing widget. */ @@ -427,7 +444,10 @@ public abstract class TWidget implements Comparable { if (parent == this) { return x; } - if ((parent instanceof TWindow) && !(parent instanceof TMenu)) { + if ((parent instanceof TWindow) + && !(parent instanceof TMenu) + && !(parent instanceof TDesktop) + ) { // Widgets on a TWindow have (0,0) as their top-left, but this is // actually the TWindow's (1,1). return parent.getAbsoluteX() + x + 1; @@ -446,7 +466,10 @@ public abstract class TWidget implements Comparable { if (parent == this) { return y; } - if ((parent instanceof TWindow) && !(parent instanceof TMenu)) { + if ((parent instanceof TWindow) + && !(parent instanceof TMenu) + && !(parent instanceof TDesktop) + ) { // Widgets on a TWindow have (0,0) as their top-left, but this is // actually the TWindow's (1,1). return parent.getAbsoluteY() + y + 1; @@ -868,8 +891,8 @@ public abstract class TWidget implements Comparable { */ public void onMouseDown(final TMouseEvent mouse) { // Default: do nothing, pass to children instead - for (int i = children.size() - 1 ; i >= 0 ; i--) { - TWidget widget = children.get(i); + for (int i = children.size() - 1 ; i >= 0 ; i--) { + TWidget widget = children.get(i); if (widget.mouseWouldHit(mouse)) { // Dispatch to this child, also activate it activate(widget); @@ -890,8 +913,8 @@ public abstract class TWidget implements Comparable { */ public void onMouseUp(final TMouseEvent mouse) { // Default: do nothing, pass to children instead - for (int i = children.size() - 1 ; i >= 0 ; i--) { - TWidget widget = children.get(i); + for (int i = children.size() - 1 ; i >= 0 ; i--) { + TWidget widget = children.get(i); if (widget.mouseWouldHit(mouse)) { // Dispatch to this child, also activate it activate(widget);