Support showing tooltip when stat type button long pressed

This commit is contained in:
drdev
2014-06-21 03:37:17 +00:00
parent ce30fa2e96
commit 324fa60357
4 changed files with 16 additions and 2 deletions

View File

@@ -10,6 +10,7 @@ import forge.itemmanager.ItemManager;
import forge.itemmanager.SFilterUtil;
import forge.itemmanager.SItemManagerUtil;
import forge.itemmanager.SItemManagerUtil.StatTypes;
import forge.menu.FTooltip;
import forge.toolbox.FEvent;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FLabel;
@@ -45,6 +46,14 @@ public abstract class StatTypeFilter<T extends InventoryItem> extends ToggleButt
applyChange();
}
});
//show tooltip when long pressed
button.setLongPressHandler(new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
FTooltip tooltip = new FTooltip(st.label);
tooltip.show(button, 0, button.getHeight());
}
});
}
@Override

View File

@@ -59,6 +59,11 @@ public abstract class FDropDown extends FScrollPane {
return true;
}
@Override
public boolean longPress(float x, float y) {
return true; //prevent objects behind drop down handling long press
}
@Override
public void setVisible(boolean visible0) {
if (isVisible() == visible0) { return; }

View File

@@ -62,7 +62,7 @@ public class FTooltip extends FDropDown {
@Override
protected ScrollBounds updateAndGetPaneSize(float maxWidth, float maxVisibleHeight) {
TextBounds bounds = FONT.getWrappedBounds(text, maxWidth - 2 * PADDING);
return new ScrollBounds(maxWidth, bounds.height + 2 * PADDING);
return new ScrollBounds(Math.min(maxWidth, bounds.width + 2 * PADDING), bounds.height + 2 * PADDING);
}
@Override

View File

@@ -31,7 +31,7 @@ public final class SItemManagerUtil {
BLACK (FSkinProp.IMG_MANA_B, CardRulesPredicates.Presets.IS_BLACK, "Black cards"),
RED (FSkinProp.IMG_MANA_R, CardRulesPredicates.Presets.IS_RED, "Red cards"),
GREEN (FSkinProp.IMG_MANA_G, CardRulesPredicates.Presets.IS_GREEN, "Green cards"),
COLORLESS (FSkinProp.IMG_MANA_COLORLESS, CardRulesPredicates.Presets.IS_COLORLESS, " cards"),
COLORLESS (FSkinProp.IMG_MANA_COLORLESS, CardRulesPredicates.Presets.IS_COLORLESS, "Colorless cards"),
MULTICOLOR (FSkinProp.IMG_MULTI, CardRulesPredicates.Presets.IS_MULTICOLOR, "Multicolor cards"),
PACK_OR_DECK (FSkinProp.IMG_PACK, null, "Card packs and prebuilt decks"),