de.rpgframework.jfx.rules.EditCarriedItemPane Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rpgframework-javafx Show documentation
Show all versions of rpgframework-javafx Show documentation
JavaFX extensions for the RPGFramework
package de.rpgframework.jfx.rules;
import java.util.List;
import java.util.function.BiFunction;
import org.prelle.javafx.ResponsiveControl;
import org.prelle.javafx.WindowMode;
import de.rpgframework.genericrpg.chargen.ComplexDataItemController;
import de.rpgframework.genericrpg.data.Choice;
import de.rpgframework.genericrpg.data.DataItem;
import de.rpgframework.genericrpg.data.Decision;
import de.rpgframework.genericrpg.items.AItemEnhancement;
import de.rpgframework.genericrpg.items.CarriedItem;
import de.rpgframework.genericrpg.items.ItemEnhancementValue;
import de.rpgframework.genericrpg.items.PieceOfGear;
import de.rpgframework.jfx.rules.skin.EditCarriedItemPaneWideSkin;
import de.rpgframework.jfx.rules.skin.Properties;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.collections.ObservableMap;
import javafx.scene.Node;
import javafx.scene.control.Control;
import javafx.scene.control.Skin;
/**
*
*/
public class EditCarriedItemPane, E extends AItemEnhancement> extends Control implements ResponsiveControl {
private ObjectProperty primaryNode = new SimpleObjectProperty();
private ObservableList> allowedCategories = FXCollections.observableArrayList();
private ObservableMap, ObservableList> itemsInCategory = FXCollections.observableHashMap();
private ObjectProperty, Decision[]>> optionCallbackProperty = new SimpleObjectProperty<>();
private CarriedItem model;
private ComplexDataItemController> enhanceCtrl;
//-------------------------------------------------------------------
public EditCarriedItemPane(CarriedItem model, ComplexDataItemController> enhanceCtrl) {
this.model = model;
this.enhanceCtrl = enhanceCtrl;
}
//-------------------------------------------------------------------
/**
* @see javafx.scene.control.Control#createDefaultSkin()
*/
public Skin> createDefaultSkin() {
return new EditCarriedItemPaneWideSkin(this);
}
//-------------------------------------------------------------------
public ObjectProperty primaryNodeProperty() { return primaryNode; }
public Node getPrimaryNode() { return primaryNode.get(); }
public EditCarriedItemPane setPrimaryNode(Node value) { primaryNode.set(value); return this; }
//-------------------------------------------------------------------
public void refresh() {
getProperties().put(Properties.RECREATE, Boolean.TRUE);
}
//-------------------------------------------------------------------
/**
* @see org.prelle.javafx.ResponsiveControl#setResponsiveMode(org.prelle.javafx.WindowMode)
*/
@Override
public void setResponsiveMode(WindowMode value) {
// TODO Auto-generated method stub
}
//-------------------------------------------------------------------
public CarriedItem getItem() { return model; }
public ComplexDataItemController> getEnhancementController() { return enhanceCtrl; }
//-------------------------------------------------------------------
public ObjectProperty, Decision[]>> optionCallbackProperty() { return optionCallbackProperty; }
public BiFunction, Decision[]> getOptionCallback() { return optionCallbackProperty.get(); }
public EditCarriedItemPane setOptionCallback(BiFunction, Decision[]> value) { optionCallbackProperty.setValue(value); return this;}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy