package com.github.czyzby.lml.vis.parser.impl.attribute.tabbed.tab;
import com.github.czyzby.lml.parser.LmlParser;
import com.github.czyzby.lml.parser.action.ActorConsumer;
import com.github.czyzby.lml.parser.tag.LmlAttribute;
import com.github.czyzby.lml.parser.tag.LmlTag;
import com.github.czyzby.lml.util.LmlUtilities;
import com.github.czyzby.lml.vis.ui.VisTabTable;
/** See {@link com.kotcrab.vis.ui.widget.tabbedpane.Tab#setDirty(boolean)}. Mapped to "dirty".
*
* @author MJ */
public class TabDirtyLmlAttribute implements LmlAttribute<VisTabTable> {
@Override
public Class<VisTabTable> getHandledType() {
return VisTabTable.class;
}
@Override
public void process(final LmlParser parser, final LmlTag tag, final VisTabTable actor,
final String rawAttributeData) {
// Dirty setting has to be managed before other settings (savable in particular), so we're adding this as an
// onCreate action:
LmlUtilities.getLmlUserObject(actor).addOnCreateAction(new ActorConsumer<Object, Object>() {
@Override
public Object consume(final Object widget) {
actor.getTab().setDirty(parser.parseBoolean(rawAttributeData, actor));
return null;
}
});
}
}