From 184c51a296fcc686b96c4aa790db52727fd482ae Mon Sep 17 00:00:00 2001
From: arnaudlabourel <arnaud.labourel@univ-amu.fr>
Date: Wed, 9 Nov 2022 12:47:55 +0100
Subject: [PATCH] added pause button

---
 src/main/java/App.java | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/main/java/App.java b/src/main/java/App.java
index 6ee84b8..2b1fbba 100644
--- a/src/main/java/App.java
+++ b/src/main/java/App.java
@@ -14,6 +14,8 @@ import static java.lang.Thread.sleep;
 
 public class App extends Application {
 
+    boolean isInPause = true;
+
     public static void main(String[] args) {
         launch(args);
     }
@@ -22,6 +24,7 @@ public class App extends Application {
     public void start(Stage primaryStage) throws InterruptedException {
         Group root = new Group();
         Button restart = new Button("Restart");
+        Button switchPause = new Button("Pause");
         VBox buttons = new VBox();
         HBox total = new HBox();
         Grid grid = new Grid(1000,1000,20,20);
@@ -30,7 +33,9 @@ public class App extends Application {
         total.getChildren().add(buttons);
         total.getChildren().add(grid);
         buttons.getChildren().add(restart);
+        buttons.getChildren().add(switchPause);
         restart.setOnMouseClicked(grid::restart);
+        switchPause.setOnMouseClicked((value)->isInPause = !isInPause);
         primaryStage.setScene(new Scene(root));
         primaryStage.show();
         grid.repaint();
@@ -39,8 +44,10 @@ public class App extends Application {
         threadPoolExecutor.scheduleWithFixedDelay(new Runnable() {
             @Override
             public void run() {
-                grid.model.activation();
-                grid.repaint();
+                if(!isInPause) {
+                    grid.model.activation();
+                    grid.repaint();
+                }
             }
         }, 0, 50 , TimeUnit.MILLISECONDS);
     }
-- 
GitLab