11 Commits
0.1.2 ... 0.1.4

Author SHA1 Message Date
2b0be67917 updated a few linux paths 2017-04-08 02:25:23 +02:00
71530c030a Update README.md 2017-04-08 01:03:22 +02:00
98122a5e56 Update README.md 2017-04-08 00:58:41 +02:00
febdc0d096 Update README.md 2017-04-08 00:56:41 +02:00
f6d704a5d5 Update README.md 2017-04-07 16:59:26 +02:00
fd0ca2c7fb Update README.md 2017-04-07 10:56:35 +02:00
c7fefb146a a few typo fixes 2017-04-06 23:20:43 +02:00
b94f842cc4 clean up
*code clean up
*fixed a few minor ui bugs
2017-04-06 12:00:43 +02:00
bee962276c Update README.md 2017-04-01 22:13:33 +02:00
f752130d9b Update README.md 2017-04-01 22:11:39 +02:00
b103c1438c Update README.md 2017-04-01 19:57:43 +02:00
18 changed files with 246 additions and 58 deletions

View File

@ -1,13 +1,13 @@
# cemu_UI # cemu_UI
cemu_UI is a simple graphical frontend for cemu, a Wii U emulator. cemu_UI is a simple, material design graphical frontend for [cemu](http://cemu.info/), a Wii U emulator. Downloads can be found [here](https://github.com/Seil0/cemu_UI/releases).
![Screenshot](/downloadContent/cemu_UI4.png) ![Screenshot](/downloadContent/cemu_UI4.png)
## Features ## Features
* launch Games * launch Games
* time played in total * Time played in total
* last time played * last time played
* easyer way to add updates & DLCs (only adding not downloading!) * easyer way to add updates & DLCs (only adding not downloading!)
* automatic rom detection (only .rpx files with a app.xml) * automatic rom detection (only .rpx files with a app.xml)
@ -16,6 +16,25 @@ cemu_UI is a simple graphical frontend for cemu, a Wii U emulator.
## planed Features (no ETA) ## planed Features (no ETA)
* Controller support * Controller support
* cloud savegames
* more UI improvements * more UI improvements
* support more rom file formats in automatic detection * support more rom file formats in automatic detection
### If you have another idea, make a "new issue" with the ![#f03c15](https://placehold.it/15/fbca04/000000?text=+)`idea` lable
## installation
Simply download the cemu_UI.jar from [releases](https://github.com/Seil0/cemu_UI/releases), make sure you have the latest version of java 8 oracle jre/jdk installed, open the file. cemu_UI creats a new directory "C:\Users\USERNAME\Documents\cemu_UI", where the database, settings and covers are stored.
## building from source
1. download/clone the git repository
2. make sure you have the latest versionj of java 8 oracle jdk installed
3. place the unzip repository into your workspace and start eclipse, project should now be there **or** import the project to your workspace
## FAQ
* My game is not detected automaticaly
* You need to add it to the [games.db](https://github.com/Seil0/cemu_UI/blob/master/downloadContent/games.db) database or you add it to the [games.csv](https://github.com/Seil0/cemu_UI/blob/master/downloadContent/games.csv) table so everyone can use it.
* How can I update the games.db?
* Delete the games.db file in "C:\Users\USERNAME\Documents\cemu_UI" it will be downloaded again at the next start of cemu_UI.
* I have another question
* make a new issue and let me know

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +1,24 @@
/**
* cemu_UI
*
* Copyright 2017 <@Seil0>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*/
package application; package application;
import java.io.File; import java.io.File;
@ -105,6 +126,7 @@ public class Main extends Application {
//loading settings and initialize UI //loading settings and initialize UI
mainWindowController.loadSettings(); mainWindowController.loadSettings();
mainWindowController.dbController.main(); mainWindowController.dbController.main();
mainWindowController.addUIData();
mainWindowController.initActions(); mainWindowController.initActions();
mainWindowController.initUI(); mainWindowController.initUI();
@ -121,7 +143,7 @@ public class Main extends Application {
Alert alert = new Alert(AlertType.CONFIRMATION); //new alert with file-chooser Alert alert = new Alert(AlertType.CONFIRMATION); //new alert with file-chooser
alert.setTitle("cemu_UI"); alert.setTitle("cemu_UI");
alert.setHeaderText("cemu installation"); alert.setHeaderText("cemu installation");
alert.setContentText("pleas select your cemu installation"); alert.setContentText("please select your cemu installation");
Optional<ButtonType> result = alert.showAndWait(); Optional<ButtonType> result = alert.showAndWait();
if (result.get() == ButtonType.OK){ if (result.get() == ButtonType.OK){
@ -136,7 +158,7 @@ public class Main extends Application {
Alert alert2 = new Alert(AlertType.CONFIRMATION); //new alert with file-chooser Alert alert2 = new Alert(AlertType.CONFIRMATION); //new alert with file-chooser
alert2.setTitle("cemu_UI"); alert2.setTitle("cemu_UI");
alert2.setHeaderText("rom directory"); alert2.setHeaderText("rom directory");
alert2.setContentText("pleas select your rom directory"); alert2.setContentText("please select your rom directory");
Optional<ButtonType> result2 = alert2.showAndWait(); Optional<ButtonType> result2 = alert2.showAndWait();
if (result2.get() == ButtonType.OK){ if (result2.get() == ButtonType.OK){

View File

@ -1,3 +1,24 @@
/**
* cemu_UI
*
* Copyright 2017 <@Seil0>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*/
package application; package application;
import java.awt.Graphics2D; import java.awt.Graphics2D;
@ -12,7 +33,6 @@ import java.math.BigInteger;
import java.sql.SQLException; import java.sql.SQLException;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Optional; import java.util.Optional;
import java.util.Properties; import java.util.Properties;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
@ -28,6 +48,8 @@ import com.jfoenix.transitions.hamburger.HamburgerBackArrowBasicTransition;
import javafx.animation.FadeTransition; import javafx.animation.FadeTransition;
import javafx.animation.ParallelTransition; import javafx.animation.ParallelTransition;
import javafx.animation.TranslateTransition; import javafx.animation.TranslateTransition;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.event.EventHandler; import javafx.event.EventHandler;
import javafx.fxml.FXML; import javafx.fxml.FXML;
@ -126,13 +148,14 @@ public class MainWindowController {
private String selectedGameTitleID; private String selectedGameTitleID;
private String selectedGameTitle; private String selectedGameTitle;
private String color; private String color;
private String version = "0.1.2"; private String version = "0.1.3";
private String buildNumber = "001"; private String buildNumber = "002";
@SuppressWarnings("unused") @SuppressWarnings("unused")
private String versionName = ""; private String versionName = "";
private int xPos = -200; private int xPos = -200;
private int yPos = 17; private int yPos = 17;
private int xPosHelper; private int xPosHelper;
private int selectedUIDataIndex;
private FileChooser fileChooser = new FileChooser(); private FileChooser fileChooser = new FileChooser();
private DirectoryChooser directoryChooser = new DirectoryChooser(); private DirectoryChooser directoryChooser = new DirectoryChooser();
private File dirWin = new File(System.getProperty("user.home") + "/Documents/cemu_UI"); private File dirWin = new File(System.getProperty("user.home") + "/Documents/cemu_UI");
@ -141,9 +164,7 @@ public class MainWindowController {
private File fileLinux = new File(dirLinux + "/config.xml"); private File fileLinux = new File(dirLinux + "/config.xml");
File pictureCacheWin = new File(dirWin+"/picture_cache"); File pictureCacheWin = new File(dirWin+"/picture_cache");
File pictureCacheLinux = new File(dirLinux+"/picture_cache"); File pictureCacheLinux = new File(dirLinux+"/picture_cache");
private ArrayList<JFXButton> gameCover = new ArrayList<JFXButton>(); private ObservableList<uiDataType> games = FXCollections.observableArrayList();
private ArrayList<Label> gameLabel = new ArrayList<Label>();
private ArrayList<VBox> gameVBox = new ArrayList<VBox>();
Properties props = new Properties(); Properties props = new Properties();
Properties gameProps = new Properties(); Properties gameProps = new Properties();
private MenuItem edit = new MenuItem("edit"); private MenuItem edit = new MenuItem("edit");
@ -151,7 +172,6 @@ public class MainWindowController {
private MenuItem update = new MenuItem("update"); private MenuItem update = new MenuItem("update");
private MenuItem addDLC = new MenuItem("add DLC"); private MenuItem addDLC = new MenuItem("add DLC");
private ContextMenu gameContextMenu = new ContextMenu(edit, remove, update, addDLC); private ContextMenu gameContextMenu = new ContextMenu(edit, remove, update, addDLC);
private MouseEvent selectedEvent;
private Label lastGameLabel = new Label(); private Label lastGameLabel = new Label();
private ImageView add_circle_black = new ImageView(new Image("recources/icons/ic_add_circle_black_24dp_1x.png")); private ImageView add_circle_black = new ImageView(new Image("recources/icons/ic_add_circle_black_24dp_1x.png"));
@ -237,8 +257,6 @@ public class MainWindowController {
alert.showAndWait(); alert.showAndWait();
} }
else{ else{
int i = gameCover.indexOf((selectedEvent).getSource());
Alert alert = new Alert(AlertType.CONFIRMATION); Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle("remove"); alert.setTitle("remove");
alert.setHeaderText("cemu_UI"); alert.setHeaderText("cemu_UI");
@ -248,29 +266,29 @@ public class MainWindowController {
Optional<ButtonType> result = alert.showAndWait(); Optional<ButtonType> result = alert.showAndWait();
if (result.get() == ButtonType.OK){ if (result.get() == ButtonType.OK){
try { try {
gameVBox.remove(i); //remove all elements from gamesAnchorPane
gameCover.remove(i); for(int i=0; i< games.size(); i++){
gameLabel.remove(i); gamesAnchorPane.getChildren().remove(games.get(i).getVBox());
}
//remove game from database
games.remove(selectedUIDataIndex);
dbController.removeRom(selectedGameTitleID); dbController.removeRom(selectedGameTitleID);
gamesAnchorPane.getChildren().remove(i); gamesAnchorPane.getChildren().removeAll(games);
//reset position
//TODO remove if animations are done xPos = -200;
Runtime.getRuntime().exec("java -jar cemu_UI.jar"); //start again (preventing Bugs) yPos = 17;
System.exit(0); //finishes itself xPosHelper = 0;
//add all games to gamesAnchorPane
} catch (SQLException | IOException e) { for(int i=0; i< games.size(); i++){
generatePosition();
games.get(i).getVBox().setLayoutX(getxPos());
games.get(i).getVBox().setLayoutY(getyPos());
gamesAnchorPane.getChildren().add(games.get(i).getVBox());
}
} catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
//TODO nachr<68>ck animation
// platz(i)/4 -> aufrunden = Reihe; plath(i)-(platz(i)/4 -> abrunden*4)
// jetzt haben wir den platz des gel<65>schten elements und l<>nnen alle nachfolgenden nachr<68>cken
// double a = 13;
// double b = 4;
// a = a/b;
// System.out.println(Math.ceil(a)); //aufrunden
// System.out.println(Math.floor(a)); //abrunden
} }
} }
}); });
@ -471,7 +489,7 @@ public class MainWindowController {
saveSettings(); saveSettings();
cemuTextField.setText(getCemuPath()); cemuTextField.setText(getCemuPath());
try { try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again Runtime.getRuntime().exec("java -jar cemu_UI.jar"); //start again
System.exit(0); //finishes itself System.exit(0); //finishes itself
} catch (IOException e) { } catch (IOException e) {
System.out.println("es ist ein Fehler aufgetreten"); System.out.println("es ist ein Fehler aufgetreten");
@ -490,7 +508,7 @@ public class MainWindowController {
saveSettings(); saveSettings();
cemuTextField.setText(getCemuPath()); cemuTextField.setText(getCemuPath());
try { try {
Runtime.getRuntime().exec("java -jar ProjectHomeFlix.jar"); //start again Runtime.getRuntime().exec("java -jar cemu_UI.jar"); //start again
System.exit(0); //finishes itself System.exit(0); //finishes itself
} catch (IOException e) { } catch (IOException e) {
System.out.println("es ist ein Fehler aufgetreten"); System.out.println("es ist ein Fehler aufgetreten");
@ -643,11 +661,13 @@ public class MainWindowController {
Image coverImage = new Image(coverFile.toURI().toString()); Image coverImage = new Image(coverFile.toURI().toString());
generatePosition(); generatePosition();
gameVBox.add(VBox);
gameCover.add(gameBtn); VBox.setLayoutX(getxPos());
gameLabel.add(gameTitleLabel); VBox.setLayoutY(getyPos());
VBox.getChildren().addAll(gameTitleLabel,gameBtn);
gameTitleLabel.setMaxWidth(200); gameTitleLabel.setMaxWidth(200);
gameTitleLabel.setPadding(new Insets(0,0,0,8)); gameTitleLabel.setPadding(new Insets(0,0,0,8));
gameTitleLabel.setFont(Font.font("System", FontWeight.BOLD, 14));
imageView.setImage(coverImage); imageView.setImage(coverImage);
imageView.setFitHeight(300); imageView.setFitHeight(300);
imageView.setFitWidth(200); imageView.setFitWidth(200);
@ -659,14 +679,19 @@ public class MainWindowController {
public void handle(MouseEvent event) { public void handle(MouseEvent event) {
System.out.println("selected: "+title+"; ID: "+titleID); System.out.println("selected: "+title+"; ID: "+titleID);
for(int i=0; i<games.size(); i++){
if(games.get(i).getButton() == event.getSource()){
selectedUIDataIndex = i;
}
}
gameExecutePath = romPath; gameExecutePath = romPath;
selectedGameTitleID = titleID; selectedGameTitleID = titleID;
selectedGameTitle = title; selectedGameTitle = title;
selectedEvent = event;
lastGameLabel.setStyle("-fx-underline: false;"); lastGameLabel.setStyle("-fx-underline: false;");
gameLabel.get(gameCover.indexOf(event.getSource())).setStyle("-fx-underline: true;"); games.get(selectedUIDataIndex).getLabel().setStyle("-fx-underline: true;");
lastGameLabel = gameLabel.get(gameCover.indexOf(event.getSource())); lastGameLabel = games.get(selectedUIDataIndex).getLabel();
if(dbController.getLastPlayed(titleID).equals("") || dbController.getLastPlayed(titleID).equals(null)){ if(dbController.getLastPlayed(titleID).equals("") || dbController.getLastPlayed(titleID).equals(null)){
lastTimePlayedBtn.setText("Last played, never"); lastTimePlayedBtn.setText("Last played, never");
@ -674,12 +699,13 @@ public class MainWindowController {
}else{ }else{
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
int localInt = Integer.parseInt(dtf.format(LocalDate.now()).replaceAll("-", "")); int today = Integer.parseInt(dtf.format(LocalDate.now()).replaceAll("-", ""));
int lastInt = Integer.parseInt(dbController.getLastPlayed(titleID).replaceAll("-", "")); int yesterday = Integer.parseInt(dtf.format(LocalDate.now().minusDays(1)).replaceAll("-", ""));
int lastday = Integer.parseInt(dbController.getLastPlayed(titleID).replaceAll("-", ""));
if(localInt == lastInt){ if(today == lastday){
lastTimePlayedBtn.setText("Last played, today"); lastTimePlayedBtn.setText("Last played, today");
}else if(localInt-1 == lastInt){ }else if(yesterday == lastday){
lastTimePlayedBtn.setText("Last played, yesterday"); lastTimePlayedBtn.setText("Last played, yesterday");
}else{ }else{
lastTimePlayedBtn.setText("Last played, "+dbController.getLastPlayed(titleID)); lastTimePlayedBtn.setText("Last played, "+dbController.getLastPlayed(titleID));
@ -699,11 +725,13 @@ public class MainWindowController {
} }
}); });
gameTitleLabel.setFont(Font.font("System", FontWeight.BOLD, 14)); games.add(new uiDataType(VBox, gameTitleLabel, gameBtn, titleID, romPath));
VBox.getChildren().addAll(gameTitleLabel,gameBtn); }
VBox.setLayoutX(getxPos());
VBox.setLayoutY(getyPos()); void addUIData(){
gamesAnchorPane.getChildren().add(VBox); for(int i=0; i<games.size(); i++){
gamesAnchorPane.getChildren().add(games.get(i).getVBox());
}
} }
@ -765,8 +793,8 @@ public class MainWindowController {
menuHam.getStyleClass().add("jfx-hamburgerB"); menuHam.getStyleClass().add("jfx-hamburgerB");
} }
for(int i=0; i<gameCover.size(); i++){ for(int i=0; i<games.size(); i++){
gameCover.get(i).setRipplerFill(Paint.valueOf(getColor())); games.get(i).getButton().setRipplerFill(Paint.valueOf(getColor()));
} }
} }

View File

@ -1,3 +1,24 @@
/**
* cemu_UI
*
* Copyright 2017 <@Seil0>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*/
package application; package application;
import java.awt.Graphics2D; import java.awt.Graphics2D;
@ -47,7 +68,7 @@ public class dbController {
private void loadRomDatabase(){ private void loadRomDatabase(){
if (System.getProperty("os.name").equals("Linux")) { if (System.getProperty("os.name").equals("Linux")) {
DB_PATH = System.getProperty("user.home") + "/localRoms.db"; DB_PATH = System.getProperty("user.home") + "/cemu_UI/localRoms.db";
}else{ }else{
DB_PATH = System.getProperty("user.home") + "\\Documents\\cemu_UI" + "\\" + "localRoms.db"; DB_PATH = System.getProperty("user.home") + "\\Documents\\cemu_UI" + "\\" + "localRoms.db";
} }
@ -68,7 +89,7 @@ public class dbController {
*/ */
private void loadGamesDatabase(){ private void loadGamesDatabase(){
if (System.getProperty("os.name").equals("Linux")) { if (System.getProperty("os.name").equals("Linux")) {
DB_PATH_games = System.getProperty("user.home") + "/games.db"; DB_PATH_games = System.getProperty("user.home") + "/cemu_UI/games.db";
}else{ }else{
DB_PATH_games = System.getProperty("user.home") + "\\Documents\\cemu_UI" + "\\" + "games.db"; DB_PATH_games = System.getProperty("user.home") + "\\Documents\\cemu_UI" + "\\" + "games.db";
} }
@ -162,6 +183,7 @@ public class dbController {
//get all files with .rpx TODO add other formats //get all files with .rpx TODO add other formats
void loadRomDirectory(String directory){ void loadRomDirectory(String directory){
File dir = new File(directory); File dir = new File(directory);
File appFile;
String[] extensions = new String[] { "rpx", "jsp" }; String[] extensions = new String[] { "rpx", "jsp" };
File pictureCache; File pictureCache;
String coverPath; String coverPath;
@ -177,7 +199,11 @@ public class dbController {
System.out.println("Getting all .rpx files in " + dir.getCanonicalPath()+" including those in subdirectories \n"); System.out.println("Getting all .rpx files in " + dir.getCanonicalPath()+" including those in subdirectories \n");
List<File> files = (List<File>) FileUtils.listFiles(dir, extensions, true); List<File> files = (List<File>) FileUtils.listFiles(dir, extensions, true);
for (File file : files) { for (File file : files) {
File appFile = new File(file.getParent()+"\\app.xml"); if(System.getProperty("os.name").equals("Linux")){
appFile = new File(file.getParent()+"/app.xml");
} else {
appFile = new File(file.getParent()+"\\app.xml");
}
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(appFile); Document document = documentBuilder.parse(appFile);

View File

@ -40,7 +40,13 @@ public class playGame extends Thread{
dbController.setTimePlayed(Integer.toString(timePlayed), selectedGameTitleID); dbController.setTimePlayed(Integer.toString(timePlayed), selectedGameTitleID);
Platform.runLater(() -> { Platform.runLater(() -> {
mainWindowController.timePlayedBtn.setText(dbController.getTimePlayed(selectedGameTitleID)+ " min"); if(Integer.parseInt(dbController.getTimePlayed(selectedGameTitleID)) > 60){
int hoursPlayed = (int) Math.floor(Integer.parseInt(dbController.getTimePlayed(selectedGameTitleID))/60);
int minutesPlayed = Integer.parseInt(dbController.getTimePlayed(selectedGameTitleID))-60*hoursPlayed;
mainWindowController.timePlayedBtn.setText(hoursPlayed+"h "+minutesPlayed+"min");
}else{
mainWindowController.timePlayedBtn.setText(dbController.getTimePlayed(selectedGameTitleID)+ " min");
}
mainWindowController.main.primaryStage.setIconified(false); mainWindowController.main.primaryStage.setIconified(false);
}); });
}catch (IOException | InterruptedException e){ }catch (IOException | InterruptedException e){

View File

@ -0,0 +1,87 @@
package application;
import com.jfoenix.controls.JFXButton;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
public class uiDataType {
private final SimpleObjectProperty<VBox> vBox = new SimpleObjectProperty<>();
private final SimpleObjectProperty<Label> label = new SimpleObjectProperty<>();
private final SimpleObjectProperty<JFXButton> button = new SimpleObjectProperty<>();
private final StringProperty titleID = new SimpleStringProperty();
private final StringProperty romPath = new SimpleStringProperty();
public uiDataType (final VBox vBox, final Label label, final JFXButton button, final String titleID, final String romPath){
this.vBox.set(vBox);
this.label.set(label);
this.button.set(button);
this.titleID.set(titleID);
}
public SimpleObjectProperty<VBox> vBoxProperty(){
return vBox;
}
public SimpleObjectProperty<Label> labelProperty(){
return label;
}
public SimpleObjectProperty<JFXButton> buttonProperty(){
return button;
}
public StringProperty titleIDProperty(){
return titleID;
}
public StringProperty romPathProperty(){
return romPath;
}
public final VBox getVBox() {
return vBoxProperty().get();
}
public final Label getLabel() {
return labelProperty().get();
}
public final JFXButton getButton() {
return buttonProperty().get();
}
public final String getTitleID(){
return titleIDProperty().get();
}
public final String getRomPath(){
return romPathProperty().get();
}
public final void setVBox(VBox vBox) {
vBoxProperty().set(vBox);
}
public final void setLabel(Label label) {
labelProperty().set(label);
}
public final void setButton(JFXButton button) {
buttonProperty().set(button);
}
public final void setTitleID(String titleID){
titleIDProperty().set(titleID);
}
public final void setRomPath(String romPath){
romPathProperty().set(romPath);
}
}