Esempio n. 1
0
  @FXML
  private void initialize() {
    securitiesMenu.disableProperty().bind(disabled);
    currenciesMenu.disableProperty().bind(disabled);
    closeMenuItem.disableProperty().bind(disabled);
    optionsMenuItem.disableProperty().bind(disabled);
    reportMenu.disableProperty().bind(disabled);
    transNumberListMenuItem.disableProperty().bind(disabled);
    importOfxMenuItem.disableProperty().bind(disabled);
    importQifMenuItem.disableProperty().bind(disabled);

    windowMenu
        .disableProperty()
        .bind(Bindings.or(disabled, RegisterStage.registerStageList().emptyProperty()));

    RegisterStage.registerStageList()
        .addListener(
            (ListChangeListener<RegisterStage>)
                c -> {
                  while (c.next()) {
                    if (c.wasAdded()) {
                      c.getAddedSubList().forEach(MenuBarController.this::addWindowMenuItem);
                    } else if (c.wasRemoved()) {
                      c.getAddedSubList().forEach(MenuBarController.this::removeWindowMenuItem);
                    }
                  }
                });

    ThemeManager.addKnownThemes(themesMenu);

    MessageBus.getInstance().registerListener(this, MessageChannel.SYSTEM);
  }
Esempio n. 2
0
  @FXML
  private void closeAllWindows() {
    // create a copy to avoid concurrent modification issues
    final RegisterStage[] stages =
        RegisterStage.registerStageList()
            .toArray(new RegisterStage[RegisterStage.registerStageList().size()]);

    for (final RegisterStage stage : stages) {
      stage.close();
    }
  }
Esempio n. 3
0
  public static RegisterStage getRegisterStage(@NotNull final Account account) {

    // look for an existing stage first
    for (final RegisterStage registerStage : registerStageListProperty) {
      if (registerStage.accountProperty.get().equals(account)) {
        registerStage.requestFocus();
        return registerStage;
      }
    }

    return new RegisterStage(account);
  }
Esempio n. 4
0
  private void addWindowMenuItem(final RegisterStage registerStage) {
    final MenuItem menuItem = new MenuItem(registerStage.accountProperty().get().getName());
    menuItem.setUserData(registerStage);

    menuItem.setOnAction(
        event -> {
          final RegisterStage stage = (RegisterStage) menuItem.getUserData();
          stage.requestFocus();
        });

    registerStage.setOnHiding(event -> windowMenu.getItems().removeAll(menuItem));

    windowMenu.getItems().add(0, menuItem);
  }
 @FXML
 private void handleZoomAccountAction() {
   RegisterStage.getRegisterStage(selectedAccountProperty.get()).show();
 }