/** displays the new character views */
  @FXML
  private void showNewChar() {
    try {
      FXMLLoader loader = new FXMLLoader();
      loader.setLocation(this.getClass().getResource("dialogs/NewCharacterDialog.fxml"));
      AnchorPane page = (AnchorPane) loader.load();

      // Create the dialog Stage.
      Stage dialogStage = new Stage();
      dialogStage.setTitle("Create New Character");
      dialogStage.initModality(Modality.WINDOW_MODAL);
      dialogStage.initStyle(StageStyle.UTILITY);
      dialogStage.initOwner(this.getInterface().getPrimaryStage());
      dialogStage.resizableProperty().set(false);
      Scene scene = new Scene(page);
      dialogStage.setScene(scene);

      // Set the person into the controller.
      NewCharacterController controller = loader.getController();
      controller.setDialogStage(dialogStage);
      controller.setInterface(getInterface());
      controller.loadPartials();
      dialogStage
          .onCloseRequestProperty()
          .set(
              (EventHandler<WindowEvent>)
                  (WindowEvent event) -> {
                    controller.handleCancel(null);
                  });

      // Show the dialog and wait until the user closes it
      dialogStage.showAndWait();

      if (controller.getCharacter() != null)
        ((RootController) this.getRoot()).setCharacter(controller.getCharacter());
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
Example #2
0
  /**
   * Build an new JEConfig Login and main frame/stage
   *
   * @param primaryStage
   */
  private void initGUI(Stage primaryStage) {
    Scene scene;
    LoginGlass login = new LoginGlass(primaryStage);

    AnchorPane jeconfigRoot = new AnchorPane();
    AnchorPane.setTopAnchor(jeconfigRoot, 0.0);
    AnchorPane.setRightAnchor(jeconfigRoot, 0.0);
    AnchorPane.setLeftAnchor(jeconfigRoot, 0.0);
    AnchorPane.setBottomAnchor(jeconfigRoot, 0.0);

    Screen screen = Screen.getPrimary();
    Rectangle2D bounds = screen.getVisualBounds();

    login
        .getLoginStatus()
        .addListener(
            new ChangeListener<Boolean>() {

              @Override
              public void changed(
                  ObservableValue<? extends Boolean> observable,
                  Boolean oldValue,
                  Boolean newValue) {
                if (newValue) {
                  System.out.println("after request");
                  _mainDS = login.getDataSource();
                  ds = _mainDS;
                  _currentUser = new User(ds);

                  Platform.runLater(
                      new Runnable() {
                        @Override
                        public void run() {
                          FadeTransition ft = new FadeTransition(Duration.millis(1500), login);
                          ft.setFromValue(1.0);
                          ft.setToValue(0);
                          ft.setCycleCount(1);
                          ft.play();
                        }
                      });

                  JEConfig.PROGRAMM_INFO.setJEVisAPI(ds.getInfo());
                  JEConfig.PROGRAMM_INFO.addLibrary(org.jevis.commons.application.Info.INFO);
                  JEConfig.PROGRAMM_INFO.addLibrary(org.jevis.application.Info.INFO);

                  preLodedClasses = login.getAllClasses();
                  preLodedRootObjects = login.getRootObjects();

                  PluginManager pMan = new PluginManager(ds);
                  GlobalToolBar toolbar = new GlobalToolBar(pMan);
                  pMan.addPluginsByUserSetting(null);

                  BorderPane border = new BorderPane();
                  VBox vbox = new VBox();
                  vbox.setStyle("-fx-background-color: black;");
                  //                    vbox.getChildren().addAll(new TopMenu(),
                  // toolbar.ToolBarFactory());
                  vbox.getChildren().addAll(new TopMenu(), pMan.getToolbar());
                  border.setTop(vbox);
                  border.setCenter(pMan.getView());

                  Statusbar statusBar = new Statusbar(ds);

                  border.setBottom(statusBar);

                  // Disable GUI is StatusBar note an disconnect
                  border.disableProperty().bind(statusBar.connectedProperty.not());

                  Platform.runLater(
                      new Runnable() {
                        @Override
                        public void run() {

                          AnchorPane.setTopAnchor(border, 0.0);
                          AnchorPane.setRightAnchor(border, 0.0);
                          AnchorPane.setLeftAnchor(border, 0.0);
                          AnchorPane.setBottomAnchor(border, 0.0);

                          jeconfigRoot.getChildren().setAll(border);
                          try {
                            WelcomePage welcome =
                                new WelcomePage(primaryStage, _config.getWelcomeURL());
                          } catch (URISyntaxException ex) {
                            Logger.getLogger(JEConfig.class.getName()).log(Level.SEVERE, null, ex);
                          } catch (MalformedURLException ex) {
                            Logger.getLogger(JEConfig.class.getName()).log(Level.SEVERE, null, ex);
                          }
                        }
                      });
                }
              }
            });

    AnchorPane.setTopAnchor(login, 0.0);
    AnchorPane.setRightAnchor(login, 0.0);
    AnchorPane.setLeftAnchor(login, 0.0);
    AnchorPane.setBottomAnchor(login, 0.0);

    scene = new Scene(jeconfigRoot, bounds.getWidth(), bounds.getHeight());
    scene.getStylesheets().add("/styles/Styles.css");
    primaryStage.getIcons().add(getImage("JEVisIconBlue.png"));

    primaryStage.setTitle("JEConfig");
    primaryStage.setScene(scene);
    primaryStage.setMaximized(true);
    //        maximize(primaryStage);
    primaryStage.show();

    jeconfigRoot.getChildren().setAll(login);

    primaryStage
        .onCloseRequestProperty()
        .addListener(
            new ChangeListener<EventHandler<WindowEvent>>() {

              @Override
              public void changed(
                  ObservableValue<? extends EventHandler<WindowEvent>> ov,
                  EventHandler<WindowEvent> t,
                  EventHandler<WindowEvent> t1) {
                try {
                  System.out.println("Disconnect");
                  ds.disconnect();
                } catch (JEVisException ex) {
                  Logger.getLogger(JEConfig.class.getName()).log(Level.SEVERE, null, ex);
                }
              }
            });
  }