X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2FTList.java;h=12e0b8a33cce977e93ce4a6fd30080adeb75e8dc;hb=HEAD;hp=a962f7cfe9eeee9b3ed579657964765add8bc772;hpb=9f613a0c54cb97e9305fd87ce8eb2f76ac82804e;p=fanfix.git diff --git a/src/jexer/TList.java b/src/jexer/TList.java index a962f7c..12e0b8a 100644 --- a/src/jexer/TList.java +++ b/src/jexer/TList.java @@ -327,6 +327,38 @@ public class TList extends TScrollableWidget { // TScrollableWidget ------------------------------------------------------ // ------------------------------------------------------------------------ + /** + * Override TWidget's width: we need to set child widget widths. + * + * @param width new widget width + */ + @Override + public void setWidth(final int width) { + super.setWidth(width); + if (hScroller != null) { + hScroller.setWidth(getWidth() - 1); + } + if (vScroller != null) { + vScroller.setX(getWidth() - 1); + } + } + + /** + * Override TWidget's height: we need to set child widget heights. + * + * @param height new widget height + */ + @Override + public void setHeight(final int height) { + super.setHeight(height); + if (hScroller != null) { + hScroller.setY(getHeight() - 1); + } + if (vScroller != null) { + vScroller.setHeight(getHeight() - 1); + } + } + /** * Resize for a new width/height. */ @@ -366,6 +398,9 @@ public class TList extends TScrollableWidget { int topY = 0; for (int i = begin; i < strings.size(); i++) { String line = strings.get(i); + if (line == null) { + line = ""; + } if (getHorizontalValue() < line.length()) { line = line.substring(getHorizontalValue()); } else { @@ -482,7 +517,7 @@ public class TList extends TScrollableWidget { assert (selectedString >= 0); assert (selectedString < strings.size()); if (enterAction != null) { - enterAction.DO(); + enterAction.DO(this); } } @@ -493,7 +528,7 @@ public class TList extends TScrollableWidget { assert (selectedString >= 0); assert (selectedString < strings.size()); if (moveAction != null) { - moveAction.DO(); + moveAction.DO(this); } } @@ -504,7 +539,7 @@ public class TList extends TScrollableWidget { assert (selectedString >= 0); assert (selectedString < strings.size()); if (singleClickAction != null) { - singleClickAction.DO(); + singleClickAction.DO(this); } }