aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/gui/LevelDetails.java45
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/gui/LevelSelector.java46
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());
- }
-
}