aboutsummaryrefslogtreecommitdiff
path: root/src/gui/LevelDetails.java
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2023-05-14 17:34:40 -0400
committersowgro <tpoke.ferrari@gmail.com>2023-05-14 17:34:40 -0400
commit4a1f4a98116b5c59efe0606375b833a722a0d281 (patch)
treef993765d0022da440199fb109633b0e0113082eb /src/gui/LevelDetails.java
parent6e2ff44c33226e6d03810ae5fae9645605d3e89d (diff)
downloadNPEhero-4a1f4a98116b5c59efe0606375b833a722a0d281.tar.gz
NPEhero-4a1f4a98116b5c59efe0606375b833a722a0d281.tar.bz2
NPEhero-4a1f4a98116b5c59efe0606375b833a722a0d281.zip
add levelselector gui, move some files around
Diffstat (limited to '')
-rw-r--r--src/gui/LevelDetails.java71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/gui/LevelDetails.java b/src/gui/LevelDetails.java
new file mode 100644
index 0000000..dee2f00
--- /dev/null
+++ b/src/gui/LevelDetails.java
@@ -0,0 +1,71 @@
+package gui;
+
+import javafx.geometry.Pos;
+import javafx.scene.control.Button;
+import javafx.scene.control.ListView;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.layout.Pane;
+import javafx.scene.layout.VBox;
+import javafx.scene.paint.Color;
+import javafx.scene.text.Font;
+import javafx.scene.text.Text;
+import javafx.scene.text.TextAlignment;
+
+public class LevelDetails extends VBox
+{
+ public LevelDetails(ListView<String> list)
+ {
+ VBox details = new VBox();
+ details.minWidthProperty().bind(super.widthProperty());
+ details.minHeightProperty().bind(super.heightProperty().multiply(0.75));
+ details.maxWidthProperty().bind(super.widthProperty());
+ details.maxHeightProperty().bind(super.heightProperty().multiply(0.75));
+ details.getStyleClass().add("textBox");
+
+ Button play = new Button();
+ play.setText("Play");
+
+ if (list.getSelectionModel().getSelectedItem() == null)
+ {
+ Text desc = new Text();
+ desc.setText("Select a level from the left pane");
+ desc.setFill(Color.WHITE);
+ desc.wrappingWidthProperty().bind(super.widthProperty());
+ desc.setTextAlignment(TextAlignment.CENTER);
+ details.setAlignment(Pos.CENTER);
+ details.getChildren().addAll(desc);
+ play.setDisable(true);
+ }
+
+ else
+ {
+ Text title = new Text();
+ title.setText("Test level 1");
+ title.setFill(Color.WHITE);
+ title.setFont(new Font(50));
+ title.wrappingWidthProperty().bind(super.widthProperty());
+
+ Text desc = new Text();
+ desc.setText("long description with lots of words. what we write does not actually need to be long i just wan t make sure it can word wrap");
+ desc.setFill(Color.WHITE);
+ desc.wrappingWidthProperty().bind(super.widthProperty());
+
+ ImageView previewView = new ImageView();
+ Image preview = new Image("assets/pico.png");
+ previewView.setImage(preview);
+ //previewView.setFitHeight(100);
+ previewView.fitWidthProperty().bind(super.widthProperty().multiply(0.5));
+ previewView.setPreserveRatio(true);
+ details.getChildren().addAll(title,desc,previewView);
+ }
+
+ VBox rightBox = new VBox();
+ rightBox.setAlignment(Pos.CENTER_RIGHT);
+ rightBox.setSpacing(10);
+ rightBox.getChildren().addAll(details,play);
+
+ super.setAlignment(Pos.CENTER_RIGHT);
+ super.getChildren().add(rightBox);
+ }
+}