Search in sources :

Example 71 with ScrollPane

use of javafx.scene.control.ScrollPane in project Board-Instrumentation-Framework by intel.

the class Marvin method testAppSize.

/*
     * private void LoadApplication(Stage stage) { stage.setIconified(true); _Config
     * = new ConfigurationReader(); if (null == _Config) { return; }
     * 
     * Configuration config = _Config.ReadStartupInfo(ConfigFilename); if (null ==
     * config) { return; } _objTabPane = new TabPane();
     * _objTabPane.setSide(config.getSide());
     * 
     * GridPane sceneGrid = new GridPane();
     * 
     * GridPane.setHalignment(_Config.getConfiguration().getMenuBar(), HPos.LEFT);
     * GridPane.setValignment(_Config.getConfiguration().getMenuBar(), VPos.TOP);
     * 
     * sceneGrid.add(_Config.getConfiguration().getMenuBar(), 0, 0);
     * sceneGrid.add(_objTabPane, 0, 1);
     * 
     * Scene scene = null; Rectangle2D visualBounds =
     * _Config.getConfiguration().getPrimaryScreen().getVisualBounds(); int appWidth
     * = (int) visualBounds.getWidth(); int appHeight = (int)
     * visualBounds.getHeight();
     * 
     * if (config.getWidth() > 0) { appWidth = config.getWidth(); } else {
     * config.setWidth(appWidth); } if (config.getHeight() > 0) { appHeight =
     * config.getHeight(); } else { config.setHeight(appHeight); }
     * 
     * scene = new Scene(sceneGrid); SetAppStyle(scene.getStylesheets());
     * stage.setScene(scene); stage.setIconified(true);
     * 
     * stage.setX(_Config.getConfiguration().getPrimaryScreen().getVisualBounds().
     * getMinX());
     * stage.setY(_Config.getConfiguration().getPrimaryScreen().getVisualBounds().
     * getMinY());
     * 
     * stage.setMaximized(true);
     * 
     * stage.addEventHandler(WindowEvent.WINDOW_SHOWN, new
     * EventHandler<WindowEvent>() {
     * 
     * @Override public void handle(WindowEvent window) { FinishLoad(stage); } });
     * 
     * while (false && !_SizeCheckWindowShowing) { try { Thread.sleep(100); } catch
     * (InterruptedException ex) {
     * Logger.getLogger(Marvin.class.getName()).log(Level.SEVERE, null, ex); } }
     * 
     * FinishLoad(stage);
     * 
     * }
     */
// / pop up quick simple tab,menu and style it, then grab the size of the window
// / so we know the canvas dimenstions
private boolean testAppSize(Stage stage) {
    final GridPane stagePane = new GridPane();
    final GridPane canvasPane = new GridPane();
    canvasPane.setAlignment(Pos.TOP_LEFT);
    _Config = new ConfigurationReader();
    if (null == _Config) {
        return false;
    }
    final Configuration basicConfig = _Config.ReadStartupInfo(ConfigFilename);
    if (null == basicConfig) {
        return false;
    }
    stage.setX(basicConfig.getPrimaryScreen().getVisualBounds().getMinX());
    stage.setY(basicConfig.getPrimaryScreen().getVisualBounds().getMinY());
    TabPane tabPane = new TabPane();
    Tab objTab = new Tab();
    final Side tabSide = basicConfig.getSide();
    if (tabSide == Side.TOP || tabSide == Side.BOTTOM) {
        tabPane.setSide(Side.TOP);
    } else {
        tabPane.setSide(Side.LEFT);
    }
    objTab.setText("");
    tabPane.getTabs().add(objTab);
    stagePane.add(tabPane, 0, 1);
    MenuBar objMenuBar = new MenuBar();
    if (basicConfig.getShowMenuBar()) {
        Menu objMenu = new Menu("About");
        MenuItem objItem = new MenuItem("Dummy");
        objMenu.getItems().add(objItem);
        objMenuBar.getMenus().add(objMenu);
        stagePane.add(objMenuBar, 0, 0);
    }
    if (basicConfig.getEnableScrollBars()) {
        ScrollPane testScrollPane = new ScrollPane();
        testScrollPane.setPannable(true);
        testScrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.ALWAYS);
        testScrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.ALWAYS);
        testScrollPane.setContent(canvasPane);
        objTab.setContent(testScrollPane);
    } else {
        objTab.setContent(canvasPane);
    }
    stage.setTitle(basicConfig.getAppTitle());
    Scene scene = new Scene(stagePane);
    stage.setScene(scene);
    SetAppStyle(scene.getStylesheets());
    if (_Config.getConfiguration().getKioskMode()) {
        stage.initStyle(StageStyle.UNDECORATED);
    }
    URL resource = AboutBox.class.getResource("About.png");
    Image iconImg = new Image(resource.toString());
    stage.getIcons().add(iconImg);
    stage.addEventHandler(WindowEvent.WINDOW_SHOWN, new EventHandler<WindowEvent>() {

        @Override
        public void handle(WindowEvent window) {
            scene.heightProperty().addListener(new ChangeListener<Number>() {

                @Override
                public void changed(ObservableValue<? extends Number> observableValue, Number oldSceneHeight, Number newSceneHeight) {
                    scene.heightProperty().removeListener(this);
                    Point2D canvasInScene = canvasPane.localToScene(0.0, 0.0);
                    int cvHeight;
                    int cvWidth;
                    if (tabSide == Side.TOP || tabSide == Side.BOTTOM) {
                        cvHeight = (int) (scene.getHeight() - canvasInScene.getY());
                        cvWidth = (int) scene.getWidth();
                    } else {
                        cvHeight = (int) (scene.getHeight() - canvasInScene.getY());
                        cvWidth = (int) (scene.getWidth() - canvasInScene.getX());
                    }
                    basicConfig.setCanvasWidth(cvWidth);
                    basicConfig.setCanvasHeight(cvHeight);
                    stage.setIconified(true);
                    Platform.runLater(new Runnable() {

                        @Override
                        public void run() {
                            FinishLoad(stage);
                        }
                    });
                }
            });
        }
    });
    stage.show();
    if (basicConfig.getWidth() > 0) {
        stage.setWidth(basicConfig.getWidth());
        stage.setHeight(basicConfig.getHeight());
    } else {
        stage.setMaximized(true);
    }
    return true;
}
Also used : TabPane(javafx.scene.control.TabPane) GridPane(javafx.scene.layout.GridPane) Configuration(kutch.biff.marvin.configuration.Configuration) ObservableValue(javafx.beans.value.ObservableValue) MenuBar(javafx.scene.control.MenuBar) MenuItem(javafx.scene.control.MenuItem) Scene(javafx.scene.Scene) Image(javafx.scene.image.Image) URL(java.net.URL) Side(javafx.geometry.Side) Tab(javafx.scene.control.Tab) Point2D(javafx.geometry.Point2D) ScrollPane(javafx.scene.control.ScrollPane) WindowEvent(javafx.stage.WindowEvent) ChangeListener(javafx.beans.value.ChangeListener) Menu(javafx.scene.control.Menu) ConfigurationReader(kutch.biff.marvin.configuration.ConfigurationReader)

Aggregations

ScrollPane (javafx.scene.control.ScrollPane)71 VBox (javafx.scene.layout.VBox)18 Text (javafx.scene.text.Text)15 Scene (javafx.scene.Scene)14 Label (javafx.scene.control.Label)13 Insets (javafx.geometry.Insets)11 Button (javafx.scene.control.Button)11 BorderPane (javafx.scene.layout.BorderPane)11 HBox (javafx.scene.layout.HBox)10 GridPane (javafx.scene.layout.GridPane)9 TextFlow (javafx.scene.text.TextFlow)8 FXCollections (javafx.collections.FXCollections)7 Node (javafx.scene.Node)7 TextArea (javafx.scene.control.TextArea)7 javafx.scene.layout (javafx.scene.layout)7 Pane (javafx.scene.layout.Pane)7 InvalidationListener (javafx.beans.InvalidationListener)6 Observable (javafx.beans.Observable)6 ObservableList (javafx.collections.ObservableList)6 Alert (javafx.scene.control.Alert)6