diff --git a/src/main/java/edu/ntnu/idi/idatt/view/SceneFactory.java b/src/main/java/edu/ntnu/idi/idatt/view/SceneFactory.java index 9a513f3..cd14152 100644 --- a/src/main/java/edu/ntnu/idi/idatt/view/SceneFactory.java +++ b/src/main/java/edu/ntnu/idi/idatt/view/SceneFactory.java @@ -1,10 +1,14 @@ package edu.ntnu.idi.idatt.view; import edu.ntnu.idi.idatt.model.market.Stock; +import edu.ntnu.idi.idatt.model.portfolio.Share; import edu.ntnu.idi.idatt.session.UserSession; import edu.ntnu.idi.idatt.view.entry.StartController; import edu.ntnu.idi.idatt.view.entry.StartModel; import edu.ntnu.idi.idatt.view.entry.StartView; +import edu.ntnu.idi.idatt.view.primary.portfolio.PortfolioController; +import edu.ntnu.idi.idatt.view.primary.portfolio.PortfolioModel; +import edu.ntnu.idi.idatt.view.primary.portfolio.PortfolioView; import edu.ntnu.idi.idatt.view.primary.exchange.ExchangeController; import edu.ntnu.idi.idatt.view.primary.exchange.ExchangeModel; import edu.ntnu.idi.idatt.view.primary.exchange.ExchangeView; @@ -16,8 +20,10 @@ import edu.ntnu.idi.idatt.view.primary.transactions.TransactionView; import javafx.scene.Parent; +import java.math.BigDecimal; import java.util.ArrayDeque; import java.util.Deque; +import java.util.List; public class SceneFactory { @@ -67,14 +73,9 @@ public static Parent createStartView() { } public static Parent createPortfolioView(){ - Stock stock = new Stock("int", "intel", List.of(new BigDecimal("100"))); - Share share = new Share(stock, new BigDecimal("50"), new BigDecimal("100")); - UserSession.getInstance().getPlayer().getPortfolio().addShare(share); - UserSession.getInstance().getPlayer().getPortfolio().addShare(share); - UserSession.getInstance().getPlayer().getPortfolio().addShare(share); - UserSession.getInstance().getPlayer().getPortfolio().addShare(share); - UserSession.getInstance().getPlayer().getPortfolio().addShare(share); - UserSession.getInstance().getPlayer().getPortfolio().addShare(share); + + mark(() -> createPortfolioView()); + PortfolioModel model = new PortfolioModel(); PortfolioView view = new PortfolioView(); PortfolioController controller = new PortfolioController(model); 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 0881593..7457d36 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 @@ -1,12 +1,15 @@ package edu.ntnu.idi.idatt.view.components.elements; import edu.ntnu.idi.idatt.model.portfolio.Portfolio; +import edu.ntnu.idi.idatt.session.UserSession; import edu.ntnu.idi.idatt.view.components.ui.UICompositor; import javafx.geometry.Pos; import javafx.scene.control.Label; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.Collections; @@ -15,27 +18,30 @@ public class PlayerPortfolioComponent extends HBox { public PlayerPortfolioComponent(Portfolio portfolio){ this.setMaxSize(Double.MAX_VALUE, 500); this.getStyleClass().add("light"); - Label userTitle = new Label("Name Title"); - Label netWorth = new Label("Total net worth: "+portfolio.getNetWorth().toString()); - Label percentageChange = new Label("Percentage change: "); - Label playerStatus = new Label("Novice"); - Label portfolioWorth = new Label("Portfolio net worth: "); - Label totalShares = new Label("Total shares owned: "); + Label userTitle = new Label(String.format("%s's Portfolio", UserSession.getInstance().getPlayer().getName())); + Label netWorth = new Label(); + netWorth.textProperty().bind( + UserSession.getInstance().netWorthProperty().asString("Net Worth: %.2f $")); + Label percentageChange = new Label("Percentage change: "+ UserSession.getInstance().netWorthProperty().doubleValue()); + Label playerStatus = new Label("Player status: "+ UserSession.getInstance().getPlayer().getStatus()); + Label totalShares = new Label("Total shares owned: "+ UserSession.getInstance().getPlayer().getPortfolio().getShares().size()); ArrayList