aboutsummaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/Driver.java16
-rw-r--r--src/gui/LevelDetails.java9
-rw-r--r--src/gui/LevelSurround.java74
3 files changed, 95 insertions, 4 deletions
diff --git a/src/gui/Driver.java b/src/gui/Driver.java
index 77fe0b0..59002c2 100644
--- a/src/gui/Driver.java
+++ b/src/gui/Driver.java
@@ -17,6 +17,7 @@ import javafx.stage.Stage;
public class Driver extends Application
{
+ static Stage primaryStage;
static HashMap<String,Pane> menus = new HashMap<String,Pane>();
static Pane primaryPane = new Pane();
@@ -26,8 +27,9 @@ public class Driver extends Application
}
@Override
- public void start(Stage primaryStage)
+ public void start(Stage newPrimaryStage)
{
+ primaryStage = newPrimaryStage;
menus.put("MainMenu", new MainMenu());
menus.put("LevelSelector", new LevelSelector());
menus.put("Settings", new Settings());
@@ -61,6 +63,18 @@ public class Driver extends Application
primaryPane.requestFocus();
}
+ public static void setCustomMenu(Pane pane)
+ {
+ if (! primaryPane.getChildren().isEmpty())
+ {
+ primaryPane.getChildren().remove(0);
+ }
+ pane.minWidthProperty().bind(primaryStage.widthProperty());
+ pane.minHeightProperty().bind(primaryStage.heightProperty());
+ primaryPane.getChildren().add(pane);
+ primaryPane.requestFocus();
+ }
+
public static void setBackground(String url)
{
primaryPane.setBackground(new Background(
diff --git a/src/gui/LevelDetails.java b/src/gui/LevelDetails.java
index dee2f00..5623261 100644
--- a/src/gui/LevelDetails.java
+++ b/src/gui/LevelDetails.java
@@ -1,5 +1,6 @@
package gui;
+import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.ListView;
@@ -22,6 +23,7 @@ public class LevelDetails extends VBox
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");
@@ -31,7 +33,7 @@ public class LevelDetails extends VBox
Text desc = new Text();
desc.setText("Select a level from the left pane");
desc.setFill(Color.WHITE);
- desc.wrappingWidthProperty().bind(super.widthProperty());
+ desc.wrappingWidthProperty().bind(super.widthProperty().subtract(10));
desc.setTextAlignment(TextAlignment.CENTER);
details.setAlignment(Pos.CENTER);
details.getChildren().addAll(desc);
@@ -44,12 +46,12 @@ public class LevelDetails extends VBox
title.setText("Test level 1");
title.setFill(Color.WHITE);
title.setFont(new Font(50));
- title.wrappingWidthProperty().bind(super.widthProperty());
+ 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());
+ desc.wrappingWidthProperty().bind(super.widthProperty().subtract(10));
ImageView previewView = new ImageView();
Image preview = new Image("assets/pico.png");
@@ -58,6 +60,7 @@ public class LevelDetails extends VBox
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();
diff --git a/src/gui/LevelSurround.java b/src/gui/LevelSurround.java
new file mode 100644
index 0000000..22fcf97
--- /dev/null
+++ b/src/gui/LevelSurround.java
@@ -0,0 +1,74 @@
+package gui;
+
+import fallTest.Hbox;
+import javafx.geometry.Insets;
+import javafx.geometry.Pos;
+import javafx.scene.control.Button;
+import javafx.scene.layout.BorderPane;
+import javafx.scene.layout.HBox;
+import javafx.scene.layout.Pane;
+import javafx.scene.layout.StackPane;
+import javafx.scene.layout.VBox;
+import javafx.scene.paint.Color;
+import javafx.scene.text.Font;
+import javafx.scene.text.Text;
+
+public class LevelSurround extends Pane
+{
+ //will have param (Level l)
+ public LevelSurround()
+ {
+ Button exit = new Button();
+ exit.setText("Exit");
+ exit.setOnAction(e -> Driver.setMenu("LevelSelector"));
+
+ Button pause = new Button();
+ pause.setText("Pause");
+
+ HBox buttonBox = new HBox();
+ buttonBox.getChildren().addAll(exit,pause);
+ buttonBox.setAlignment(Pos.TOP_LEFT);
+ buttonBox.setSpacing(10);
+
+ Text title = new Text();
+ title.setText("Test level 1");
+ title.setFill(Color.WHITE);
+ title.setFont(new Font(50));
+
+ Text diff = new Text();
+ diff.setText("Easy");
+ diff.setFill(Color.WHITE);
+
+ VBox textBox = new VBox();
+ textBox.setAlignment(Pos.TOP_RIGHT);
+ textBox.getChildren().addAll(title,diff);
+
+ BorderPane topBar = new BorderPane();
+ topBar.setLeft(buttonBox);
+ topBar.setRight(textBox);
+ topBar.setPadding(new Insets(10));
+
+ Text title = new Text();
+ title.setText("Test level 1");
+ title.setFill(Color.WHITE);
+ title.setFont(new Font(50));
+
+ Text diff = new Text();
+ diff.setText("Easy");
+ diff.setFill(Color.WHITE);
+
+ VBox textBox = new VBox();
+ textBox.setAlignment(Pos.TOP_RIGHT);
+ textBox.getChildren().addAll(title,diff);
+
+ HBox centerBox = new HBox();
+ centerBox.getStyleClass().add("textBox");
+
+ StackPane root = new StackPane();
+ root.getChildren().addAll(topBar,centerBox);
+
+ super.getChildren().add(root);
+ root.minWidthProperty().bind(super.minWidthProperty());
+ root.minHeightProperty().bind(super.minHeightProperty());
+ }
+} \ No newline at end of file