Converted TwoWayNode into abstract class
Becuase all the classes that will extend this class will implelmett thisa same logic, so there is no reason to implement it as interface.android-scanner
parent
9b636f2d2e
commit
e200bc0f8b
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -5,7 +5,7 @@
|
||||||
<?import java.lang.*?>
|
<?import java.lang.*?>
|
||||||
<?import javafx.scene.layout.*?>
|
<?import javafx.scene.layout.*?>
|
||||||
|
|
||||||
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8">
|
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="main.welcome_splash.WelcomeSplashController">
|
||||||
<columnConstraints>
|
<columnConstraints>
|
||||||
<ColumnConstraints />
|
<ColumnConstraints />
|
||||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package main;
|
package main;
|
||||||
|
|
||||||
|
import javafx.scene.Scene;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
import main.welcome_splash.WelcomeSplashLoader;
|
import main.welcome_splash.WelcomeSplashLoader;
|
||||||
|
|
||||||
|
@ -19,7 +20,10 @@ public class ChainBuilder {
|
||||||
WelcomeSplashLoader welcomeSplashLoader = new WelcomeSplashLoader(primaryStage);
|
WelcomeSplashLoader welcomeSplashLoader = new WelcomeSplashLoader(primaryStage);
|
||||||
TwoWayNode welcomeSplashController = welcomeSplashLoader.GetWelcomeSplash();
|
TwoWayNode welcomeSplashController = welcomeSplashLoader.GetWelcomeSplash();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* all other two way nodes initilaized
|
||||||
|
*/
|
||||||
|
|
||||||
|
primaryStage.setScene(new Scene(welcomeSplashController.GetNode()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,16 +2,17 @@ package main;
|
||||||
|
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
import main.welcome_splash.WelcomeSplashLoader;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Vladimir Eliezer Tokarev on 8/27/2016.
|
* Created by Vladimir Eliezer Tokarev on 8/27/2016.
|
||||||
|
* Main calls to ChainBuilder which initilizes all the TwoWayNode's
|
||||||
*/
|
*/
|
||||||
public class Main extends Application {
|
public class Main extends Application {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start(Stage primaryStage) throws Exception{
|
public void start(Stage primaryStage) throws Exception
|
||||||
new WelcomeSplashLoader(primaryStage);
|
{
|
||||||
|
ChainBuilder.Build(primaryStage);
|
||||||
primaryStage.setTitle("Meerkat Polling Station");
|
primaryStage.setTitle("Meerkat Polling Station");
|
||||||
primaryStage.show();
|
primaryStage.show();
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,35 +7,50 @@ import javafx.stage.Stage;
|
||||||
* Created by Vladimir Eliezer Tokarev on 8/27/2016.
|
* Created by Vladimir Eliezer Tokarev on 8/27/2016.
|
||||||
* Two Way node gives the ability to set next and previous objects
|
* Two Way node gives the ability to set next and previous objects
|
||||||
*/
|
*/
|
||||||
public interface TwoWayNode {
|
public abstract class TwoWayNode {
|
||||||
|
|
||||||
/**
|
protected Parent next;
|
||||||
* GetNode return the paren node that represents current object
|
protected Parent previous;
|
||||||
* @return Paren object
|
protected Stage currentStage;
|
||||||
*/
|
protected Parent currentNode;
|
||||||
Parent GetNode();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets which next TwoWayNode
|
* Sets which next TwoWayNode
|
||||||
* @param nextObject
|
* @param nextObject
|
||||||
*/
|
*/
|
||||||
void SetNext(TwoWayNode nextObject);
|
public void SetNext(TwoWayNode nextObject) {
|
||||||
|
this.next = nextObject.GetNode();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets which previous TwoWayNode
|
* Sets which previous TwoWayNode
|
||||||
* @param previousObject
|
* @param previousObject
|
||||||
*/
|
*/
|
||||||
void SetPrevious(TwoWayNode previousObject);
|
public void SetPrevious(TwoWayNode previousObject) {
|
||||||
|
this.previous = previousObject.GetNode();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the stage of current object
|
* Sets the stage of current object
|
||||||
* @param primaryStage
|
* @param primaryStage
|
||||||
*/
|
*/
|
||||||
void SetStage(Stage primaryStage);
|
public void SetStage(Stage primaryStage) {
|
||||||
|
this.currentStage = primaryStage;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the current parent node
|
* Sets the current parent node
|
||||||
* @param parent
|
* @param parent
|
||||||
*/
|
*/
|
||||||
void SetParent(Parent parent);
|
public void SetParent(Parent parent) {
|
||||||
|
this.currentNode = parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GetNode return the paren node that represents current object
|
||||||
|
* @return Paren object
|
||||||
|
*/
|
||||||
|
public Parent GetNode() {
|
||||||
|
return this.currentNode;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
package main.straight_channel_section;
|
||||||
|
|
||||||
|
import javafx.scene.Parent;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
import main.TwoWayNode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Vladimir Eliezer Tokarev on 8/27/2016.
|
||||||
|
* StraightChannelSectionController handle the behavior of welcome splash class
|
||||||
|
*/
|
||||||
|
public class StraightChannelSectionController extends TwoWayNode {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
package main.straight_channel_section;
|
||||||
|
|
||||||
|
import javafx.fxml.FXMLLoader;
|
||||||
|
import javafx.scene.Parent;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
import main.TwoWayNode;
|
||||||
|
import main.welcome_splash.WelcomeSplashController;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Vladimir Eliezer Tokarev on 8/27/2016.
|
||||||
|
* StraightChannelSectionLoader creates starlight channel section object and sets its controller
|
||||||
|
*/
|
||||||
|
public class StraightChannelSectionLoader {
|
||||||
|
private static final String STRAIGHT_CHANNEL_LOADER_FXML_PATH = "straight_channel_section.fxml";
|
||||||
|
|
||||||
|
private Stage currentStage;
|
||||||
|
private FXMLLoader fxmlLoader;
|
||||||
|
|
||||||
|
public StraightChannelSectionLoader(Stage primaryStage) throws IOException
|
||||||
|
{
|
||||||
|
// Parent splashScreenOnBootRoot = FXMLLoader.load(getClass().getResource(SPLASH_SCREEN_ON_BOOT_FXML_PATH));
|
||||||
|
fxmlLoader = new FXMLLoader(getClass().getResource(STRAIGHT_CHANNEL_LOADER_FXML_PATH));
|
||||||
|
currentStage = primaryStage;
|
||||||
|
// currentStage.setScene(new Scene(splashScreenOnBootRoot));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates welcome splash parent node and sets it to the controller
|
||||||
|
* @return TwoWayNode
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
public TwoWayNode GetStraightChannelSection() throws IOException {
|
||||||
|
Parent straightChannelSection = fxmlLoader.load();
|
||||||
|
StraightChannelSectionController controller = fxmlLoader.getController();
|
||||||
|
|
||||||
|
// set the controller to be functional TwoWayNode
|
||||||
|
controller.SetParent(welcomeSplash);
|
||||||
|
controller.SetStage(currentStage);
|
||||||
|
|
||||||
|
return controller;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -8,38 +8,5 @@ import main.TwoWayNode;
|
||||||
* Created by Vladimir Eliezer Tokarev on 8/27/2016.
|
* Created by Vladimir Eliezer Tokarev on 8/27/2016.
|
||||||
* WelcomeSplashController handle the behavior of welcome splash class
|
* WelcomeSplashController handle the behavior of welcome splash class
|
||||||
*/
|
*/
|
||||||
public class WelcomeSplashController implements TwoWayNode {
|
public class WelcomeSplashController extends TwoWayNode {
|
||||||
|
|
||||||
private Parent next;
|
|
||||||
private Parent previous;
|
|
||||||
private Stage currentSrage;
|
|
||||||
private Parent currentNode;
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void SetNext(TwoWayNode nextObject) {
|
|
||||||
this.next = nextObject.GetNode();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void SetPrevious(TwoWayNode previousObject) {
|
|
||||||
this.previous = previousObject.GetNode();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void SetStage(Stage primaryStage) {
|
|
||||||
this.currentSrage = primaryStage;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void SetParent(Parent parent) {
|
|
||||||
this.currentNode = parent;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Parent GetNode() {
|
|
||||||
return this.currentNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ import java.io.IOException;
|
||||||
* WelcomeSplashLoader creates welcome spalash object and sets its controller
|
* WelcomeSplashLoader creates welcome spalash object and sets its controller
|
||||||
*/
|
*/
|
||||||
public class WelcomeSplashLoader {
|
public class WelcomeSplashLoader {
|
||||||
private static final String SPLASH_SCREEN_ON_BOOT_FXML_PATH = "welcome_splash_screen.fxml";
|
private static final String WELCOME_SPLASH_FXML_PATH = "welcome_splash_screen.fxml";
|
||||||
|
|
||||||
private Stage currentStage;
|
private Stage currentStage;
|
||||||
private FXMLLoader fxmlLoader;
|
private FXMLLoader fxmlLoader;
|
||||||
|
@ -22,7 +22,7 @@ public class WelcomeSplashLoader {
|
||||||
public WelcomeSplashLoader(Stage primaryStage) throws IOException
|
public WelcomeSplashLoader(Stage primaryStage) throws IOException
|
||||||
{
|
{
|
||||||
// Parent splashScreenOnBootRoot = FXMLLoader.load(getClass().getResource(SPLASH_SCREEN_ON_BOOT_FXML_PATH));
|
// Parent splashScreenOnBootRoot = FXMLLoader.load(getClass().getResource(SPLASH_SCREEN_ON_BOOT_FXML_PATH));
|
||||||
fxmlLoader = new FXMLLoader(getClass().getResource(SPLASH_SCREEN_ON_BOOT_FXML_PATH));
|
fxmlLoader = new FXMLLoader(getClass().getResource(WELCOME_SPLASH_FXML_PATH));
|
||||||
currentStage = primaryStage;
|
currentStage = primaryStage;
|
||||||
// currentStage.setScene(new Scene(splashScreenOnBootRoot));
|
// currentStage.setScene(new Scene(splashScreenOnBootRoot));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue