package com.github.czyzby.lml.vis.parser.impl.tag;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.github.czyzby.lml.parser.LmlParser;
import com.github.czyzby.lml.parser.tag.LmlActorBuilder;
import com.github.czyzby.lml.parser.tag.LmlTag;
import com.kotcrab.vis.ui.widget.Tooltip;
/** Handles attachable {@link Tooltip} widgets. Can be a child of any widget. Mapped to "visTooltip".
*
* @author MJ */
public class VisTooltipLmlTag extends VisTableLmlTag {
public VisTooltipLmlTag(final LmlParser parser, final LmlTag parentTag, final StringBuilder rawTagData) {
super(parser, parentTag, rawTagData);
}
@Override
protected Actor getNewInstanceOfActor(final LmlActorBuilder builder) {
final Tooltip tooltip = new Tooltip(builder.getStyleName());
tooltip.clearChildren(); // One empty cell is added, removing it.
return tooltip;
}
@Override
public boolean isAttachable() {
return true;
}
@Override
public void attachTo(final LmlTag tag) {
final Tooltip tooltip = (Tooltip) getActor();
tooltip.pack();
tooltip.setTarget(tag.getActor());
}
}