Search in sources :

Example 1 with ConfigurationGraphicsNodeItem

use of com.kyj.fx.voeditor.visual.main.model.vo.ConfigurationGraphicsNodeItem in project Gargoyle by callakrsos.

the class CustomSkinConfigView method load.

/**
	 * Load TreeItem
	 *
	 * @작성자 : KYJ
	 * @작성일 : 2016. 12. 2.
	 * @param item
	 */
private void load(ConfigurationTreeItem item) {
    if (item != null) {
        if (item instanceof ConfigurationGraphicsNodeItem) {
            ConfigurationGraphicsNodeItem node = (ConfigurationGraphicsNodeItem) item;
            if (node.getCustomOpenStyle() != null) {
                Consumer<Class<?>> customOpenStyle = node.getCustomOpenStyle();
                customOpenStyle.accept(node.getContentNode());
            } else if (node.getContentNode() != null) {
                Class<?> cont = node.getContentNode();
                try {
                    Object newInstance = cont.newInstance();
                    if (newInstance instanceof Parent) {
                        FxUtil.createStageAndShow((Parent) newInstance, stage -> {
                            stage.initOwner(CustomSkinConfigView.this.getScene().getWindow());
                            stage.setTitle(node.getItemName());
                        });
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
Also used : Button(javafx.scene.control.Button) Arrays(java.util.Arrays) TreeItem(javafx.scene.control.TreeItem) URISyntaxException(java.net.URISyntaxException) LoggerFactory(org.slf4j.LoggerFactory) TreeTableRow(javafx.scene.control.TreeTableRow) Parent(javafx.scene.Parent) TreeTableView(javafx.scene.control.TreeTableView) Callback(javafx.util.Callback) ObjectProperty(javafx.beans.property.ObjectProperty) Logger(org.slf4j.Logger) FontViewComposite(com.kyj.fx.voeditor.visual.component.font.FontViewComposite) FXMLController(com.kyj.fx.voeditor.visual.framework.annotation.FXMLController) ConfigItemTreeItem(com.kyj.fx.voeditor.visual.component.ConfigItemTreeItem) ValueUtil(com.kyj.fx.voeditor.visual.util.ValueUtil) Consumer(java.util.function.Consumer) FXML(javafx.fxml.FXML) FxUtil(com.kyj.fx.voeditor.visual.util.FxUtil) TreeTableColumn(javafx.scene.control.TreeTableColumn) ConfigurationLeafNodeItem(com.kyj.fx.voeditor.visual.main.model.vo.ConfigurationLeafNodeItem) ConfigurationGraphicsNodeItem(com.kyj.fx.voeditor.visual.main.model.vo.ConfigurationGraphicsNodeItem) ConfigurationTreeItem(com.kyj.fx.voeditor.visual.main.model.vo.ConfigurationTreeItem) SimpleObjectProperty(javafx.beans.property.SimpleObjectProperty) SkinManager(com.kyj.fx.voeditor.visual.momory.SkinManager) BorderPane(javafx.scene.layout.BorderPane) ConfigurationGraphicsNodeItem(com.kyj.fx.voeditor.visual.main.model.vo.ConfigurationGraphicsNodeItem) Parent(javafx.scene.Parent) URISyntaxException(java.net.URISyntaxException)

Example 2 with ConfigurationGraphicsNodeItem

use of com.kyj.fx.voeditor.visual.main.model.vo.ConfigurationGraphicsNodeItem in project Gargoyle by callakrsos.

the class ConfigurationViewController method change.

/**
	 * 트리를 더블클릭할때 처리되는 이벤트 함수이다.
	 *
	 * ConfigurationLeafNodeItem 타입의 트리노드인 경우에 ConfigurationLeafNodeItem 클래스안의
	 * ContentNode에 존재하는 Class를 읽은후 객체를 생성하며, 객체생성에 문제가 없는 경우 화면에 불러들인다.
	 *
	 * @작성자 : KYJ
	 * @작성일 : 2015. 11. 4.
	 * @param e
	 */
//	@FXML
//	public void tvItemsMouseClick(MouseEvent e) {
//		if (e.getClickCount() == 1) {
//			TreeItem<ConfigurationTreeItem> selectedItem = tvItems.getSelectionModel().getSelectedItem();
//			if (selectedItem == null) {
//				return;
//			}
//
//			change(selectedItem);
//		}
//	}
/**
	 *  선택 아이템 변경시 처리.
	 * @작성자 : KYJ
	 * @작성일 : 2016. 12. 1.
	 * @param selectedItem
	 */
private void change(TreeItem<ConfigurationTreeItem> selectedItem) {
    ConfigurationTreeItem value = selectedItem.getValue();
    if (value == null) {
        return;
    }
    if (value instanceof ConfigurationGraphicsNodeItem) {
        ConfigurationGraphicsNodeItem node = (ConfigurationGraphicsNodeItem) value;
        Class<?> contentNode = node.getContentNode();
        if (contentNode == null)
            return;
        try {
            Node newInstance = (Node) contentNode.newInstance();
            borContent.setCenter(newInstance);
        } catch (Exception e1) {
            LOGGER.error(ValueUtil.toString(e1));
        }
    }
}
Also used : ConfigurationGraphicsNodeItem(com.kyj.fx.voeditor.visual.main.model.vo.ConfigurationGraphicsNodeItem) Node(javafx.scene.Node) ConfigurationTreeItem(com.kyj.fx.voeditor.visual.main.model.vo.ConfigurationTreeItem)

Aggregations

ConfigurationGraphicsNodeItem (com.kyj.fx.voeditor.visual.main.model.vo.ConfigurationGraphicsNodeItem)2 ConfigurationTreeItem (com.kyj.fx.voeditor.visual.main.model.vo.ConfigurationTreeItem)2 ConfigItemTreeItem (com.kyj.fx.voeditor.visual.component.ConfigItemTreeItem)1 FontViewComposite (com.kyj.fx.voeditor.visual.component.font.FontViewComposite)1 FXMLController (com.kyj.fx.voeditor.visual.framework.annotation.FXMLController)1 ConfigurationLeafNodeItem (com.kyj.fx.voeditor.visual.main.model.vo.ConfigurationLeafNodeItem)1 SkinManager (com.kyj.fx.voeditor.visual.momory.SkinManager)1 FxUtil (com.kyj.fx.voeditor.visual.util.FxUtil)1 ValueUtil (com.kyj.fx.voeditor.visual.util.ValueUtil)1 URISyntaxException (java.net.URISyntaxException)1 Arrays (java.util.Arrays)1 Consumer (java.util.function.Consumer)1 ObjectProperty (javafx.beans.property.ObjectProperty)1 SimpleObjectProperty (javafx.beans.property.SimpleObjectProperty)1 FXML (javafx.fxml.FXML)1 Node (javafx.scene.Node)1 Parent (javafx.scene.Parent)1 Button (javafx.scene.control.Button)1 TreeItem (javafx.scene.control.TreeItem)1 TreeTableColumn (javafx.scene.control.TreeTableColumn)1