From ffe69393ea6be680c6521df6062f2dcdf3759080 Mon Sep 17 00:00:00 2001 From: pawelsa Date: Sat, 16 May 2026 19:56:54 +0200 Subject: [PATCH] feat: Portfolio-view related classes refactored. --- .../elements/PlayerPortfolioComponent.java | 6 +- .../components/elements/ShareComponent.java | 83 +++++----- .../primary/portfolio/PortfolioModel.java | 23 +-- .../view/primary/portfolio/PortfolioView.java | 148 ++++++++++-------- .../portfolio/sections/PlayerInfoSection.java | 75 +++++++++ .../portfolio/viewmodel/PlayerInfoModel.java | 40 +++++ 6 files changed, 266 insertions(+), 109 deletions(-) create mode 100644 src/main/java/edu/ntnu/idi/idatt/view/primary/portfolio/sections/PlayerInfoSection.java create mode 100644 src/main/java/edu/ntnu/idi/idatt/view/primary/portfolio/viewmodel/PlayerInfoModel.java diff --git a/src/main/java/edu/ntnu/idi/idatt/view/components/elements/PlayerPortfolioComponent.java b/src/main/java/edu/ntnu/idi/idatt/view/components/elements/PlayerPortfolioComponent.java index a4f218e..5b15d78 100644 --- a/src/main/java/edu/ntnu/idi/idatt/view/components/elements/PlayerPortfolioComponent.java +++ b/src/main/java/edu/ntnu/idi/idatt/view/components/elements/PlayerPortfolioComponent.java @@ -23,9 +23,9 @@ public PlayerPortfolioComponent(Portfolio portfolio) { BigDecimal startingMoney = UserSession.getInstance().getPlayer().getStartingMoney(); BigDecimal netMoney = UserSession.getInstance().getPlayer().getNetWorth(); BigDecimal netPercentage = netMoney.divide(startingMoney) - .multiply(new BigDecimal("100")) - .setScale(2, RoundingMode.HALF_UP) - .subtract(new BigDecimal("100")); + .multiply(new BigDecimal("100")) + .setScale(2, RoundingMode.HALF_UP) + .subtract(new BigDecimal("100")); Label userTitle = new Label(String.format("%s's Portfolio", UserSession.getInstance().getPlayer().getName())); Label netWorth = new Label(); diff --git a/src/main/java/edu/ntnu/idi/idatt/view/components/elements/ShareComponent.java b/src/main/java/edu/ntnu/idi/idatt/view/components/elements/ShareComponent.java index 7546158..486b994 100644 --- a/src/main/java/edu/ntnu/idi/idatt/view/components/elements/ShareComponent.java +++ b/src/main/java/edu/ntnu/idi/idatt/view/components/elements/ShareComponent.java @@ -8,44 +8,57 @@ import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; -import java.util.ArrayList; -import java.util.Collections; - +import java.util.List; +import java.util.function.Consumer; public class ShareComponent extends HBox { - public ShareComponent(Share share){ - this.setMaxSize(Double.MAX_VALUE, 300); - this.setPadding(new Insets(30)); - this.getStyleClass().add("rowBox"); - - Label name = new Label(share.getStock().getCompany()); - Label quantity = new Label("Owned shares: "+share.getQuantity().toString()); - Label ticker = new Label("("+share.getStock().getSymbol()+")"); - Label latestPrice = new Label("Latest price: "+share.getStock().getSalesPrice().toString()); - Button sellButton = new Button("Sell"); - - ArrayList