xworker.javafx.beans.property.SimpleDoublePropertyActions Maven / Gradle / Ivy
package xworker.javafx.beans.property;
import javafx.beans.property.DoubleProperty;
import javafx.beans.property.Property;
import javafx.beans.property.SimpleDoubleProperty;
import javafx.beans.value.ObservableValue;
import org.xmeta.ActionContext;
import org.xmeta.Thing;
public class SimpleDoublePropertyActions {
public static SimpleDoubleProperty create(ActionContext actionContext){
Thing self = actionContext.getObject("self");
Object bean = self.doAction("getBean", actionContext);
String name = self.getMetadata().getName();
double initialValue = self.doAction("getInitialValue", actionContext);
SimpleDoubleProperty property = new SimpleDoubleProperty(bean, name, initialValue);
actionContext.g().put(name, property);
actionContext.peek().put("parent", property);
for(Thing child : self.getChilds()){
child.doAction("create", actionContext);
}
return property;
}
public static void createBind(ActionContext actionContext){
Thing self = actionContext.getObject("self");
DoubleProperty parent = actionContext.getObject("parent");
ObservableValue value = self.doAction("getValue", actionContext);
if(value != null) {
parent.bind(value);
}
}
public static void createDindBidirectional(ActionContext actionContext){
Thing self = actionContext.getObject("self");
DoubleProperty parent = actionContext.getObject("parent");
Property other = self.doAction("getProperty", actionContext);
if(other != null) {
parent.bindBidirectional(other);
}
}
}