private RegisterStage(@NotNull final Account account) { super(StageStyle.DECORATED); accountProperty.setValue(account); final String formResource; if (account.isLocked()) { if (account.memberOf(AccountGroup.INVEST)) { formResource = "LockedInvestmentRegisterPane.fxml"; } else { formResource = "LockedBasicRegisterPane.fxml"; } } else { if (account.memberOf(AccountGroup.INVEST)) { formResource = "InvestmentRegisterPane.fxml"; } else { formResource = "BasicRegisterPane.fxml"; } } controller = FXMLUtils.loadFXML( scene -> setScene(new Scene((Parent) scene)), formResource, ResourceUtils.getBundle()); getScene().getStylesheets().addAll(MainApplication.DEFAULT_CSS); double minWidth = Double.MAX_VALUE; double minHeight = Double.MAX_VALUE; for (final Screen screen : Screen.getScreens()) { minWidth = Math.min(minWidth, screen.getVisualBounds().getWidth()); minHeight = Math.min(minHeight, screen.getVisualBounds().getHeight()); } setWidth(minWidth * SCALE_FACTOR); setHeight(minHeight * SCALE_FACTOR); // Push the account to the controller at the end of the application thread Platform.runLater(() -> controller.accountProperty().setValue(account)); updateTitle(account); StageUtils.addBoundsListener(this, account.getUuid()); registerStageListProperty.get().add(this); setOnHidden(event -> registerStageListProperty.get().remove(RegisterStage.this)); }
public void show(final Transaction transaction) { show(); Platform.runLater(() -> controller.selectTransaction(transaction)); }