diff options
Diffstat (limited to 'src/main')
-rwxr-xr-x | src/main/java/net/sowgro/npehero/gui/LevelDetails.java | 45 | ||||
-rwxr-xr-x | src/main/java/net/sowgro/npehero/gui/LevelSelector.java | 46 |
2 files changed, 32 insertions, 59 deletions
diff --git a/src/main/java/net/sowgro/npehero/gui/LevelDetails.java b/src/main/java/net/sowgro/npehero/gui/LevelDetails.java index 38e8a01..11602aa 100755 --- a/src/main/java/net/sowgro/npehero/gui/LevelDetails.java +++ b/src/main/java/net/sowgro/npehero/gui/LevelDetails.java @@ -2,10 +2,7 @@ package net.sowgro.npehero.gui; import javafx.geometry.Insets; import javafx.geometry.Pos; -import javafx.scene.control.Button; -import javafx.scene.control.RadioButton; -import javafx.scene.control.ScrollPane; -import javafx.scene.control.ToggleGroup; +import javafx.scene.control.*; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.BorderPane; @@ -13,8 +10,6 @@ import javafx.scene.layout.FlowPane; import javafx.scene.layout.HBox; import javafx.scene.layout.VBox; import javafx.scene.text.Text; -import javafx.scene.text.TextAlignment; -import javafx.scene.text.TextBoundsType; import javafx.scene.text.TextFlow; import net.sowgro.npehero.Driver; import net.sowgro.npehero.levelapi.Difficulty; @@ -29,10 +24,10 @@ public class LevelDetails extends VBox */ public LevelDetails(Level level, LevelSelector ls) { - VBox rightBox = new VBox(); - rightBox.prefWidthProperty().bind(super.prefWidthProperty()); - rightBox.prefHeightProperty().bind(super.prefHeightProperty().multiply(0.75)); - rightBox.setMinWidth(350); + BorderPane rightBox = new BorderPane(); + rightBox.prefWidthProperty().bind(super.widthProperty()); + rightBox.prefHeightProperty().bind(super.heightProperty().multiply(0.75)); +// rightBox.setMinWidth(350); rightBox.getStyleClass().add("box"); rightBox.setPadding(new Insets(5)); @@ -44,24 +39,16 @@ public class LevelDetails extends VBox leaderboard.setDisable(true); leaderboard.setText("Leaderboard"); - if (level == null) //if no level is selected from the list on the left - { - Text desc = new Text(); + if (level == null) { //if no level is selected from the list on the left + Label desc = new Label(); desc.setText("Select a level from the left pane"); desc.getStyleClass().add("t3"); - desc.wrappingWidthProperty().bind(super.prefWidthProperty().subtract(10)); - desc.setTextAlignment(TextAlignment.CENTER); - - rightBox.setAlignment(Pos.CENTER); - rightBox.getChildren().addAll(desc); + rightBox.setCenter(desc); } - - else - { + else { Text title = new Text(); title.setText(level.title); title.getStyleClass().add("t1"); -// title.setLineSpacing(0.5); Text artist = new Text(); artist.setText(level.artist); @@ -84,7 +71,7 @@ public class LevelDetails extends VBox ImageView imageView = new ImageView(); Image image = level.preview; imageView.setImage(image); - imageView.fitWidthProperty().bind(super.prefWidthProperty().multiply(0.5)); + imageView.fitWidthProperty().bind(rightBox.widthProperty().multiply(0.5)); imageView.setPreserveRatio(true); VBox imageHolder = new VBox(imageView); imageHolder.setAlignment(Pos.CENTER); @@ -130,23 +117,19 @@ public class LevelDetails extends VBox detailsScroll.getStyleClass().remove("scroll-pane"); detailsScroll.setFitToWidth(true); details.minHeightProperty().bind(detailsScroll.heightProperty()); + detailsScroll.setFitToHeight(true); - rightBox.getChildren().add(detailsScroll); + rightBox.setCenter(detailsScroll); rightBox.setPadding(new Insets(5)); } - VBox rightSide = new VBox(); - rightSide.setAlignment(Pos.CENTER_RIGHT); - rightSide.setSpacing(10); - HBox buttonBox = new HBox(); buttonBox.getChildren().addAll(leaderboard,play); buttonBox.setSpacing(5); buttonBox.setAlignment(Pos.CENTER_RIGHT); - rightSide.getChildren().addAll(rightBox,buttonBox); - + super.setSpacing(10); super.setAlignment(Pos.CENTER_RIGHT); - super.getChildren().add(rightSide); + super.getChildren().addAll(rightBox,buttonBox); } } diff --git a/src/main/java/net/sowgro/npehero/gui/LevelSelector.java b/src/main/java/net/sowgro/npehero/gui/LevelSelector.java index a92499a..35856df 100755 --- a/src/main/java/net/sowgro/npehero/gui/LevelSelector.java +++ b/src/main/java/net/sowgro/npehero/gui/LevelSelector.java @@ -5,6 +5,7 @@ import javafx.geometry.Pos; import javafx.scene.control.Button; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; +import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.scene.layout.VBox; @@ -20,7 +21,6 @@ public class LevelSelector extends Page public LevelSelector() { - //sets up table view: requires special getters, setters and constructors to work TableView<Level> levels = new TableView<>(); TableColumn<Level,String> titleCol = new TableColumn<>("Title"); @@ -36,11 +36,7 @@ public class LevelSelector extends Page artistCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().artist)); levels.setItems(Levels.getValidList()); - - levels.prefWidthProperty().bind(content.prefWidthProperty().multiply(0.25)); - levels.prefHeightProperty().bind(content.prefHeightProperty().multiply(0.75)); - levels.setMinWidth(300); - + levels.prefHeightProperty().bind(content.heightProperty().multiply(0.75)); Button exit = new Button(); exit.setText("Back"); @@ -54,16 +50,27 @@ public class LevelSelector extends Page leftBox.setSpacing(10); leftBox.getChildren().addAll(levels,exit); - Pane rightBox = new Pane(); - addDetails(rightBox, levels); + BorderPane rightBox = new BorderPane(new LevelDetails(levels.getSelectionModel().getSelectedItem(), this)); +// details1.prefWidthProperty().bind(content.prefWidthProperty().multiply(0.37)); + rightBox.prefHeightProperty().bind(content.heightProperty()); +// details1.maxWidthProperty().bind(content.prefWidthProperty().multiply(0.37)); +// details1.maxHeightProperty().bind(content.prefHeightProperty()); - content.getChildren().addAll(leftBox, rightBox); - content.setSpacing(10); + HBox centerBox = new HBox(leftBox, rightBox); + centerBox.setSpacing(10); + content.getChildren().addAll(centerBox); +// content.setSpacing(10); content.setAlignment(Pos.CENTER); + leftBox.prefWidthProperty().bind(centerBox.widthProperty().multiply(0.4)); + rightBox.prefWidthProperty().bind(centerBox.widthProperty().multiply(0.6)); + centerBox.setPrefWidth(1200); levels.getStyleClass().remove("list-view"); //listens for change in selected item of the list - levels.getSelectionModel().selectedItemProperty().addListener(_ -> addDetails(rightBox, levels)); + levels.getSelectionModel().selectedItemProperty().addListener(_ -> { + rightBox.setCenter(new LevelDetails(levels.getSelectionModel().getSelectedItem(), this)); + System.out.println("Got here"); + }); } @Override @@ -71,21 +78,4 @@ public class LevelSelector extends Page return content; } - /** - * adds corresponding level details pane to the right side - */ - private void addDetails(Pane rightBox, TableView<Level> levels) - { - VBox details = new LevelDetails(levels.getSelectionModel().getSelectedItem(), this); - if (! rightBox.getChildren().isEmpty()) - { - rightBox.getChildren().remove(0); - } - rightBox.getChildren().add(details); - details.prefWidthProperty().bind(content.prefWidthProperty().multiply(0.37)); - details.prefHeightProperty().bind(content.prefHeightProperty()); - details.maxWidthProperty().bind(content.prefWidthProperty().multiply(0.37)); - details.maxHeightProperty().bind(content.prefHeightProperty()); - } - } |