diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Main.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Main.java index 3058fa5..b94ca01 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Main.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/Main.java @@ -21,8 +21,8 @@ import java.util.Objects; import edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.financialsummary.SummaryController; import edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.financialsummary.SummaryView; -import edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.stats.StatsController; -import edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.stats.StatsView; +import edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.dashboard.DashBoardController; +import edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.dashboard.DashBoardView; import edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.topbar.TopBarController; import edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.topbar.TopBarView; import javafx.application.Application; @@ -86,20 +86,24 @@ public void start(final Stage stage) throws Exception { SummaryView summaryView = new SummaryView(); new SummaryController(summaryView, eventManager, exchange, player); - // Top bar + // Top bar with summary section TopBarView topBarView = new TopBarView(summaryView); new TopBarController(topBarView, eventManager); + // Top bar without summary section + TopBarView topBarView2 = new TopBarView(); + new TopBarController(topBarView2, eventManager); + // Stats page - StatsView statsView = new StatsView(); - new StatsController(statsView, + DashBoardView dashBoardView = new DashBoardView(); + new DashBoardController(dashBoardView, eventManager, player, exchange, stocksInFile); - // In-game - InGameView inGameView = new InGameView(topBarView, statsView.getRootPane()); + // In-game (Change "topBarView" to "topBarView2" if no summary section). + InGameView inGameView = new InGameView(topBarView, dashBoardView.getRootPane()); // Register all views viewManager.addView(mainMenuView); diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardActions.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardActions.java new file mode 100644 index 0000000..e6fa822 --- /dev/null +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardActions.java @@ -0,0 +1,7 @@ +package edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.dashboard; + +public enum DashBoardActions { + BUY_SHARES, + SELL_SHARES, + SELECT_STOCK; +} diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/stats/StatsController.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardController.java similarity index 76% rename from src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/stats/StatsController.java rename to src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardController.java index 20ddb65..b6fe1bd 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/stats/StatsController.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardController.java @@ -1,11 +1,8 @@ -package edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.stats; +package edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.dashboard; import edu.ntnu.idi.idatt2003.g40.mappe.engine.Exchange; import edu.ntnu.idi.idatt2003.g40.mappe.model.Player; -import edu.ntnu.idi.idatt2003.g40.mappe.model.Share; import edu.ntnu.idi.idatt2003.g40.mappe.model.Stock; -import edu.ntnu.idi.idatt2003.g40.mappe.service.SaleCalculator; -import edu.ntnu.idi.idatt2003.g40.mappe.service.TransactionFactory; import edu.ntnu.idi.idatt2003.g40.mappe.service.event.EventManager; import edu.ntnu.idi.idatt2003.g40.mappe.utils.Validator; import edu.ntnu.idi.idatt2003.g40.mappe.view.ViewController; @@ -15,7 +12,7 @@ import java.math.BigDecimal; import java.util.List; -public class StatsController extends ViewController { +public class DashBoardController extends ViewController { private Player player; private Exchange exchange; @@ -24,11 +21,11 @@ public class StatsController extends ViewController { /** * {@inheritDoc} */ - public StatsController(final StatsView viewElement, - final EventManager eventManager, - final Player player, - final Exchange exchange, - final List stockList) + public DashBoardController(final DashBoardView viewElement, + final EventManager eventManager, + final Player player, + final Exchange exchange, + final List stockList) throws IllegalArgumentException { this.player = player; this.stockList = stockList; @@ -58,7 +55,7 @@ protected void initInteractions() { populateStockList(); getViewElement().setCurrentStock(stockList.getFirst()); getViewElement().updateGraph(); - getViewElement().setOnAction(StatsActions.BUY_SHARES, () -> { + getViewElement().setOnAction(DashBoardActions.BUY_SHARES, () -> { if (Validator.NOT_EMPTY.isValid(getViewElement().getQuantityInputField().getText())) { BigDecimal amountToBuy = new BigDecimal(getViewElement().getQuantityInputField().getText()); exchange.buy( diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/stats/StatsView.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardView.java similarity index 92% rename from src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/stats/StatsView.java rename to src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardView.java index 2e490cc..2710660 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/stats/StatsView.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/dashboard/DashBoardView.java @@ -1,4 +1,4 @@ -package edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.stats; +package edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.dashboard; import edu.ntnu.idi.idatt2003.g40.mappe.model.Stock; import edu.ntnu.idi.idatt2003.g40.mappe.view.ViewElement; @@ -8,6 +8,7 @@ import java.util.List; import java.util.function.Consumer; +import edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.financialsummary.SummaryView; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.chart.LineChart; @@ -22,7 +23,7 @@ import javafx.scene.layout.Region; import javafx.scene.layout.VBox; -public class StatsView extends ViewElement { +public class DashBoardView extends ViewElement { private LineChart chart; private XYChart.Series dataSeries; private VBox sidebar; @@ -35,9 +36,9 @@ public class StatsView extends ViewElement { private Label selectedStockPriceLabel; private TextField shareQuantityInputField; - public StatsView() { + public DashBoardView() { stockButtons = new ArrayList<>(); - super(new HBox(), StatsActions.class); + super(new HBox(), DashBoardActions.class); } @Override @@ -110,11 +111,11 @@ protected void initLayout() { Button buyBtn = new Button("buy"); buyBtn.getStyleClass().add("buy-button"); - registerButton(StatsActions.BUY_SHARES, buyBtn); + registerButton(DashBoardActions.BUY_SHARES, buyBtn); Button sellBtn = new Button("sell"); sellBtn.getStyleClass().add("sell-button"); - registerButton(StatsActions.SELL_SHARES, sellBtn); + registerButton(DashBoardActions.SELL_SHARES, sellBtn); shareQuantityInputField = new TextField("1.0"); @@ -130,8 +131,8 @@ protected void initLayout() { mainContent.getChildren().addAll(topSection, chart, tradeActions); getRootPane().getChildren().addAll(scrollPane, mainContent); - registerButton(StatsActions.BUY_SHARES, buyBtn); - registerButton(StatsActions.SELL_SHARES, sellBtn); + registerButton(DashBoardActions.BUY_SHARES, buyBtn); + registerButton(DashBoardActions.SELL_SHARES, sellBtn); } @Override diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/stats/StatsActions.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/stats/StatsActions.java deleted file mode 100644 index a724f56..0000000 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/stats/StatsActions.java +++ /dev/null @@ -1,7 +0,0 @@ -package edu.ntnu.idi.idatt2003.g40.mappe.view.widgets.stats; - -public enum StatsActions { - BUY_SHARES, - SELL_SHARES, - SELECT_STOCK; -} diff --git a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/topbar/TopBarView.java b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/topbar/TopBarView.java index e3d5b57..0394021 100644 --- a/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/topbar/TopBarView.java +++ b/src/main/java/edu/ntnu/idi/idatt2003/g40/mappe/view/widgets/topbar/TopBarView.java @@ -16,13 +16,17 @@ public class TopBarView extends ViewElement { private Button statsBtn; private Button marketBtn; private Button settingsBtn; - private final SummaryView summaryView; + private SummaryView summaryView; public TopBarView(final SummaryView summaryView) { this.summaryView = summaryView; super(new VBox(10), TopBarActions.class); } + public TopBarView() { + super(new VBox(10), TopBarActions.class); + } + @Override protected void initLayout() { HBox navRow = new HBox(20); @@ -31,7 +35,6 @@ protected void initLayout() { navRow.setMaxWidth(Double.MAX_VALUE); navRow.setMinHeight(Region.USE_PREF_SIZE); - //VBox.setVgrow(getRootPane(), Priority.SOMETIMES); HBox.setHgrow(navRow, Priority.ALWAYS); getRootPane().setAlignment(Pos.TOP_CENTER); @@ -54,9 +57,11 @@ protected void initLayout() { settingsBtn ); - - getRootPane().getChildren().addAll(navRow, summaryView.getRootPane()); - + if (summaryView != null) { + getRootPane().getChildren().addAll(navRow, summaryView.getRootPane()); + } else { + getRootPane().getChildren().add(navRow); + } registerButton(TopBarActions.EXIT, quitBtn); registerButton(TopBarActions.STATS, statsBtn); registerButton(TopBarActions.MARKET, marketBtn);