X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2FTLabel.java;h=cc341cfa862964ed9097c425ea4d10b55627ac0c;hb=12b90437b5f22c2ae6e9b9b14c3b62b60f6143e5;hp=75623ffc11ad8ecee95e062d4d0b506a4f63afca;hpb=1dac6b8d395e2bf3c1b58915f8f4f481d9e46793;p=nikiroo-utils.git diff --git a/src/jexer/TLabel.java b/src/jexer/TLabel.java index 75623ff..cc341cf 100644 --- a/src/jexer/TLabel.java +++ b/src/jexer/TLabel.java @@ -30,6 +30,7 @@ package jexer; import jexer.bits.CellAttributes; import jexer.bits.MnemonicString; +import jexer.bits.StringUtils; /** * TLabel implements a simple label, with an optional mnemonic hotkey action @@ -157,9 +158,9 @@ public class TLabel extends TWidget { final TAction action) { // Set parent and window - super(parent, false, x, y, text.length(), 1); + super(parent, false, x, y, 0, 1); - mnemonic = new MnemonicString(text); + setLabel(text); this.colorKey = colorKey; this.useWindowBackground = useWindowBackground; this.action = action; @@ -169,6 +170,27 @@ public class TLabel extends TWidget { // TWidget ---------------------------------------------------------------- // ------------------------------------------------------------------------ + /** + * Override TWidget's width: we can only set width at construction time. + * + * @param width new widget width (ignored) + */ + @Override + public void setWidth(final int width) { + // Do nothing + } + + /** + * Override TWidget's height: we can only set height at construction + * time. + * + * @param height new widget height (ignored) + */ + @Override + public void setHeight(final int height) { + // Do nothing + } + /** * Draw a static label. */ @@ -185,8 +207,8 @@ public class TLabel extends TWidget { mnemonicColor.setBackColor(background.getBackColor()); } putStringXY(0, 0, mnemonic.getRawLabel(), color); - if (mnemonic.getShortcutIdx() >= 0) { - putCharXY(mnemonic.getShortcutIdx(), 0, + if (mnemonic.getScreenShortcutIdx() >= 0) { + putCharXY(mnemonic.getScreenShortcutIdx(), 0, mnemonic.getShortcut(), mnemonicColor); } } @@ -220,12 +242,13 @@ public class TLabel extends TWidget { */ public void setLabel(final String label) { mnemonic = new MnemonicString(label); + super.setWidth(StringUtils.width(mnemonic.getRawLabel())); } /** * Get the label color. * - * @param return the ColorTheme key color to use for foreground text + * @return the ColorTheme key color to use for foreground text */ public String getColorKey() { return colorKey; @@ -245,7 +268,7 @@ public class TLabel extends TWidget { */ public void dispatch() { if (action != null) { - action.DO(); + action.DO(this); } }