aboutsummaryrefslogtreecommitdiff
path: root/src/gui/LevelDetails.java
diff options
context:
space:
mode:
authorAidan Ross <aross02@fairport.org>2023-05-16 19:45:01 -0400
committerAidan Ross <aross02@fairport.org>2023-05-16 19:45:01 -0400
commitd2f14ec456a3a3a5b5725af74929c2b58f07bb91 (patch)
treefe4b43898fbe6a9411ab119ff6405ce032c0bbc4 /src/gui/LevelDetails.java
parentd7392b8ba11517117c25f6fc139da84873cb7cac (diff)
parentf6685e0c93ed1f9ea5aab85f17d64ce93ffae6a9 (diff)
downloadNPEhero-d2f14ec456a3a3a5b5725af74929c2b58f07bb91.tar.gz
NPEhero-d2f14ec456a3a3a5b5725af74929c2b58f07bb91.tar.bz2
NPEhero-d2f14ec456a3a3a5b5725af74929c2b58f07bb91.zip
Merge branch 'main' of https://gitlab.sowgro.net/guitarheros/guitarhero into main
Diffstat (limited to 'src/gui/LevelDetails.java')
-rw-r--r--src/gui/LevelDetails.java74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/gui/LevelDetails.java b/src/gui/LevelDetails.java
new file mode 100644
index 0000000..5623261
--- /dev/null
+++ b/src/gui/LevelDetails.java
@@ -0,0 +1,74 @@
+package gui;
+
+import javafx.geometry.Insets;
+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");
+ details.setPadding(new Insets(10));
+
+ 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().subtract(10));
+ 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().subtract(10));
+
+ 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().subtract(10));
+
+ 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);
+ play.setOnAction(e -> Driver.setCustomMenu(new LevelSurround()));
+ }
+
+ 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);
+ }
+}