package com.digiarea.closure.model.controller; import java.net.URL; import java.util.ResourceBundle; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.geometry.VPos; import javafx.scene.control.CheckBox; import javafx.scene.control.ContentDisplay; import javafx.scene.control.Control; import javafx.scene.control.Label; import javafx.scene.control.MenuItem; import javafx.scene.control.ScrollPane; import javafx.scene.control.SingleSelectionModel; import javafx.scene.control.SplitMenuButton; import javafx.scene.control.Tab; import javafx.scene.control.TabPane; import javafx.scene.control.TabPane.TabClosingPolicy; import javafx.scene.control.Tooltip; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.ColumnConstraints; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Priority; import javafx.scene.layout.RowConstraints; import javafx.scene.layout.VBox; import com.digiarea.closure.model.bind.ModelFacade; /** * FXML Controller class * * @author daginno */ public class SOYPageController extends ClosureController implements Initializable { public SOYPageController(ModelFacade modelFacade, ResourceBundle bundle) { super(modelFacade, bundle); } @FXML private TabPane tabs; @FXML private Tab controlConsole; @FXML private CheckBox controlBuild; @FXML private SplitMenuButton btnRun; @FXML private Label labelMessageError; @FXML private Label labelMessageWarning; /** * Initializes the controller class. */ @Override public void initialize(URL url, ResourceBundle rb) { } @FXML private void handleRunButton(ActionEvent event) { SingleSelectionModel<Tab> selectionModel = tabs.getSelectionModel(); selectionModel.select(controlConsole); modelFacade.getSoyConsole().start(); } @FXML private void handleRunAllButton(ActionEvent event) { SingleSelectionModel<Tab> selectionModel = tabs.getSelectionModel(); selectionModel.select(controlConsole); modelFacade.getJsConsole().start(); modelFacade.getSoyConsole().start(); modelFacade.getGssConsole().start(); } public TabPane getTabs() { return tabs; } public CheckBox getBtnActivate() { return controlBuild; } public SplitMenuButton getBtnRun() { return btnRun; } public CheckBox getControlBuild() { return controlBuild; } public Label getLabelMessageError() { return labelMessageError; } public Label getLabelMessageWarning() { return labelMessageWarning; } public Tab getControlConsole() { return controlConsole; } public AnchorPane create() throws Exception { AnchorPane anchorPane35 = new AnchorPane(); anchorPane35.setId("AnchorPane"); anchorPane35.setMinHeight(Control.USE_PREF_SIZE); anchorPane35.setMinWidth(Control.USE_PREF_SIZE); anchorPane35.setPrefHeight(Control.USE_COMPUTED_SIZE); anchorPane35.setPrefWidth(Control.USE_COMPUTED_SIZE); VBox vBox60 = new VBox(); vBox60.setMinWidth(Control.USE_COMPUTED_SIZE); vBox60.setPrefHeight(Control.USE_COMPUTED_SIZE); vBox60.setPrefWidth(Control.USE_COMPUTED_SIZE); AnchorPane.setBottomAnchor(vBox60, 0.0); AnchorPane.setLeftAnchor(vBox60, 0.0); AnchorPane.setRightAnchor(vBox60, 0.0); AnchorPane.setTopAnchor(vBox60, 0.0); GridPane sOYTitleBox = new GridPane(); sOYTitleBox.setId("SOYTitleBox"); sOYTitleBox.setDisable(false); sOYTitleBox.setHgap(5.0); sOYTitleBox.setPrefHeight(40.0); sOYTitleBox.setPrefWidth(Control.USE_COMPUTED_SIZE); labelMessageError = new Label(); labelMessageError.setId("labelMessage"); labelMessageError.setText(""); labelMessageError.setVisible(false); labelMessageError.setWrapText(true); GridPane.setColumnIndex(labelMessageError, 1); GridPane.setRowIndex(labelMessageError, 0); Tooltip tooltip21 = new Tooltip(); tooltip21.setText("Empty Tooltip"); labelMessageError.setTooltip(tooltip21); sOYTitleBox.getChildren().add(labelMessageError); labelMessageWarning = new Label(); labelMessageWarning.setId("labelMessage"); labelMessageWarning.setText(""); labelMessageWarning.setVisible(false); labelMessageWarning.setWrapText(true); GridPane.setColumnIndex(labelMessageWarning, 2); GridPane.setRowIndex(labelMessageWarning, 0); Tooltip tooltip22 = new Tooltip(); tooltip22.setText("Empty Tooltip"); labelMessageWarning.setTooltip(tooltip22); sOYTitleBox.getChildren().add(labelMessageWarning); Label sOYTitle = new Label(); sOYTitle.setId("SOYTitle"); sOYTitle.setText(bundle.getString("SOYPage")); GridPane.setColumnIndex(sOYTitle, 0); GridPane.setRowIndex(sOYTitle, 0); ImageView imageView38 = new ImageView(); imageView38.setFitHeight(16.0); imageView38.setFitWidth(16.0); imageView38.setMouseTransparent(true); imageView38.setPickOnBounds(true); imageView38.setPreserveRatio(true); Image image38 = new Image(getClass().getResource("/com/digiarea/closurefx/resources/closure-white.png").openStream()); imageView38.setImage(image38); sOYTitle.setGraphic(imageView38); sOYTitleBox.getChildren().add(sOYTitle); controlBuild = new CheckBox(); controlBuild.setId("btnActivate"); controlBuild.setAlignment(Pos.CENTER_RIGHT); controlBuild.setContentDisplay(ContentDisplay.RIGHT); controlBuild.setDisable(false); controlBuild.setMnemonicParsing(false); controlBuild.getStyleClass().add("activate_checkbox"); controlBuild.setText(bundle.getString("ClosureActivate_Templates")); GridPane.setColumnIndex(controlBuild, 4); GridPane.setRowIndex(controlBuild, 0); sOYTitleBox.getChildren().add(controlBuild); btnRun = new SplitMenuButton(); btnRun.setContentDisplay(ContentDisplay.LEFT); btnRun.setDisable(false); btnRun.setMnemonicParsing(false); btnRun.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { handleRunButton(event); } }); btnRun.getStyleClass().add("activate_split-menu-button"); btnRun.setText(bundle.getString("ClosureMenu_RunTemplates")); GridPane.setColumnIndex(btnRun, 3); GridPane.setRowIndex(btnRun, 0); ImageView imageView39 = new ImageView(); imageView39.setFitHeight(16.0); imageView39.setFitWidth(16.0); imageView39.setMouseTransparent(true); imageView39.setPickOnBounds(true); imageView39.setPreserveRatio(true); Image image39 = new Image(getClass().getResource("/com/digiarea/closurefx/resources/launch-blue.png").openStream()); imageView39.setImage(image39); btnRun.setGraphic(imageView39); MenuItem menuItem2 = new MenuItem(); menuItem2.setMnemonicParsing(false); menuItem2.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { handleRunAllButton(event); } }); menuItem2.setText(bundle.getString("ClosureMenu_RunConf")); ImageView imageView40 = new ImageView(); imageView40.setFitHeight(16.0); imageView40.setFitWidth(16.0); imageView40.setPickOnBounds(true); imageView40.setPreserveRatio(true); Image image40 = new Image(getClass().getResource("/com/digiarea/closurefx/resources/launch.png").openStream()); imageView40.setImage(image40); menuItem2.setGraphic(imageView40); btnRun.getItems().add(menuItem2); sOYTitleBox.getChildren().add(btnRun); ColumnConstraints columnConstraints158 = new ColumnConstraints(); columnConstraints158.setHgrow(Priority.NEVER); columnConstraints158.setMinWidth(Control.USE_PREF_SIZE); sOYTitleBox.getColumnConstraints().add(columnConstraints158); ColumnConstraints columnConstraints159 = new ColumnConstraints(); columnConstraints159.setHgrow(Priority.NEVER); columnConstraints159.setMinWidth(Control.USE_PREF_SIZE); sOYTitleBox.getColumnConstraints().add(columnConstraints159); ColumnConstraints columnConstraints160 = new ColumnConstraints(); columnConstraints160.setHgrow(Priority.ALWAYS); columnConstraints160.setMinWidth(Control.USE_PREF_SIZE); sOYTitleBox.getColumnConstraints().add(columnConstraints160); ColumnConstraints columnConstraints161 = new ColumnConstraints(); columnConstraints161.setHgrow(Priority.NEVER); columnConstraints161.setMinWidth(Control.USE_PREF_SIZE); sOYTitleBox.getColumnConstraints().add(columnConstraints161); ColumnConstraints columnConstraints162 = new ColumnConstraints(); columnConstraints162.setHgrow(Priority.NEVER); columnConstraints162.setMinWidth(Control.USE_PREF_SIZE); sOYTitleBox.getColumnConstraints().add(columnConstraints162); Insets insets93 = new Insets(0.0, 10.0, 0.0, 10.0); sOYTitleBox.setPadding(insets93); RowConstraints rowConstraints141 = new RowConstraints(); rowConstraints141.setMinHeight(40.0); rowConstraints141.setVgrow(Priority.SOMETIMES); sOYTitleBox.getRowConstraints().add(rowConstraints141); vBox60.getChildren().add(sOYTitleBox); tabs = new TabPane(); tabs.setDisable(false); tabs.setTabClosingPolicy(TabClosingPolicy.UNAVAILABLE); VBox.setVgrow(tabs, Priority.ALWAYS); Tab tab8 = new Tab(); tab8.setClosable(false); tab8.setText(bundle.getString("CompilerPage_Basic")); ScrollPane scrollPane10 = new ScrollPane(); scrollPane10.setId("ScrollPane"); scrollPane10.setFitToHeight(true); scrollPane10.setFitToWidth(true); scrollPane10.setPrefViewportHeight(400.0); scrollPane10.setPrefViewportWidth(600.0); GridPane gridPane71 = new GridPane(); gridPane71.setId("GridPane"); gridPane71.setAlignment(Pos.TOP_CENTER); gridPane71.setDisable(false); gridPane71.setFocusTraversable(false); gridPane71.setGridLinesVisible(false); gridPane71.setHgap(5.0); gridPane71.setMinHeight(Control.USE_PREF_SIZE); gridPane71.setMinWidth(Control.USE_PREF_SIZE); gridPane71.setVisible(true); VBox vBox61 = new VBox(); vBox61.setPrefHeight(Control.USE_COMPUTED_SIZE); vBox61.setPrefWidth(Control.USE_COMPUTED_SIZE); vBox61.setSpacing(6.0); GridPane.setColumnIndex(vBox61, 0); GridPane.setHgrow(vBox61, Priority.ALWAYS); GridPane.setRowIndex(vBox61, 0); GridPane.setValignment(vBox61, VPos.TOP); GridPane.setVgrow(vBox61, Priority.ALWAYS); AnchorPane info = ((SOYInfoSectionController) modelFacade.getFactory().call(SOYInfoSectionController.class)).create(); VBox.setVgrow(info, Priority.NEVER); vBox61.getChildren().add(info); AnchorPane localization = ((SOYLocalizationSectionController) modelFacade.getFactory().call(SOYLocalizationSectionController.class)).create(); VBox.setVgrow(localization, Priority.ALWAYS); vBox61.getChildren().add(localization); Insets insets94 = new Insets(10.0, 0.0, 10.0, 10.0); vBox61.setPadding(insets94); gridPane71.getChildren().add(vBox61); VBox vBox62 = new VBox(); vBox62.setPrefHeight(Control.USE_COMPUTED_SIZE); vBox62.setPrefWidth(Control.USE_COMPUTED_SIZE); vBox62.setSpacing(6.0); GridPane.setColumnIndex(vBox62, 1); GridPane.setHgrow(vBox62, Priority.ALWAYS); GridPane.setRowIndex(vBox62, 0); GridPane.setValignment(vBox62, VPos.TOP); GridPane.setVgrow(vBox62, Priority.ALWAYS); AnchorPane codeStyle = ((SOYStyleSectionController) modelFacade.getFactory().call(SOYStyleSectionController.class)).create(); VBox.setVgrow(codeStyle, Priority.NEVER); vBox62.getChildren().add(codeStyle); AnchorPane options = ((SOYOptionsSectionController) modelFacade.getFactory().call(SOYOptionsSectionController.class)).create(); VBox.setVgrow(options, Priority.SOMETIMES); vBox62.getChildren().add(options); Insets insets95 = new Insets(10.0, 10.0, 10.0, 0.0); vBox62.setPadding(insets95); gridPane71.getChildren().add(vBox62); ColumnConstraints columnConstraints163 = new ColumnConstraints(); columnConstraints163.setHgrow(Priority.ALWAYS); columnConstraints163.setMinWidth(Control.USE_COMPUTED_SIZE); columnConstraints163.setPercentWidth(50.0); gridPane71.getColumnConstraints().add(columnConstraints163); ColumnConstraints columnConstraints164 = new ColumnConstraints(); columnConstraints164.setHgrow(Priority.ALWAYS); columnConstraints164.setMinWidth(Control.USE_COMPUTED_SIZE); columnConstraints164.setPercentWidth(50.0); gridPane71.getColumnConstraints().add(columnConstraints164); RowConstraints rowConstraints142 = new RowConstraints(); rowConstraints142.setMinHeight(10.0); rowConstraints142.setValignment(VPos.TOP); rowConstraints142.setVgrow(Priority.SOMETIMES); gridPane71.getRowConstraints().add(rowConstraints142); scrollPane10.setContent(gridPane71); tab8.setContent(scrollPane10); tabs.getTabs().add(tab8); Tab tab9 = new Tab(); tab9.setClosable(false); tab9.setText(bundle.getString("CompilerPage_BuildPath")); ScrollPane scrollPane11 = new ScrollPane(); scrollPane11.setId("ScrollPane"); scrollPane11.setFitToHeight(true); scrollPane11.setFitToWidth(true); scrollPane11.setPrefViewportHeight(400.0); scrollPane11.setPrefViewportWidth(600.0); GridPane gridPane72 = new GridPane(); gridPane72.setId("GridPane"); gridPane72.setHgap(5.0); gridPane72.setMinHeight(Control.USE_PREF_SIZE); gridPane72.setMinWidth(Control.USE_PREF_SIZE); VBox basicTabRight = new VBox(); basicTabRight.setId("basicTabRight"); basicTabRight.setPrefHeight(Control.USE_COMPUTED_SIZE); basicTabRight.setPrefWidth(Control.USE_COMPUTED_SIZE); basicTabRight.setSpacing(6.0); GridPane.setColumnIndex(basicTabRight, 0); GridPane.setHgrow(basicTabRight, Priority.ALWAYS); GridPane.setRowIndex(basicTabRight, 0); GridPane.setValignment(basicTabRight, VPos.TOP); GridPane.setVgrow(basicTabRight, Priority.ALWAYS); AnchorPane source = ((SOYSourceSectionController) modelFacade.getFactory().call(SOYSourceSectionController.class)).create(); VBox.setVgrow(source, Priority.ALWAYS); basicTabRight.getChildren().add(source); AnchorPane order = ((SOYOrderSectionController) modelFacade.getFactory().call(SOYOrderSectionController.class)).create(); VBox.setVgrow(order, Priority.ALWAYS); basicTabRight.getChildren().add(order); Insets insets96 = new Insets(10.0, 0.0, 10.0, 10.0); basicTabRight.setPadding(insets96); gridPane72.getChildren().add(basicTabRight); VBox basicTabLeft = new VBox(); basicTabLeft.setId("basicTabLeft"); basicTabLeft.setPrefHeight(Control.USE_COMPUTED_SIZE); basicTabLeft.setPrefWidth(Control.USE_COMPUTED_SIZE); basicTabLeft.setSpacing(6.0); GridPane.setColumnIndex(basicTabLeft, 1); GridPane.setHgrow(basicTabLeft, Priority.ALWAYS); GridPane.setRowIndex(basicTabLeft, 0); GridPane.setValignment(basicTabLeft, VPos.TOP); GridPane.setVgrow(basicTabLeft, Priority.ALWAYS); AnchorPane include9 = ((SOYLibrariesSectionController) modelFacade.getFactory().call(SOYLibrariesSectionController.class)).create(); VBox.setVgrow(include9, Priority.ALWAYS); basicTabLeft.getChildren().add(include9); AnchorPane output = ((SOYOutputSectionController) modelFacade.getFactory().call(SOYOutputSectionController.class)).create(); VBox.setVgrow(output, Priority.NEVER); basicTabLeft.getChildren().add(output); Insets insets97 = new Insets(10.0, 10.0, 10.0, 0.0); basicTabLeft.setPadding(insets97); gridPane72.getChildren().add(basicTabLeft); ColumnConstraints columnConstraints165 = new ColumnConstraints(); columnConstraints165.setHgrow(Priority.ALWAYS); columnConstraints165.setMinWidth(Control.USE_COMPUTED_SIZE); columnConstraints165.setPercentWidth(50.0); gridPane72.getColumnConstraints().add(columnConstraints165); ColumnConstraints columnConstraints166 = new ColumnConstraints(); columnConstraints166.setHgrow(Priority.ALWAYS); columnConstraints166.setMinWidth(Control.USE_COMPUTED_SIZE); columnConstraints166.setPercentWidth(50.0); gridPane72.getColumnConstraints().add(columnConstraints166); RowConstraints rowConstraints143 = new RowConstraints(); rowConstraints143.setMinHeight(10.0); rowConstraints143.setVgrow(Priority.SOMETIMES); gridPane72.getRowConstraints().add(rowConstraints143); scrollPane11.setContent(gridPane72); tab9.setContent(scrollPane11); tabs.getTabs().add(tab9); controlConsole = new Tab(); controlConsole.setText(bundle.getString("CompilerPage_Console")); ScrollPane scrollPane12 = new ScrollPane(); scrollPane12.setId("ScrollPane"); scrollPane12.setFitToHeight(true); scrollPane12.setFitToWidth(true); scrollPane12.setPrefViewportHeight(400.0); scrollPane12.setPrefViewportWidth(600.0); VBox vBox63 = new VBox(); vBox63.setId("VBox"); vBox63.setAlignment(Pos.CENTER); vBox63.setMinHeight(Control.USE_PREF_SIZE); vBox63.setMinWidth(Control.USE_PREF_SIZE); vBox63.setSpacing(5.0); HBox include10 = ((SOYConsoleSectionController) modelFacade.getFactory().call(SOYConsoleSectionController.class)).create(); VBox.setVgrow(include10, Priority.ALWAYS); vBox63.getChildren().add(include10); Insets insets98 = new Insets(0.0, 0.0, 0.0, 0.0); vBox63.setPadding(insets98); scrollPane12.setContent(vBox63); controlConsole.setContent(scrollPane12); tabs.getTabs().add(controlConsole); vBox60.getChildren().add(tabs); anchorPane35.getChildren().add(vBox60); initialize(null, bundle); return anchorPane35; } }