Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
xworker.javafx.control.TreeTableViewActions Maven / Gradle / Ivy
package xworker.javafx.control;
import javafx.scene.Node;
import javafx.scene.control.*;
import javafx.util.Callback;
import org.xmeta.ActionContext;
import org.xmeta.Thing;
import xworker.javafx.beans.property.PropertyFactory;
import xworker.javafx.util.JavaFXUtils;
import xworker.javafx.util.ThingCallback;
public class TreeTableViewActions {
static{
PropertyFactory.regist(TreeTableView.class, "tableMenuButtonVisibleProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.tableMenuButtonVisibleProperty();
});
PropertyFactory.regist(TreeTableView.class, "onScrollToColumnProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.onScrollToColumnProperty();
});
PropertyFactory.regist(TreeTableView.class, "columnResizePolicyProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.columnResizePolicyProperty();
});
PropertyFactory.regist(TreeTableView.class, "treeColumnProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.treeColumnProperty();
});
PropertyFactory.regist(TreeTableView.class, "sortModeProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.sortModeProperty();
});
PropertyFactory.regist(TreeTableView.class, "fixedCellSizeProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.fixedCellSizeProperty();
});
PropertyFactory.regist(TreeTableView.class, "rootProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.rootProperty();
});
PropertyFactory.regist(TreeTableView.class, "placeholderProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.placeholderProperty();
});
PropertyFactory.regist(TreeTableView.class, "selectionModelProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.selectionModelProperty();
});
PropertyFactory.regist(TreeTableView.class, "editableProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.editableProperty();
});
PropertyFactory.regist(TreeTableView.class, "onScrollToProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.onScrollToProperty();
});
PropertyFactory.regist(TreeTableView.class, "focusModelProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.focusModelProperty();
});
PropertyFactory.regist(TreeTableView.class, "showRootProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.showRootProperty();
});
PropertyFactory.regist(TreeTableView.class, "onSortProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.onSortProperty();
});
PropertyFactory.regist(TreeTableView.class, "rowFactoryProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.rowFactoryProperty();
});
PropertyFactory.regist(TreeTableView.class, "sortPolicyProperty", o -> {
TreeTableView obj = (TreeTableView) o;
return obj.sortPolicyProperty();
});
}
public static void init(TreeTableView node, Thing thing, ActionContext actionContext){
ControlActions.init(node, thing, actionContext);
if(thing.valueExists("columnResizePolicy")){
Callback columnResizePolicy = JavaFXUtils.getObject(thing, "columnResizePolicy", actionContext);
if(columnResizePolicy != null) {
node.setColumnResizePolicy(columnResizePolicy);
}
}
if(thing.valueExists("editable")){
node.setEditable(thing.getBoolean("editable"));
}
if(thing.valueExists("fixedCellSize")){
node.setFixedCellSize(thing.getDouble("fixedCellSize"));
}
if(thing.valueExists("focusModel")){
TreeTableView.TreeTableViewFocusModel focusModel = JavaFXUtils.getObject(thing, "focusModel", actionContext);
if(focusModel != null) {
node.setFocusModel(focusModel);
}
}
if(thing.valueExists("placeholder")){
Node placeholder = JavaFXUtils.getObject(thing, "placeholder", actionContext);
if(placeholder != null) {
node.setPlaceholder(placeholder);
}
}
if(thing.valueExists("root")){
TreeItem root = JavaFXUtils.getObject(thing, "root", actionContext);
if(root != null) {
node.setRoot(root);
}
}
if(thing.valueExists("rowFactory")){
Callback, TreeTableRow> rowFactory = JavaFXUtils.getObject(thing, "rowFactory", actionContext);
if(rowFactory != null) {
node.setRowFactory(rowFactory);
}
}
if(thing.valueExists("selectionModel")){
if("MULTIPLE".equals(thing.getString("selectionModel"))){
node.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
}else{
node.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
}
}
if(thing.valueExists("cellSelectionEnabled")){
node.getSelectionModel().setCellSelectionEnabled(thing.getBoolean("cellSelectionEnabled"));
}
if(thing.valueExists("showRoot")){
node.setShowRoot(thing.getBoolean("showRoot"));
}
if(thing.valueExists("sortMode")){
node.setSortMode(TreeSortMode.valueOf(thing.getString("sortMode")));
}
if(thing.valueExists("sortPolicy")){
Callback,Boolean> sortPolicy = JavaFXUtils.getObject(thing, "sortPolicy", actionContext);
if(sortPolicy != null) {
node.setSortPolicy(sortPolicy);
}
}
if(thing.valueExists("tableMenuButtonVisible")){
node.setTableMenuButtonVisible(thing.getBoolean("tableMenuButtonVisible"));
}
if(thing.valueExists("treeColumn")){
TreeTableColumn treeColumn = JavaFXUtils.getObject(thing, "treeColumn", actionContext);
if(treeColumn != null) {
node.setTreeColumn(treeColumn);
}
}
}
public static TreeTableView create(ActionContext actionContext){
Thing self = actionContext.getObject("self");
TreeTableView node = new TreeTableView();
init(node, self, actionContext);
actionContext.g().put(self.getMetadata().getName(), node);
actionContext.peek().put("parent", node);
for(Thing child : self.getChilds()){
Object obj = child.doAction("create", actionContext);
if(obj instanceof TreeItem){
node.setRoot((TreeItem) obj);
}else if(obj instanceof TreeTableColumn){
node.getColumns().add((TreeTableColumn) obj);
}
}
return node;
}
public static void createColumnResizePolicy(ActionContext actionContext){
Thing self = actionContext.getObject("self");
TreeTableView parent = actionContext.getObject("parent");
parent.setColumnResizePolicy(new ThingCallback<>(self, actionContext));
}
public static void createRowFactory(ActionContext actionContext){
Thing self = actionContext.getObject("self");
TreeTableView parent = actionContext.getObject("parent");
parent.setRowFactory(new ThingRowFactory<>(self, actionContext));
}
public static void createSortPolicy(ActionContext actionContext){
Thing self = actionContext.getObject("self");
TreeTableView parent = actionContext.getObject("parent");
parent.setSortPolicy(new ThingCallback<>(self, actionContext));
}
public static void createPlaceholder(ActionContext actionContext){
Thing self = actionContext.getObject("self");
TreeTableView parent = actionContext.getObject("parent");
for(Thing child : self.getChilds()){
Object obj = child.doAction("create", actionContext);
if(obj instanceof Node){
parent.setPlaceholder((Node) obj);
}
}
}
public static ThingRowFactory createDefaultRowFactory(ActionContext actionContext){
Thing self = actionContext.getObject("self");
return new ThingRowFactory<>(self, actionContext);
}
public static class ThingRowFactory implements Callback,TreeTableRow>{
Thing thing;
ActionContext actionContext;
public ThingRowFactory(Thing thing, ActionContext actionContext){
this.thing = thing;
this.actionContext = actionContext;
}
@Override
public TreeTableRow call(TreeTableView param) {
TreeTableRow node = new TreeTableRowActions.ThingTreeTableRow(thing, actionContext);
TreeTableRowActions.init(node, thing, actionContext);
actionContext.peek().put("parent", node);
for(Thing child : thing.getChilds()){
child.doAction("create", actionContext);
}
return node;
}
}
}