package org.terasology.rendering.gui.components; import org.newdawn.slick.Color; import org.terasology.rendering.gui.framework.UIDisplayContainer; import javax.vecmath.Vector2f; public class UIListItem extends UIDisplayContainer { private Object _value; private String _text; private boolean _isSelected; private Vector2f _padding = new Vector2f(5f, 15f); //UI private final UIText _label; public UIListItem(Vector2f size, String text, Object value) { setSize(size); _text = text; _value = value; _label = new UIText(); _label.setVisible(true); _label.setColor(Color.lightGray); _label.setPosition(new Vector2f((getPosition().x + _padding.x), (getPosition().y + _padding.y))); _label.setText(_text); if (getSize().x < _label.getTextWidth()) { setSize(new Vector2f(_label.getTextWidth(), getSize().y)); } addDisplayElement(_label); } public Object getValue() { return _value; } public void setValue(Object value) { _value = value; } public String getText() { return _text; } public void setText(String text) { _label.setText(_text); _text = text; } public boolean isSelected() { return _isSelected; } public void setSelected(boolean selected) { _isSelected = selected; if (_isSelected) { setStyle("background-color", "#e1ddd4 1"); _label.setColor(Color.orange); } else { setStyle("background", "none"); _label.setColor(Color.lightGray); } } }