xworker.javafx.control.AccordionActions Maven / Gradle / Ivy
package xworker.javafx.control;
import javafx.scene.control.Accordion;
import javafx.scene.control.TitledPane;
import org.xmeta.ActionContext;
import org.xmeta.Thing;
import xworker.javafx.beans.property.PropertyFactory;
public class AccordionActions {
static{
PropertyFactory.regist(Accordion.class, "expandedPaneProperty", o -> {
Accordion obj = (Accordion) o;
return obj.expandedPaneProperty();
});
}
public static void init(Accordion accordion, Thing thing, ActionContext actionContext) {
ControlActions.init(accordion, thing, actionContext);
}
public static Accordion create(ActionContext actionContext) {
Thing self = actionContext.getObject("self");
Accordion accordion = new Accordion();
init(accordion, self, actionContext);
actionContext.g().put(self.getMetadata().getName(), accordion);
actionContext.peek().put("parent", accordion);
for(Thing child : self.getChilds()) {
Object obj = child.doAction("create", actionContext);
if(obj instanceof TitledPane) {
accordion.getPanes().add((TitledPane) obj);
}
}
return accordion;
}
}