From df125ba6f60b694ae54d733391f4c5e5519a73f8 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Mon, 19 Dec 2016 14:00:51 +0100
Subject: [PATCH] removed start button (combined into stop button)

---
 src/de/deadlocker8/loadingbar/main/Main.java  |  2 +-
 .../deadlocker8/loadingbar/ui/Controller.java | 24 +++++++++++++++----
 .../loadingbar/ui/CountdownTimer.java         |  5 ++--
 src/de/deadlocker8/loadingbar/ui/GUI.fxml     |  9 ++-----
 4 files changed, 25 insertions(+), 15 deletions(-)

diff --git a/src/de/deadlocker8/loadingbar/main/Main.java b/src/de/deadlocker8/loadingbar/main/Main.java
index 01f73b3..f790c04 100644
--- a/src/de/deadlocker8/loadingbar/main/Main.java
+++ b/src/de/deadlocker8/loadingbar/main/Main.java
@@ -26,7 +26,7 @@ public class Main extends Application
 			FXMLLoader loader = new FXMLLoader(getClass().getClassLoader().getResource("de/deadlocker8/loadingbar/ui/GUI.fxml"));
 			Parent root = (Parent)loader.load();
 
-			Scene scene = new Scene(root, 600, 600);			
+			Scene scene = new Scene(root, 600, 500);			
 
 			((Controller)loader.getController()).init(stage);
 
diff --git a/src/de/deadlocker8/loadingbar/ui/Controller.java b/src/de/deadlocker8/loadingbar/ui/Controller.java
index fea7a16..7d6c66f 100644
--- a/src/de/deadlocker8/loadingbar/ui/Controller.java
+++ b/src/de/deadlocker8/loadingbar/ui/Controller.java
@@ -37,6 +37,7 @@ public class Controller
 	private int targetPercentage;
 	private boolean swapped;
 	private final String BACKGROUND_COLOR = "#333333";
+	private boolean running;
 
 	public void init(Stage stage)
 	{
@@ -50,31 +51,43 @@ public class Controller
 		labelUser.setStyle("-fx-text-fill: white; -fx-font-size: 30; -fx-font-weight: bold;");
 		labelMessage.setStyle("-fx-text-fill: white; -fx-font-size: 30; -fx-font-weight: bold;");
 		buttonStop.setStyle("-fx-background-color: transparent; -fx-border-color: white; -fx-border-width: 3; -fx-border-radius: 0; -fx-text-fill: white;");
+		
+		buttonStop.setText("START");
 	}
 
-	public void buttonStart()
+	public void start()
 	{
 		if(swapped)
 		{
 			swapProgressBars();
 			swapped = false;
 		}
+		
+		running = true;
+		buttonStop.setText("STOP");
 
 		Random random = new Random();
-		targetPercentage = 15 + random.nextInt(90 - 15 + 1);
+		targetPercentage = 20 + random.nextInt(90 - 20 + 1);
 		labelTarget.setText(String.valueOf(targetPercentage));
 		labelUser.setText("");
 		labelMessage.setText("");
 
 		progressBarTarget.setProgress(0.0);
 
-		progressBar.setProgress(0.0);
+		progressBar.setProgress(0.0);	
 		timer = new CountdownTimer(4.0, this);
 	}
 
 	public void buttonStop()
 	{
-		stop(timer.stop());
+		if(running)
+		{
+			stop(timer.stop());
+		}
+		else
+		{
+			start();
+		}
 	}
 
 	public void updateProgress(double value)
@@ -91,6 +104,9 @@ public class Controller
 
 	public void stop(double value)
 	{
+		running = false;
+		buttonStop.setText("START");	
+		
 		int userPercentage = (int)(value * 100);
 		labelUser.setText(String.valueOf(userPercentage));
 		progressBar.setProgress(userPercentage / 100.0);
diff --git a/src/de/deadlocker8/loadingbar/ui/CountdownTimer.java b/src/de/deadlocker8/loadingbar/ui/CountdownTimer.java
index ce1d76f..2a3f7a6 100644
--- a/src/de/deadlocker8/loadingbar/ui/CountdownTimer.java
+++ b/src/de/deadlocker8/loadingbar/ui/CountdownTimer.java
@@ -23,7 +23,7 @@ public class CountdownTimer
 	
 	public void start()
 	{	
-		time = 0.0;
+		time = 0.0;	
 		
 		task = new TimerTask()
 		{
@@ -61,8 +61,7 @@ public class CountdownTimer
 	public double stop()
 	{
 		timer.cancel();		
-		timer.purge();
-		
+		timer.purge();		
 		
 		return time / count;
 	}
diff --git a/src/de/deadlocker8/loadingbar/ui/GUI.fxml b/src/de/deadlocker8/loadingbar/ui/GUI.fxml
index 86bc411..2fe5945 100644
--- a/src/de/deadlocker8/loadingbar/ui/GUI.fxml
+++ b/src/de/deadlocker8/loadingbar/ui/GUI.fxml
@@ -9,7 +9,7 @@
 <?import javafx.scene.layout.VBox?>
 <?import javafx.scene.text.Font?>
 
-<AnchorPane fx:id="mainPane" prefHeight="400.0" prefWidth="400.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.loadingbar.ui.Controller">
+<AnchorPane fx:id="mainPane" prefHeight="450.0" prefWidth="500.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.deadlocker8.loadingbar.ui.Controller">
    <children>
       <VBox alignment="TOP_CENTER" layoutX="25.0" layoutY="16.0" prefHeight="363.0" prefWidth="350.0" AnchorPane.bottomAnchor="25.0" AnchorPane.leftAnchor="25.0" AnchorPane.rightAnchor="25.0" AnchorPane.topAnchor="25.0">
          <children>
@@ -53,17 +53,12 @@
             </Label>
             <Button fx:id="buttonStop" mnemonicParsing="false" onAction="#buttonStop" text="STOP">
                <VBox.margin>
-                  <Insets top="20.0" />
+                  <Insets top="40.0" />
                </VBox.margin>
                <font>
                   <Font name="System Bold" size="24.0" />
                </font>
             </Button>
-            <Button mnemonicParsing="false" onAction="#buttonStart" text="Start">
-               <VBox.margin>
-                  <Insets top="50.0" />
-               </VBox.margin>
-            </Button>
          </children>
       </VBox>
    </children>
-- 
GitLab