From 29b8ef9734904ab1144d9bf5f5ea11fbe6ec6d17 Mon Sep 17 00:00:00 2001 From: Laura Radaelli Date: Fri, 6 Jan 2017 17:24:38 +0200 Subject: [PATCH] javafx integration runs till channel choice --- .../WelcomeSplashController.java | 2 +- .../meerkat/voting/gui/ui/GraphicalUI.java | 60 +++- .../java/meerkat/voting/gui/ui/MainFX.java | 27 +- .../java/meerkat/voting/gui/ui/UIUtils.java | 4 +- .../ChannelChoiceController.java | 181 ++++------ .../controllersFX/EmptyStartController.java | 21 ++ .../gui/ui/controllersFX/MainController.java | 25 +- .../ui/controllersFX/Vista2Controller.java | 2 +- .../gui/ui/controllersFX/VistaNavigator.java | 21 +- ...ller.java => WelcomeScreenController.java} | 4 +- .../main/resources/views/channel_choice.fxml | 327 +----------------- .../resources/views/channel_choice_old.fxml | 322 +++++++++++++++++ .../src/main/resources/views/empty_start.fxml | 98 ++++++ .../src/main/resources/views/main.fxml | 11 +- ...rting_session.fxml => welcome_screen.fxml} | 2 +- 15 files changed, 634 insertions(+), 473 deletions(-) create mode 100644 voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/EmptyStartController.java rename voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/{StartSessionController.java => WelcomeScreenController.java} (84%) create mode 100644 voting-booth/src/main/resources/views/channel_choice_old.fxml create mode 100644 voting-booth/src/main/resources/views/empty_start.fxml rename voting-booth/src/main/resources/views/{starting_session.fxml => welcome_screen.fxml} (98%) diff --git a/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/welcome_splash/WelcomeSplashController.java b/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/welcome_splash/WelcomeSplashController.java index ac91ab4..77bd294 100644 --- a/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/welcome_splash/WelcomeSplashController.java +++ b/voting-booth-gui/src/main/java/meerkat/voting/gui/panels/welcome_splash/WelcomeSplashController.java @@ -9,7 +9,7 @@ import org.slf4j.LoggerFactory; /** * Created by Vladimir Eliezer Tokarev on 8/27/2016. - * StartSessionController handle the behavior of welcome splash class + * WelcomeScreenController handle the behavior of welcome splash class */ public class WelcomeSplashController extends TwoWayNode { diff --git a/voting-booth/src/main/java/meerkat/voting/gui/ui/GraphicalUI.java b/voting-booth/src/main/java/meerkat/voting/gui/ui/GraphicalUI.java index a8dcbc8..19d0b81 100644 --- a/voting-booth/src/main/java/meerkat/voting/gui/ui/GraphicalUI.java +++ b/voting-booth/src/main/java/meerkat/voting/gui/ui/GraphicalUI.java @@ -2,6 +2,14 @@ package meerkat.voting.gui.ui; import com.google.common.util.concurrent.FutureCallback; import javafx.application.Application; +import javafx.fxml.FXML; +import javafx.geometry.Insets; +import javafx.scene.control.RadioButton; +import javafx.scene.control.ToggleGroup; +import javafx.scene.layout.VBox; +import javafx.scene.text.Font; +import javafx.scene.text.FontPosture; +import javafx.scene.text.Text; import meerkat.protobuf.Voting.BallotAnswer; import meerkat.protobuf.Voting.BallotQuestion; import meerkat.protobuf.Voting.UIElement; @@ -14,10 +22,7 @@ import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.IOException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Timer; +import java.util.*; /** @@ -36,6 +41,7 @@ public class GraphicalUI implements VotingBoothUI, Runnable { private MainFX ui; + public GraphicalUI() { final int tickDurationInMillisec = 10; // period between view update calls @@ -64,7 +70,7 @@ public class GraphicalUI implements VotingBoothUI, Runnable { } }.start(); try { - Thread.sleep(500); + MainFX.waitUntilLaunched(); } catch (InterruptedException e) { e.printStackTrace(); } @@ -154,6 +160,7 @@ public class GraphicalUI implements VotingBoothUI, Runnable { private void doShowWelcomeScreen(StartSessionUICommand command) { logger.debug("UI entered doShowWelcomeScreen"); VistaNavigator.setCurrentCommand(command); + VistaNavigator.loadVista(VistaNavigator.WELCOME_SCREEN); // waitForEnter(null); // ControllerCallback callback = command.getCallback(); // callback.onSuccess(null); @@ -212,7 +219,9 @@ public class GraphicalUI implements VotingBoothUI, Runnable { */ private void doAskChannelChoiceQuestions (ChannelChoiceUICommand command) { logger.debug("UI: doAskChannelChoiceQuestions"); - VistaNavigator.getMainController().showChannelChoiceScreen(command, logger); + UIUtils.assertQuestionsAreValid(command.getQuestions(), logger); + VistaNavigator.setCurrentCommand(command); + VistaNavigator.loadVista(VistaNavigator.CHANNEL_CHOICE); } /** @@ -478,6 +487,45 @@ public class GraphicalUI implements VotingBoothUI, Runnable { } } + /** + * present a question in a JavaFX environment to the voter + * @param question a text ballot question + */ + public VBox showQuestionInFX(BallotQuestion question, ToggleGroup answerGroup) { + if (!UIUtils.isQuestionOnlyText(question)) { + System.err.println("debug: an element in question is not of TEXT type"); + throw new UnsupportedOperationException(); + } + + String questionText = UIUtils.bytesToString(question.getQuestion().getData()); + String description = UIUtils.bytesToString(question.getDescription().getData()); + + VBox vbox = new VBox(); + vbox.setPadding(new Insets(10)); + vbox.setSpacing(8); + + Text title = new Text(questionText); + vbox.getChildren().add(title); + + Text descr = new Text(description); + descr.setFont(Font.font(Font.getDefault().getFamily(), FontPosture.ITALIC, Font.getDefault().getSize())); + vbox.getChildren().add(descr); + + int answerIndex = 0; + List options = new ArrayList(); + for (UIElement answer : question.getAnswerList()) { + ++answerIndex; + RadioButton rb1 = new RadioButton(UIUtils.bytesToString(answer.getData())); + rb1.setUserData(answerIndex); + rb1.setToggleGroup(answerGroup); + VBox.setMargin(rb1, new Insets(0, 0, 0, 8)); + vbox.getChildren().add(rb1); + } + + return vbox; + } + + private boolean wasShutDownCalled () { return shutDownHasBeenCalled; } diff --git a/voting-booth/src/main/java/meerkat/voting/gui/ui/MainFX.java b/voting-booth/src/main/java/meerkat/voting/gui/ui/MainFX.java index 7fd2465..a43e127 100644 --- a/voting-booth/src/main/java/meerkat/voting/gui/ui/MainFX.java +++ b/voting-booth/src/main/java/meerkat/voting/gui/ui/MainFX.java @@ -10,11 +10,8 @@ import javafx.scene.layout.Pane; import javafx.stage.Stage; import meerkat.voting.gui.ui.controllersFX.MainController; import meerkat.voting.gui.ui.controllersFX.VistaNavigator; -import meerkat.voting.gui.ui.uicommands.StartSessionUICommand; -import meerkat.voting.gui.ui.uicommands.UICommand; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javafx.scene.Parent; import javafx.fxml.FXMLLoader; import java.io.IOException; @@ -32,6 +29,25 @@ public class MainFX extends Application { // launch(args); // } + private static boolean launched = false; + + private static Object monitor = new Object(); + + public static void waitUntilLaunched() throws InterruptedException { + synchronized (monitor) { + while (!launched) { + monitor.wait(); + } + } + } + + private static void notifyLaunched() { + synchronized (monitor) { + launched = true; + monitor.notifyAll(); + } + } + @Override public void start(Stage stage) throws Exception{ stage.setTitle("Vista Viewer"); @@ -41,6 +57,7 @@ public class MainFX extends Application { ) ); stage.show(); + notifyLaunched(); } /** @@ -57,10 +74,10 @@ public class MainFX extends Application { Pane mainPane = (Pane) loader.load(); MainController mainController = loader.getController(); - mainController.setCurrentCommand(null); + mainController.init();//setCurrentCommand(null); VistaNavigator.setMainController(mainController); - VistaNavigator.loadVista(VistaNavigator.VISTA_1); + VistaNavigator.loadVista(VistaNavigator.EMPTY_START); return mainPane; } diff --git a/voting-booth/src/main/java/meerkat/voting/gui/ui/UIUtils.java b/voting-booth/src/main/java/meerkat/voting/gui/ui/UIUtils.java index 580b579..7fea7ef 100644 --- a/voting-booth/src/main/java/meerkat/voting/gui/ui/UIUtils.java +++ b/voting-booth/src/main/java/meerkat/voting/gui/ui/UIUtils.java @@ -10,14 +10,14 @@ import java.util.StringTokenizer; * Created by Vladimir Eliezer Tokarev on 9/17/2016. * This class contains methods that are used by all the UI's implementations */ -class UIUtils { +public class UIUtils { /** * Convert string into protobuff message answer * @param s string represent of an answer for a question * @return protobuff message answer */ - static Voting.BallotAnswer translateStringAnswerToProtoBufMessageAnswer(String s) { + public static Voting.BallotAnswer translateStringAnswerToProtoBufMessageAnswer(String s) { Voting.BallotAnswer.Builder bab = Voting.BallotAnswer.newBuilder(); StringTokenizer st = new StringTokenizer(s); while (st.hasMoreTokens()) { diff --git a/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/ChannelChoiceController.java b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/ChannelChoiceController.java index 63f2c98..1b2ac08 100644 --- a/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/ChannelChoiceController.java +++ b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/ChannelChoiceController.java @@ -2,9 +2,16 @@ package meerkat.voting.gui.ui.controllersFX; import javafx.fxml.FXML; import javafx.scene.control.Button; +import javafx.scene.control.TextField; +import javafx.scene.control.Toggle; +import javafx.scene.control.ToggleGroup; import javafx.scene.input.MouseEvent; +import javafx.scene.layout.Pane; +import javafx.scene.layout.VBox; +import javafx.scene.text.Text; import meerkat.protobuf.Voting; import meerkat.voting.controller.callbacks.VoterCancelThrowable; +//import meerkat.voting.gui.ui.UIUtils; import meerkat.voting.gui.ui.UIUtils; import meerkat.voting.gui.ui.uicommands.ChannelChoiceUICommand; import meerkat.voting.gui.ui.uicommands.UICommand; @@ -19,98 +26,71 @@ import java.util.List; */ public class ChannelChoiceController { - private List chanelValue; - private int pointer; - private boolean lock; +// private List chanelValue; +// private int pointer; +// private boolean lock; + + List answers = new ArrayList<>(); + List questions = new ArrayList<>(); + int index = 0; + ChannelChoiceUICommand command = (ChannelChoiceUICommand) VistaNavigator.getCurrentCommand(); + + @FXML ToggleGroup answerGroup; + @FXML private Text question; + @FXML private Pane questionPane; @FXML - public void answerWelcomeScreen() { -// MainFX.parent.answerWelcomeScreen((StartSessionUICommand) MainFX.currentCommand); + private void nextQuestion() { + if (questions.size()==0) { + questions = command.getQuestions(); + answerGroup = new ToggleGroup(); + } + if (answerGroup.getSelectedToggle()!=null) { + String s = answerGroup.getSelectedToggle().getUserData().toString(); + answers.add(UIUtils.translateStringAnswerToProtoBufMessageAnswer(s)); + index++; + } + if (index < questions.size()) { + showQuestion(); + } else { + //return answers to main threads + nextPane(); + } } + private void showQuestion() { + Voting.BallotQuestion ballotQuestion = questions.get(index); + question.setText("This question n. "+index); + answerGroup.getToggles().clear(); + VBox vbox = VistaNavigator.uiThread.showQuestionInFX(ballotQuestion, answerGroup); + questionPane.getChildren().clear(); + questionPane.getChildren().addAll(vbox); + } + + @FXML + private void goBack() throws VoterCancelThrowable{ + if (index == 0) { + doCancel(); + } else { + --index; + answers.remove(index); + nextQuestion(); + } + } + + @FXML + private void doCancel() throws VoterCancelThrowable{ + VoterCancelThrowable e = new VoterCancelThrowable(); + command.getCallback().onFailure(e); + //see what is done in the original (basically need to call the callback of the command onFailure() + } + + private void nextPane() { - ChannelChoiceUICommand command = (ChannelChoiceUICommand) VistaNavigator.getCurrentCommand(); - System.out.println("Showing questions for choosing channel:\n"); - try { - List answers = askVoterForAnswers(command.getQuestions()); - VistaNavigator.getCurrentCommand().getCallback().onSuccess(answers); - } - catch (VoterCancelThrowable e) { - VistaNavigator.getCurrentCommand().getCallback().onFailure(e); - } - catch (IOException e) { -// String errorMessage = "Channel choice failed due to IOException: " + e; -// logger.error (errorMessage); -// System.err.println(errorMessage); - VistaNavigator.getCurrentCommand().getCallback().onFailure(e); - } - - //askVoterForAnswers: - List answers = new ArrayList<>(); - int index = 0; - while (index < questions.size()) { - Voting.BallotQuestion question = questions.get(index); - System.out.println("Question number " + index); - showQuestionInConsole(question); - - System.out.println("UI screen: Enter your answer. You can also type '(b)ack' or '(c)ancel' or '(s)kip"); - String s = readInputLine(); - - if ((s.equals("cancel") || s.equals("c")) || (index == 0 && (s.equals("back") || s.equals("b")))) { - throw new VoterCancelThrowable(); - } - else if (s.equals("back") || s.equals("b")) { - --index; - answers.remove(index); - } - else if (s.equals("skip") || s.equals("s")) { - answers.add(UIUtils.translateStringAnswerToProtoBufMessageAnswer("")); - ++index; - } - else { - answers.add(UIUtils.translateStringAnswerToProtoBufMessageAnswer(s)); - ++index; - } - } - return answers; + VistaNavigator.loadVista(VistaNavigator.LOADING); + command.getCallback().onSuccess(answers); } - private void ProceedToNameSelection(MouseEvent boutonPressed) { -// this.currentStage.close(); -// this.currentStage.setScene(this.next.GetCurrentScene()); -// this.next.UpdateNode(); -// this.currentStage.show(); -// this.logger.debug("Created the proceess to name selection object loader."); - } - -// @Override - /** - * Creates the array of the canel value - */ - public void UpdateNode() { - this.pointer = 0; - this.lock = false; - - // created the channel value list - // every value in the list represents one of the cells values - this.chanelValue = new ArrayList<>(); - this.chanelValue.add(0); - this.chanelValue.add(0); - this.chanelValue.add(0); - this.chanelValue.add(0); -// this.logger.debug("Created and filled with zeros the channel value."); - - this.updateVisualChanel(); -// this.UpdateVotersChoise(); - } - - /** - * Updates the channel in the voters choise - */ -// private void UpdateVotersChoise(){ -// this.votersBallot.VoterChannel = this.chanelValue; -// } - /** * Updates the visual channel value */ @@ -123,35 +103,4 @@ public class ChannelChoiceController { // this.logger.debug("Updated the visual representation of the channel (its visual value)."); } - @FXML - private void numberPressed(MouseEvent mousePressed){ - if (!this.lock) { - String value = ((Button) mousePressed.getSource()).getId().split("_")[1]; - this.chanelValue.set(this.pointer, Integer.parseInt(value)); - this.pointer++; - this.updateVisualChanel(); -// this.UpdateVotersChoise(); - if (this.pointer == 4) { - this.lock = true; - } -// this.logger.debug("The " + value +" button have been pressed, then this value was pushed to channel value."); - } - } - - @FXML - private void clearLastNumber(MouseEvent mousePressed){ - if (this.pointer >= 1) { - int lastValueLocation = this.pointer - 1; - int lastValue = this.chanelValue.get(lastValueLocation); - this.chanelValue.set(lastValueLocation, 0); -// this.currentStage.show(); - this.pointer--; - this.updateVisualChanel(); -// this.UpdateVotersChoise(); - this.lock = false; -// this.logger.debug("The last value was removed from channel value (the value was " + lastValue + " )."); - } - } - - } diff --git a/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/EmptyStartController.java b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/EmptyStartController.java new file mode 100644 index 0000000..ea6606a --- /dev/null +++ b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/EmptyStartController.java @@ -0,0 +1,21 @@ +package meerkat.voting.gui.ui.controllersFX; + +import javafx.fxml.FXML; +import meerkat.voting.gui.ui.uicommands.StartSessionUICommand; + +/** + * Created by Vladimir Eliezer Tokarev on 8/27/2016. + * WelcomeScreenController handle the behavior of welcome splash class + */ +public class EmptyStartController { + + /** + * Event handler fired when the user requests a new vista. + * + */ +// @FXML +// void nextPane() { +// VistaNavigator.loadVista(VistaNavigator.VISTA_2); +// } + +} diff --git a/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/MainController.java b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/MainController.java index 689a266..47e8388 100644 --- a/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/MainController.java +++ b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/MainController.java @@ -9,6 +9,7 @@ import javafx.scene.Parent; import javafx.scene.layout.StackPane; import meerkat.protobuf.Voting; import meerkat.voting.controller.callbacks.VoterCancelThrowable; +import meerkat.voting.gui.ui.CommandPend; import org.slf4j.Logger; import meerkat.voting.gui.ui.uicommands.ChannelChoiceUICommand; import meerkat.voting.gui.ui.uicommands.UICommand; @@ -21,12 +22,16 @@ import java.util.List; */ public class MainController { - private UICommand currentCommand; + private CommandPend cmdPend; /** Holder of a switchable vista. */ @FXML private StackPane vistaHolder; + public void init() { + cmdPend = new CommandPend<>(); + } + /** * Replaces the vista displayed in the vista holder with a new vista. * @@ -37,22 +42,16 @@ public class MainController { } public void setCurrentCommand(UICommand command) { - this.currentCommand = command; + cmdPend.trample(command); } public UICommand getCurrentCommand() { - while (this.currentCommand==null) { - ; + try { + return cmdPend.take(); + } catch (InterruptedException e) { + e.printStackTrace(); + return null; } - return this.currentCommand; - } - - public void showChannelChoiceScreen(ChannelChoiceUICommand command, Logger logger) { - this.currentCommand = command; - System.out.println("in FX showChannelChoiceScreen"); -// UIUtils.assertQuestionsAreValid (command.getQuestions(), logger); - - VistaNavigator.loadVista(VistaNavigator.CHANNEL_CHOICE); } } \ No newline at end of file diff --git a/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/Vista2Controller.java b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/Vista2Controller.java index a5493ff..b6dce36 100644 --- a/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/Vista2Controller.java +++ b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/Vista2Controller.java @@ -18,7 +18,7 @@ public class Vista2Controller { */ @FXML void previousPane(ActionEvent event) { - VistaNavigator.loadVista(VistaNavigator.VISTA_1); + VistaNavigator.loadVista(VistaNavigator.EMPTY_START); } } \ No newline at end of file diff --git a/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/VistaNavigator.java b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/VistaNavigator.java index 48586f6..6ee6644 100644 --- a/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/VistaNavigator.java +++ b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/VistaNavigator.java @@ -3,11 +3,15 @@ package meerkat.voting.gui.ui.controllersFX; /** * Created by Laura on 12/16/2016. */ +import javafx.application.Platform; import javafx.fxml.FXMLLoader; +import javafx.scene.Node; import meerkat.voting.gui.ui.GraphicalUI; import meerkat.voting.gui.ui.uicommands.UICommand; import java.io.IOException; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; /** * Utility class for controlling navigation between vistas. @@ -22,7 +26,8 @@ public class VistaNavigator { */ public static final String MAIN = "/views/main.fxml"; public static final String LOADING = "/views/loading.fxml"; - public static final String VISTA_1 = "/views/starting_session.fxml"; + public static final String EMPTY_START = "/views/empty_start.fxml"; + public static final String WELCOME_SCREEN = "/views/welcome_screen.fxml"; public static final String VISTA_2 = "/views/vista2.fxml"; public static final String CHANNEL_CHOICE = "/views/channel_choice.fxml"; @@ -88,10 +93,18 @@ public class VistaNavigator { */ public static void loadVista(String fxml) { try { - mainController.setVista( - FXMLLoader.load(VistaNavigator.class.getResource(fxml) - ) +// mainController.setVista(FXMLLoader.load(VistaNavigator.class.getResource(fxml))); +// final BlockingQueue queue = new ArrayBlockingQueue(1); + Node node = FXMLLoader.load(VistaNavigator.class.getResource(fxml)); + Platform.runLater(new Runnable() { + @Override + public void run() { + mainController.setVista(node); + } + } ); + + } catch (IOException e) { e.printStackTrace(); } diff --git a/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/StartSessionController.java b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/WelcomeScreenController.java similarity index 84% rename from voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/StartSessionController.java rename to voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/WelcomeScreenController.java index 0fe0cdb..72e2fcc 100644 --- a/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/StartSessionController.java +++ b/voting-booth/src/main/java/meerkat/voting/gui/ui/controllersFX/WelcomeScreenController.java @@ -5,9 +5,9 @@ import meerkat.voting.gui.ui.uicommands.StartSessionUICommand; /** * Created by Vladimir Eliezer Tokarev on 8/27/2016. - * StartSessionController handle the behavior of welcome splash class + * WelcomeScreenController handle the behavior of welcome splash class */ -public class StartSessionController { +public class WelcomeScreenController { /** * Event handler fired when the user requests a new vista. diff --git a/voting-booth/src/main/resources/views/channel_choice.fxml b/voting-booth/src/main/resources/views/channel_choice.fxml index d01bd92..414592f 100644 --- a/voting-booth/src/main/resources/views/channel_choice.fxml +++ b/voting-booth/src/main/resources/views/channel_choice.fxml @@ -1,322 +1,15 @@ - - - - - + + + - - - - - - - - - + - - - - - - - - - - -
-
-
- - - - - -
-
- - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
- -
- - - - - -
-
- -
- - - - - -
-
- -
- - - - - -
-
-
-
- - - - - - - - - - - - -
- -
-
- - -
- -
-
- -
- -
-
- -
-
- - - - - - - - - - - - -
- -
-
- -
- -
-
- -
- -
-
- -
- -
-
-
-
- - - - - - - - - - - - -
- -
-
- - - - - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - - - - - - - - - -
- -
-
-
-
+ + + + + +
+ +
+
+ +
+ +
+
+ +
+
+ + + + + + + + + + + + +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+
+ + + + + + + + + + + + +
+ +
+
+ + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ + diff --git a/voting-booth/src/main/resources/views/empty_start.fxml b/voting-booth/src/main/resources/views/empty_start.fxml new file mode 100644 index 0000000..a26dc53 --- /dev/null +++ b/voting-booth/src/main/resources/views/empty_start.fxml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + + +
+
+
+
+ +
+
+
+
+
diff --git a/voting-booth/src/main/resources/views/main.fxml b/voting-booth/src/main/resources/views/main.fxml index 251c641..23a3ff1 100644 --- a/voting-booth/src/main/resources/views/main.fxml +++ b/voting-booth/src/main/resources/views/main.fxml @@ -1,12 +1,13 @@ - - + + + - + - \ No newline at end of file + diff --git a/voting-booth/src/main/resources/views/starting_session.fxml b/voting-booth/src/main/resources/views/welcome_screen.fxml similarity index 98% rename from voting-booth/src/main/resources/views/starting_session.fxml rename to voting-booth/src/main/resources/views/welcome_screen.fxml index 3064e3c..091c367 100644 --- a/voting-booth/src/main/resources/views/starting_session.fxml +++ b/voting-booth/src/main/resources/views/welcome_screen.fxml @@ -5,7 +5,7 @@ - +