use of jgnash.engine.budget.Budget in project jgnash by ccavanaugh.
the class BudgetManagerDialogController method loadBudgetListView.
private void loadBudgetListView() {
final Engine engine = EngineFactory.getEngine(EngineFactory.DEFAULT);
Objects.requireNonNull(engine);
// Create a sorted List of active budgets
final List<Budget> budgetList = engine.getBudgetList();
Collections.sort(budgetList);
budgetListView.getItems().setAll(budgetList);
}
use of jgnash.engine.budget.Budget in project jgnash by ccavanaugh.
the class BudgetManagerDialogController method handleNewAction.
@FXML
private void handleNewAction() {
final Engine engine = EngineFactory.getEngine(EngineFactory.DEFAULT);
Objects.requireNonNull(engine);
final Budget newBudget = new Budget();
String name = resources.getString("Word.NewBudget");
int count = 2;
while (true) {
boolean nameIsUnique = true;
for (final Budget budget : engine.getBudgetList()) {
if (budget.getName().equals(name)) {
name = resources.getString("Word.NewBudget") + " " + count;
count++;
nameIsUnique = false;
}
}
if (nameIsUnique) {
break;
}
}
newBudget.setName(name);
newBudget.setDescription(resources.getString("Word.NewBudget"));
if (!engine.addBudget(newBudget)) {
StaticUIMethods.displayError(resources.getString("Message.Error.NewBudget"));
}
}
use of jgnash.engine.budget.Budget in project jgnash by ccavanaugh.
the class BudgetManagerDialogController method handleDeleteAction.
@FXML
private void handleDeleteAction() {
final Engine engine = EngineFactory.getEngine(EngineFactory.DEFAULT);
Objects.requireNonNull(engine);
final List<Budget> selected = new ArrayList<>(budgetListView.getSelectionModel().getSelectedItems());
if (!selected.isEmpty()) {
final String message = selected.size() == 1 ? resources.getString("Message.ConfirmBudgetDelete") : resources.getString("Message.ConfirmMultipleBudgetDelete");
if (StaticUIMethods.showConfirmationDialog(resources.getString("Title.Confirm"), message).getButtonData() == ButtonBar.ButtonData.YES) {
selected.stream().filter(value -> !engine.removeBudget(value)).forEach(value -> StaticUIMethods.displayError(resources.getString("Message.Error.BudgetRemove")));
}
}
}
use of jgnash.engine.budget.Budget in project jgnash by ccavanaugh.
the class HistoricalBudgetDialogController method handleOkAction.
@FXML
private void handleOkAction() {
final Engine engine = EngineFactory.getEngine(EngineFactory.DEFAULT);
Objects.requireNonNull(engine);
final Budget budget = BudgetFactory.buildAverageBudget(periodComboBox.getValue(), nameTextField.getText(), roundupCheckBox.isSelected());
new Thread(() -> {
if (!engine.addBudget(budget)) {
StaticUIMethods.displayError(resources.getString("Message.Error.NewBudget"));
}
}).start();
((Stage) okButton.getScene().getWindow()).close();
}
use of jgnash.engine.budget.Budget in project jgnash by ccavanaugh.
the class BudgetPeriodModel method updateBudgetPeriod.
private void updateBudgetPeriod(final Message message) {
Budget updatedBudget = message.getObject(MessageProperty.BUDGET);
if (updatedBudget.equals(budget)) {
Account account = message.getObject(MessageProperty.ACCOUNT);
fireUpdate(account.getAncestors());
}
}
Aggregations