refactored controllers
This commit is contained in:
parent
43a1e204d8
commit
16ee002b38
|
|
@ -4,11 +4,13 @@ import java.io.File;
|
|||
import javafx.application.Application;
|
||||
import java.io.IOException;
|
||||
|
||||
import com.r0r5chach.controllers.Controller;
|
||||
import com.r0r5chach.controllers.EditController;
|
||||
import com.r0r5chach.controllers.MainController;
|
||||
import com.r0r5chach.controllers.ViewController;
|
||||
|
||||
import javafx.fxml.FXMLLoader;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.stage.Popup;
|
||||
import javafx.stage.Stage;
|
||||
import javafx.scene.Scene;
|
||||
import static com.r0r5chach.CompetitorList.createErrorLog;
|
||||
|
|
@ -16,11 +18,12 @@ import static com.r0r5chach.CompetitorList.createErrorLog;
|
|||
public class Manager extends Application {
|
||||
|
||||
private static Scene scene;
|
||||
private static Stage stage;
|
||||
private static Popup filters;
|
||||
public static Stage stage;
|
||||
private static CompetitorList competitors;
|
||||
|
||||
@Override
|
||||
public void start(Stage stage) throws IOException {
|
||||
competitors = createList();
|
||||
scene = new Scene(loadFXML("main"), 640, 480);
|
||||
Manager.stage = stage;
|
||||
Manager.stage.setScene(scene);
|
||||
|
|
@ -36,11 +39,25 @@ public class Manager extends Application {
|
|||
scene.setRoot(loadFXML(fxml));
|
||||
}
|
||||
|
||||
private static Parent loadFXML(String fxml) throws IOException {
|
||||
public static Parent loadFXML(String fxml) throws IOException {
|
||||
FXMLLoader fxmlLoader = new FXMLLoader(Manager.class.getResource(fxml + ".fxml"));
|
||||
Parent root = fxmlLoader.load();
|
||||
MainController controller = fxmlLoader.<MainController>getController();
|
||||
controller.setCompetitors(createList());
|
||||
Controller controller;
|
||||
switch(fxml) {
|
||||
case "main":
|
||||
controller = fxmlLoader.<MainController>getController();
|
||||
controller.setCompetitors(competitors);
|
||||
break;
|
||||
case "pages/edit":
|
||||
controller = fxmlLoader.<EditController>getController();
|
||||
controller.setCompetitors(competitors);
|
||||
break;
|
||||
case "pages/view":
|
||||
controller = fxmlLoader.<ViewController>getController();
|
||||
controller.setCompetitors(competitors);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return root;
|
||||
}
|
||||
|
|
@ -63,16 +80,4 @@ public class Manager extends Application {
|
|||
}
|
||||
return competitors;
|
||||
}
|
||||
|
||||
public static void filtersOpen() throws IOException {
|
||||
filters = new Popup();
|
||||
FXMLLoader loader = new FXMLLoader(Manager.class.getResource("pages/filters.fxml"));
|
||||
filters.getContent().add((Parent)loader.load());
|
||||
filters.show(Manager.stage);
|
||||
}
|
||||
|
||||
public static void filtersClose() {
|
||||
filters.hide();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,60 @@
|
|||
package com.r0r5chach.controllers;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import com.r0r5chach.CompetitorList;
|
||||
import com.r0r5chach.Manager;
|
||||
import com.r0r5chach.competitor.Competitor;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.layout.AnchorPane;
|
||||
|
||||
public class Controller implements Initializable {
|
||||
@FXML
|
||||
protected AnchorPane editTab;
|
||||
|
||||
@FXML
|
||||
protected AnchorPane viewTab;
|
||||
|
||||
protected CompetitorList competitors;
|
||||
protected ArrayList<Integer> competitorIds;
|
||||
|
||||
public void setCompetitors(CompetitorList competitors) {
|
||||
this.competitors = competitors;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initialize(URL location, ResourceBundle resources) {
|
||||
Platform.runLater(() -> {
|
||||
loadCompetitors();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@FXML
|
||||
protected void getEditTab() throws IOException {
|
||||
Parent root = Manager.loadFXML("pages/edit");
|
||||
editTab.getChildren().clear();
|
||||
editTab.getChildren().add(root);
|
||||
}
|
||||
|
||||
@FXML
|
||||
protected void getViewTab() throws IOException {
|
||||
Parent root = Manager.loadFXML("pages/view");
|
||||
viewTab.getChildren().clear();
|
||||
viewTab.getChildren().add(root);
|
||||
}
|
||||
|
||||
protected void loadCompetitors(){
|
||||
competitorIds = new ArrayList<Integer>();
|
||||
for (Competitor player : competitors.getCompetitors()) {
|
||||
competitorIds.add(player.getPlayerNumber());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,8 @@
|
|||
package com.r0r5chach.controllers;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.Arrays;
|
||||
import java.util.ResourceBundle;
|
||||
import com.r0r5chach.competitor.Competitor;
|
||||
import com.r0r5chach.competitor.Name;
|
||||
import com.r0r5chach.competitor.Rank;
|
||||
|
|
@ -9,65 +12,162 @@ import com.r0r5chach.competitor.r6.R6Player;
|
|||
import com.r0r5chach.competitor.valorant.ValorantAgent;
|
||||
import com.r0r5chach.competitor.valorant.ValorantPlayer;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.ChoiceBox;
|
||||
import javafx.scene.control.ListView;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
public class EditController {
|
||||
public static void loadPlayer(Competitor player, TextField[] textFields, ChoiceBox<Rank> level) {
|
||||
|
||||
public class EditController extends Controller {
|
||||
|
||||
@FXML
|
||||
private ListView<Integer> competitorsList;
|
||||
|
||||
@FXML
|
||||
private TextField playerNumber;
|
||||
|
||||
@FXML
|
||||
private TextField playerName;
|
||||
|
||||
@FXML
|
||||
private ChoiceBox<Rank> playerLevel;
|
||||
|
||||
@FXML
|
||||
private Text favoriteCharacters;
|
||||
|
||||
@FXML
|
||||
private ChoiceBox<R6Attacker> favoriteAttacker;
|
||||
|
||||
@FXML
|
||||
private ChoiceBox<ValorantAgent> favoriteAgent;
|
||||
|
||||
@FXML
|
||||
private ChoiceBox<R6Defender> favoriteDefender;
|
||||
|
||||
@FXML
|
||||
private TextField scores0;
|
||||
|
||||
@FXML
|
||||
private TextField scores1;
|
||||
|
||||
@FXML
|
||||
private TextField scores2;
|
||||
|
||||
@FXML
|
||||
private TextField scores3;
|
||||
|
||||
@FXML
|
||||
private TextField scores4;
|
||||
|
||||
@FXML
|
||||
private TextField scores5;
|
||||
|
||||
@FXML
|
||||
private TextField overallScore;
|
||||
|
||||
@FXML
|
||||
private Button updateButton;
|
||||
|
||||
private TextField[] textFields;
|
||||
|
||||
private TextField[] scoreFields;
|
||||
|
||||
@Override
|
||||
public void initialize(URL location, ResourceBundle resources) {
|
||||
Platform.runLater(() -> {
|
||||
textFields = new TextField[]{playerNumber, playerName, overallScore};
|
||||
scoreFields = new TextField[]{scores0, scores1, scores2, scores3, scores4, scores5};
|
||||
loadCompetitors();
|
||||
loadEdit();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private void loadPlayer(Competitor player) {
|
||||
textFields[0].setText(String.valueOf(player.getPlayerNumber()));
|
||||
textFields[1].setText(player.getPlayerName().getFullName());
|
||||
level.getSelectionModel().select(player.getPlayerLevel());;
|
||||
playerLevel.getSelectionModel().select(player.getPlayerLevel());;
|
||||
textFields[2].setText(String.valueOf(player.getOverallScore()));
|
||||
loadFavoriteCharacters(player);
|
||||
loadScores(player);
|
||||
}
|
||||
|
||||
public static void loadFavoriteCharacters(Competitor player, ChoiceBox<R6Attacker> attacker, ChoiceBox<R6Defender> defender, ChoiceBox<ValorantAgent> agent, Text field) {
|
||||
private void loadFavoriteCharacters(Competitor player) {
|
||||
if (player instanceof R6Player) {
|
||||
attacker.getSelectionModel().select(((R6Player) player).getFavoriteAttacker());
|
||||
defender.getSelectionModel().select((((R6Player) player).getFavoriteDefender()));
|
||||
agent.visibleProperty().set(false);
|
||||
attacker.visibleProperty().set(true);
|
||||
defender.visibleProperty().set(true);
|
||||
field.setText("Favorite Operators");
|
||||
favoriteAttacker.getSelectionModel().select(((R6Player) player).getFavoriteAttacker());
|
||||
favoriteDefender.getSelectionModel().select((((R6Player) player).getFavoriteDefender()));
|
||||
favoriteAgent.visibleProperty().set(false);
|
||||
favoriteAttacker.visibleProperty().set(true);
|
||||
favoriteDefender.visibleProperty().set(true);
|
||||
favoriteCharacters.setText("Favorite Operators");
|
||||
}
|
||||
else if (player instanceof ValorantPlayer) {
|
||||
agent.getSelectionModel().select(((ValorantPlayer) player).getFavoriteAgent());
|
||||
agent.visibleProperty().set(true);
|
||||
attacker.visibleProperty().set(false);
|
||||
defender.visibleProperty().set(false);
|
||||
field.setText("Favorite Agent");
|
||||
favoriteAgent.getSelectionModel().select(((ValorantPlayer) player).getFavoriteAgent());
|
||||
favoriteAgent.visibleProperty().set(true);
|
||||
favoriteAttacker.visibleProperty().set(false);
|
||||
favoriteDefender.visibleProperty().set(false);
|
||||
favoriteCharacters.setText("Favorite Agent");
|
||||
}
|
||||
}
|
||||
|
||||
public static void loadScores(Competitor player, TextField[] fields) {
|
||||
private void loadScores(Competitor player) {
|
||||
int[] playerScores = player.getScores();
|
||||
for (int i = 0; i < playerScores.length; i++) {
|
||||
fields[i].setText(String.valueOf(playerScores[i]));
|
||||
scoreFields[i].setText(String.valueOf(playerScores[i]));
|
||||
}
|
||||
}
|
||||
|
||||
public static void updatePlayer(Competitor player, TextField[] fields, ChoiceBox<Rank> level) {
|
||||
player.setPlayerNumber(Integer.parseInt(fields[0].getText()));
|
||||
player.setPlayerName(new Name(fields[1].getText()));
|
||||
player.setPlayerLevel(level.getValue());
|
||||
private void updatePlayer(Competitor player) {
|
||||
player.setPlayerNumber(Integer.parseInt(textFields[0].getText()));
|
||||
player.setPlayerName(new Name(textFields[1].getText()));
|
||||
player.setPlayerLevel(playerLevel.getValue());
|
||||
updateFavoriteCharacters(player);
|
||||
updateScores(player);
|
||||
}
|
||||
|
||||
public static void updateFavoriteCharacters(Competitor player, ChoiceBox<R6Attacker> attacker, ChoiceBox<R6Defender> defender, ChoiceBox<ValorantAgent> agent) {
|
||||
private void updateFavoriteCharacters(Competitor player) {
|
||||
if (player instanceof R6Player) {
|
||||
((R6Player) player).setFavoriteAttacker(attacker.getValue());
|
||||
((R6Player) player).setFavoriteDefender(defender.getValue());
|
||||
((R6Player) player).setFavoriteAttacker(favoriteAttacker.getValue());
|
||||
((R6Player) player).setFavoriteDefender(favoriteDefender.getValue());
|
||||
}
|
||||
else if (player instanceof ValorantPlayer) {
|
||||
((ValorantPlayer) player).setFavoriteAgent(agent.getValue());
|
||||
((ValorantPlayer) player).setFavoriteAgent(favoriteAgent.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
public static void updateScores(Competitor player, TextField[] fields) {
|
||||
private void updateScores(Competitor player) {
|
||||
int[] newScores = new int[6];
|
||||
for (int i = 0; i < newScores.length; i++) {
|
||||
newScores[i] = Integer.parseInt(fields[i].getText());
|
||||
newScores[i] = Integer.parseInt(scoreFields[i].getText());
|
||||
}
|
||||
player.setScores(newScores);
|
||||
}
|
||||
|
||||
}
|
||||
@FXML
|
||||
private void getCompetitor() {
|
||||
Competitor player = competitors.getCompetitors().get(competitorIds.indexOf(competitorsList.getSelectionModel().getSelectedItem()));
|
||||
loadPlayer(player);
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void updateCompetitor() {
|
||||
int playerIndex = competitorIds.indexOf(competitorsList.getSelectionModel().getSelectedItem());
|
||||
Competitor player = competitors.getCompetitors().get(playerIndex);
|
||||
updatePlayer(player);
|
||||
competitorIds.set(playerIndex, player.getPlayerNumber());
|
||||
loadEdit();
|
||||
loadPlayer(player);
|
||||
}
|
||||
|
||||
public void loadEdit() {
|
||||
competitorsList.setItems(FXCollections.observableList(competitorIds));
|
||||
playerLevel.setItems(FXCollections.observableList(Arrays.asList(Rank.values())));
|
||||
favoriteAttacker.setItems(FXCollections.observableList(Arrays.asList(R6Attacker.values())));
|
||||
favoriteDefender.setItems(FXCollections.observableList(Arrays.asList(R6Defender.values())));
|
||||
favoriteAgent.setItems(FXCollections.observableList(Arrays.asList(ValorantAgent.values())));
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
package com.r0r5chach.controllers;
|
||||
|
||||
import com.r0r5chach.Manager;
|
||||
import com.r0r5chach.competitor.Rank;
|
||||
import com.r0r5chach.competitor.valorant.ValorantAgent;
|
||||
|
||||
|
|
@ -27,9 +26,4 @@ public class FiltersController {
|
|||
|
||||
@FXML
|
||||
ChoiceBox<ValorantAgent> agentFilter;
|
||||
|
||||
@FXML
|
||||
private void filterSave() {
|
||||
Manager.filtersClose();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,157 +1,5 @@
|
|||
package com.r0r5chach.controllers;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.ResourceBundle;
|
||||
public class MainController extends Controller {
|
||||
|
||||
import com.r0r5chach.CompetitorList;
|
||||
import com.r0r5chach.Manager;
|
||||
import com.r0r5chach.competitor.Competitor;
|
||||
import com.r0r5chach.competitor.Rank;
|
||||
import com.r0r5chach.competitor.r6.R6Attacker;
|
||||
import com.r0r5chach.competitor.r6.R6Defender;
|
||||
import com.r0r5chach.competitor.valorant.ValorantAgent;
|
||||
import com.r0r5chach.pages.CompetitorRow;
|
||||
import javafx.application.Platform;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.ChoiceBox;
|
||||
import javafx.scene.control.ListView;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
import static com.r0r5chach.controllers.EditController.loadFavoriteCharacters;
|
||||
import static com.r0r5chach.controllers.EditController.loadPlayer;
|
||||
import static com.r0r5chach.controllers.EditController.loadScores;
|
||||
import static com.r0r5chach.controllers.EditController.updateFavoriteCharacters;
|
||||
import static com.r0r5chach.controllers.EditController.updatePlayer;
|
||||
import static com.r0r5chach.controllers.EditController.updateScores;
|
||||
import static com.r0r5chach.controllers.ViewController.generateTable;
|
||||
import static com.r0r5chach.controllers.ViewController.loadTable;
|
||||
|
||||
public class MainController implements Initializable {
|
||||
private CompetitorList competitors;
|
||||
private ArrayList<Integer> competitorIds;
|
||||
private TextField[] scores;
|
||||
private TextField[] fields;
|
||||
|
||||
@FXML
|
||||
private ListView<Integer> competitorsList;
|
||||
|
||||
@FXML
|
||||
private TextField playerNumber;
|
||||
|
||||
@FXML
|
||||
private TextField playerName;
|
||||
|
||||
@FXML
|
||||
private ChoiceBox<Rank> playerLevel;
|
||||
|
||||
@FXML
|
||||
private Text favoriteCharacters;
|
||||
|
||||
@FXML
|
||||
private ChoiceBox<R6Attacker> favoriteAttacker;
|
||||
|
||||
@FXML
|
||||
private ChoiceBox<ValorantAgent> favoriteAgent;
|
||||
|
||||
@FXML
|
||||
private ChoiceBox<R6Defender> favoriteDefender;
|
||||
|
||||
@FXML
|
||||
private TextField scores0;
|
||||
|
||||
@FXML
|
||||
private TextField scores1;
|
||||
|
||||
@FXML
|
||||
private TextField scores2;
|
||||
|
||||
@FXML
|
||||
private TextField scores3;
|
||||
|
||||
@FXML
|
||||
private TextField scores4;
|
||||
|
||||
@FXML
|
||||
private TextField scores5;
|
||||
|
||||
@FXML
|
||||
private TextField overallScore;
|
||||
|
||||
@FXML
|
||||
private Button updateButton;
|
||||
|
||||
@FXML
|
||||
private TableView<CompetitorRow> competitorTable;
|
||||
|
||||
@Override
|
||||
public void initialize(URL url, ResourceBundle rb) {
|
||||
Platform.runLater(() -> {
|
||||
scores = new TextField[]{scores0, scores1, scores2, scores3, scores4, scores5};
|
||||
fields = new TextField[]{playerNumber, playerName, overallScore};
|
||||
loadCompetitors();
|
||||
generateTable(competitorTable);
|
||||
loadEdit();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void setCompetitors(CompetitorList competitors) {
|
||||
this.competitors = competitors;
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void getCompetitor() {
|
||||
Competitor player = competitors.getCompetitors().get(competitorIds.indexOf(competitorsList.getSelectionModel().getSelectedItem()));
|
||||
loadPlayer(player,fields, playerLevel);
|
||||
loadFavoriteCharacters(player, favoriteAttacker, favoriteDefender, favoriteAgent, favoriteCharacters);
|
||||
loadScores(player, scores);
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void updateCompetitor() {
|
||||
int playerIndex = competitorIds.indexOf(competitorsList.getSelectionModel().getSelectedItem());
|
||||
Competitor player = competitors.getCompetitors().get(playerIndex);
|
||||
updatePlayer(player, fields, playerLevel);
|
||||
updateFavoriteCharacters(player, favoriteAttacker, favoriteDefender, favoriteAgent);
|
||||
updateScores(player, scores);
|
||||
competitorIds.set(playerIndex, player.getPlayerNumber());
|
||||
loadEdit();
|
||||
loadPlayer(player, fields, playerLevel);
|
||||
loadFavoriteCharacters(player, favoriteAttacker, favoriteDefender, favoriteAgent, favoriteCharacters);
|
||||
loadScores(player, scores);
|
||||
}
|
||||
|
||||
private void loadCompetitors(){
|
||||
competitorIds = new ArrayList<Integer>();
|
||||
for (Competitor player : competitors.getCompetitors()) {
|
||||
competitorIds.add(player.getPlayerNumber());
|
||||
}
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void loadEdit() {
|
||||
competitorsList.setItems(FXCollections.observableList(competitorIds));
|
||||
playerLevel.setItems(FXCollections.observableList(Arrays.asList(Rank.values())));
|
||||
favoriteAttacker.setItems(FXCollections.observableList(Arrays.asList(R6Attacker.values())));
|
||||
favoriteDefender.setItems(FXCollections.observableList(Arrays.asList(R6Defender.values())));
|
||||
favoriteAgent.setItems(FXCollections.observableList(Arrays.asList(ValorantAgent.values())));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void loadView() {
|
||||
competitorTable.setItems(loadTable(competitors.getCompetitors()));
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void filterPress() throws IOException {
|
||||
Manager.filtersOpen();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,48 +1,60 @@
|
|||
package com.r0r5chach.controllers;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import com.r0r5chach.CompetitorRow;
|
||||
import com.r0r5chach.Manager;
|
||||
import com.r0r5chach.competitor.Competitor;
|
||||
import com.r0r5chach.competitor.Rank;
|
||||
import com.r0r5chach.competitor.r6.R6Player;
|
||||
import com.r0r5chach.competitor.valorant.ValorantPlayer;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.TableColumn;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import javafx.stage.Popup;
|
||||
|
||||
public class ViewController {
|
||||
public class ViewController extends Controller {
|
||||
@FXML
|
||||
private TableView<CompetitorRow> competitorTable;
|
||||
|
||||
public static void generateTable(TableView<CompetitorRow> table) {
|
||||
TableColumn<CompetitorRow,Integer> playerNumCol = new TableColumn<CompetitorRow,Integer>("Player Number");
|
||||
TableColumn<CompetitorRow,String> playerNameCol = new TableColumn<CompetitorRow,String>("Player Name");
|
||||
TableColumn<CompetitorRow,Rank> playerLevelCol = new TableColumn<CompetitorRow,Rank>("Player Level");
|
||||
TableColumn<CompetitorRow,String> scoresCol = new TableColumn<CompetitorRow,String>("Player Scores");
|
||||
TableColumn<CompetitorRow,String> favoriteCharsCol = new TableColumn<CompetitorRow,String>("Favorite Characters");
|
||||
TableColumn<CompetitorRow,String> favoriteAgentCol = new TableColumn<CompetitorRow,String>("Agent");
|
||||
TableColumn<CompetitorRow,String> favoriteAttackerCol = new TableColumn<CompetitorRow,String>("Attacker");
|
||||
TableColumn<CompetitorRow,String> favoriteDefenderCol = new TableColumn<CompetitorRow,String>("Defender");
|
||||
playerNumCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,Integer>("playerNumber"));
|
||||
playerNameCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,String>("playerName"));
|
||||
playerLevelCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,Rank>("playerLevel"));
|
||||
scoresCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,String>("scores"));
|
||||
favoriteAgentCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,String>("favoriteAgent"));
|
||||
favoriteAttackerCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,String>("favoriteAttacker"));
|
||||
favoriteDefenderCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,String>("favoriteDefender"));
|
||||
table.getColumns().add(playerNumCol);
|
||||
table.getColumns().add(playerNameCol);
|
||||
table.getColumns().add(playerLevelCol);
|
||||
table.getColumns().add(scoresCol);
|
||||
favoriteCharsCol.getColumns().add(favoriteAgentCol);
|
||||
favoriteCharsCol.getColumns().add(favoriteAttackerCol);
|
||||
favoriteCharsCol.getColumns().add(favoriteDefenderCol);
|
||||
table.getColumns().add(favoriteCharsCol);
|
||||
@FXML Button filterButton;
|
||||
|
||||
private TableColumn<CompetitorRow,Integer> playerNumCol;
|
||||
private TableColumn<CompetitorRow,String> playerNameCol;
|
||||
private TableColumn<CompetitorRow,Rank> playerLevelCol;
|
||||
private TableColumn<CompetitorRow,String> scoresCol;
|
||||
private TableColumn<CompetitorRow,String> favoriteCharsCol;
|
||||
private TableColumn<CompetitorRow,String> favoriteAgentCol;
|
||||
private TableColumn<CompetitorRow,String> favoriteAttackerCol;
|
||||
private TableColumn<CompetitorRow,String> favoriteDefenderCol;
|
||||
|
||||
private Popup filters;
|
||||
|
||||
@Override
|
||||
public void initialize(URL ul, ResourceBundle rb) {
|
||||
Platform.runLater(() -> {
|
||||
loadCompetitors();
|
||||
loadView();
|
||||
});
|
||||
}
|
||||
|
||||
public static ObservableList<CompetitorRow> loadTable(ArrayList<Competitor> list) {
|
||||
public void generateTable() {
|
||||
initColumns();
|
||||
setColumnCellValues();
|
||||
addColumns();
|
||||
}
|
||||
|
||||
public ObservableList<CompetitorRow> loadTable(ArrayList<Competitor> list) {
|
||||
ArrayList<CompetitorRow> outputList = new ArrayList<>();
|
||||
for(Competitor player: list) {
|
||||
if (player instanceof ValorantPlayer) {
|
||||
|
|
@ -54,5 +66,64 @@ public class ViewController {
|
|||
}
|
||||
return FXCollections.observableArrayList(outputList);
|
||||
}
|
||||
|
||||
|
||||
private void loadView() {
|
||||
generateTable();
|
||||
competitorTable.setItems(loadTable(competitors.getCompetitors()));
|
||||
}
|
||||
|
||||
private void initColumns() {
|
||||
playerNumCol = new TableColumn<CompetitorRow,Integer>("Player Number");
|
||||
playerNameCol = new TableColumn<CompetitorRow,String>("Player Name");
|
||||
playerLevelCol = new TableColumn<CompetitorRow,Rank>("Player Level");
|
||||
scoresCol = new TableColumn<CompetitorRow,String>("Player Scores");
|
||||
favoriteCharsCol = new TableColumn<CompetitorRow,String>("Favorite Characters");
|
||||
favoriteAgentCol = new TableColumn<CompetitorRow,String>("Agent");
|
||||
favoriteAttackerCol = new TableColumn<CompetitorRow,String>("Attacker");
|
||||
favoriteDefenderCol = new TableColumn<CompetitorRow,String>("Defender");
|
||||
}
|
||||
|
||||
private void setColumnCellValues() {
|
||||
playerNumCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,Integer>("playerNumber"));
|
||||
playerNameCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,String>("playerName"));
|
||||
playerLevelCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,Rank>("playerLevel"));
|
||||
scoresCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,String>("scores"));
|
||||
favoriteAgentCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,String>("favoriteAgent"));
|
||||
favoriteAttackerCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,String>("favoriteAttacker"));
|
||||
favoriteDefenderCol.setCellValueFactory(new PropertyValueFactory<CompetitorRow,String>("favoriteDefender"));
|
||||
}
|
||||
|
||||
private void addColumns() {
|
||||
competitorTable.getColumns().add(playerNumCol);
|
||||
competitorTable.getColumns().add(playerNameCol);
|
||||
competitorTable.getColumns().add(playerLevelCol);
|
||||
competitorTable.getColumns().add(scoresCol);
|
||||
favoriteCharsCol.getColumns().add(favoriteAgentCol);
|
||||
favoriteCharsCol.getColumns().add(favoriteAttackerCol);
|
||||
favoriteCharsCol.getColumns().add(favoriteDefenderCol);
|
||||
competitorTable.getColumns().add(favoriteCharsCol);
|
||||
}
|
||||
|
||||
@FXML
|
||||
private void filterPress() throws IOException {
|
||||
switch(filterButton.getText().toLowerCase()) {
|
||||
case "filters" -> filterDialog();
|
||||
case "save" -> saveFilters();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void filterDialog() throws IOException {
|
||||
filters = new Popup();
|
||||
Parent root = Manager.loadFXML("pages/filters");
|
||||
filters.getContent().add(root);
|
||||
filters.show(Manager.stage);
|
||||
filterButton.setText("Save");
|
||||
}
|
||||
|
||||
private void saveFilters() {
|
||||
filters.hide();
|
||||
filterButton.setText("Filters");
|
||||
//TODO: filter implementation
|
||||
}
|
||||
}
|
||||
|
|
@ -4,7 +4,6 @@ module com.r0r5chach {
|
|||
requires javafx.fxml;
|
||||
|
||||
opens com.r0r5chach to javafx.fxml;
|
||||
opens com.r0r5chach.pages to javafx.base;
|
||||
opens com.r0r5chach.controllers to javafx.fxml;
|
||||
exports com.r0r5chach;
|
||||
exports com.r0r5chach.competitor;
|
||||
|
|
|
|||
|
|
@ -1,169 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ChoiceBox?>
|
||||
<?import javafx.scene.control.ListView?>
|
||||
<?import javafx.scene.control.SplitPane?>
|
||||
<?import javafx.scene.control.Tab?>
|
||||
<?import javafx.scene.control.TabPane?>
|
||||
<?import javafx.scene.control.TableView?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.AnchorPane?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.r0r5chach.controllers.MainController">
|
||||
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.r0r5chach.controllers.MainController">
|
||||
<children>
|
||||
<TabPane prefHeight="406.0" prefWidth="600.0" tabClosingPolicy="UNAVAILABLE">
|
||||
<TabPane tabClosingPolicy="UNAVAILABLE">
|
||||
<tabs>
|
||||
<Tab text="Home">
|
||||
<Tab onSelectionChanged="#getEditTab" text="Edit">
|
||||
<content>
|
||||
<AnchorPane fx:id="editTab" />
|
||||
</content></Tab>
|
||||
<Tab onSelectionChanged="#getViewTab" text="View">
|
||||
<content>
|
||||
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
|
||||
<AnchorPane fx:id="viewTab" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" />
|
||||
</content>
|
||||
</Tab>
|
||||
<Tab onSelectionChanged="#loadEdit" text="Edit">
|
||||
<content>
|
||||
<SplitPane dividerPositions="0.3016666666666667" prefHeight="254.0" prefWidth="600.0">
|
||||
<items>
|
||||
<VBox maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="371.0" prefWidth="212.0">
|
||||
<children>
|
||||
<ListView fx:id="competitorsList" onMouseClicked="#getCompetitor" prefHeight="371.0" prefWidth="193.0" />
|
||||
</children>
|
||||
</VBox>
|
||||
<GridPane>
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="204.0" minWidth="10.0" prefWidth="127.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="326.0" minWidth="10.0" prefWidth="291.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints vgrow="SOMETIMES" />
|
||||
<RowConstraints vgrow="SOMETIMES" />
|
||||
<RowConstraints vgrow="SOMETIMES" />
|
||||
<RowConstraints vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<TextField fx:id="playerNumber" prefHeight="25.0" prefWidth="160.0" GridPane.columnIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets right="100.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Player Number" GridPane.halignment="RIGHT">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<TextField fx:id="playerName" prefHeight="25.0" prefWidth="160.0" GridPane.columnIndex="1" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets right="100.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Name" GridPane.halignment="RIGHT" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Level" GridPane.halignment="RIGHT" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<Text fx:id="favoriteCharacters" strokeType="OUTSIDE" strokeWidth="0.0" text="Favorite Character(s)" GridPane.halignment="RIGHT" GridPane.rowIndex="3">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="45.0" right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<VBox prefHeight="0.0" prefWidth="291.0" GridPane.columnIndex="1" GridPane.rowIndex="3">
|
||||
<children>
|
||||
<ChoiceBox fx:id="favoriteAttacker" prefWidth="150.0" />
|
||||
<ChoiceBox fx:id="favoriteAgent" prefWidth="150.0" visible="false">
|
||||
<VBox.margin>
|
||||
<Insets />
|
||||
</VBox.margin>
|
||||
</ChoiceBox>
|
||||
<ChoiceBox fx:id="favoriteDefender" prefWidth="150.0">
|
||||
<VBox.margin>
|
||||
<Insets top="15.0" />
|
||||
</VBox.margin>
|
||||
</ChoiceBox>
|
||||
</children>
|
||||
</VBox>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Scores" GridPane.halignment="RIGHT" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<TextField fx:id="scores0" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets right="268.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<TextField fx:id="scores1" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets left="40.0" right="228.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<TextField fx:id="scores2" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets left="80.0" right="188.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<TextField fx:id="scores3" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets left="120.0" right="148.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<TextField fx:id="scores4" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets left="160.0" right="108.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<TextField fx:id="scores5" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets left="200.0" right="68.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Overall Score" GridPane.halignment="RIGHT" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<TextField fx:id="overallScore" GridPane.columnIndex="1" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets right="200.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<Button fx:id="updateButton" mnemonicParsing="false" onAction="#updateCompetitor" text="Update" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<ChoiceBox fx:id="playerLevel" prefHeight="25.0" prefWidth="193.0" GridPane.columnIndex="1" GridPane.rowIndex="2" />
|
||||
</children>
|
||||
</GridPane>
|
||||
</items>
|
||||
</SplitPane>
|
||||
</content>
|
||||
</Tab>
|
||||
<Tab onSelectionChanged="#loadView" text="View">
|
||||
<content>
|
||||
<VBox prefHeight="200.0" prefWidth="100.0">
|
||||
<children>
|
||||
<TableView fx:id="competitorTable" prefHeight="371.0" prefWidth="600.0" />
|
||||
<Button fx:id="filterButton" mnemonicParsing="false" onAction="#filterPress" text="Filters">
|
||||
<VBox.margin>
|
||||
<Insets top="15.0" />
|
||||
</VBox.margin>
|
||||
</Button>
|
||||
</children>
|
||||
</VBox>
|
||||
</content>
|
||||
</Tab>
|
||||
<Tab text="Report">
|
||||
<content>
|
||||
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
|
||||
|
|
|
|||
|
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ChoiceBox?>
|
||||
<?import javafx.scene.control.ListView?>
|
||||
<?import javafx.scene.control.SplitPane?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<SplitPane fx:id="window" dividerPositions="0.3016666666666667" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.r0r5chach.controllers.EditController">
|
||||
<items>
|
||||
<VBox maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="371.0" prefWidth="212.0">
|
||||
<children>
|
||||
<ListView fx:id="competitorsList" onMouseClicked="#getCompetitor" prefHeight="371.0" prefWidth="193.0" />
|
||||
</children>
|
||||
</VBox>
|
||||
<GridPane>
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="204.0" minWidth="10.0" prefWidth="127.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="326.0" minWidth="10.0" prefWidth="291.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints vgrow="SOMETIMES" />
|
||||
<RowConstraints vgrow="SOMETIMES" />
|
||||
<RowConstraints vgrow="SOMETIMES" />
|
||||
<RowConstraints vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<TextField fx:id="playerNumber" prefHeight="25.0" prefWidth="160.0" GridPane.columnIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets right="100.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Player Number" GridPane.halignment="RIGHT">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<TextField fx:id="playerName" prefHeight="25.0" prefWidth="160.0" GridPane.columnIndex="1" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets right="100.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Name" GridPane.halignment="RIGHT" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Level" GridPane.halignment="RIGHT" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<Text fx:id="favoriteCharacters" strokeType="OUTSIDE" strokeWidth="0.0" text="Favorite Character(s)" GridPane.halignment="RIGHT" GridPane.rowIndex="3">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="45.0" right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<VBox prefHeight="0.0" prefWidth="291.0" GridPane.columnIndex="1" GridPane.rowIndex="3">
|
||||
<children>
|
||||
<ChoiceBox fx:id="favoriteAttacker" prefWidth="150.0" />
|
||||
<ChoiceBox fx:id="favoriteAgent" prefWidth="150.0" visible="false">
|
||||
<VBox.margin>
|
||||
<Insets />
|
||||
</VBox.margin>
|
||||
</ChoiceBox>
|
||||
<ChoiceBox fx:id="favoriteDefender" prefWidth="150.0">
|
||||
<VBox.margin>
|
||||
<Insets top="15.0" />
|
||||
</VBox.margin>
|
||||
</ChoiceBox>
|
||||
</children>
|
||||
</VBox>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Scores" GridPane.halignment="RIGHT" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<TextField fx:id="scores0" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets right="268.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<TextField fx:id="scores1" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets left="40.0" right="228.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<TextField fx:id="scores2" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets left="80.0" right="188.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<TextField fx:id="scores3" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets left="120.0" right="148.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<TextField fx:id="scores4" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets left="160.0" right="108.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<TextField fx:id="scores5" GridPane.columnIndex="1" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets left="200.0" right="68.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Overall Score" GridPane.halignment="RIGHT" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<TextField fx:id="overallScore" GridPane.columnIndex="1" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets right="200.0" />
|
||||
</GridPane.margin>
|
||||
</TextField>
|
||||
<Button fx:id="updateButton" mnemonicParsing="false" onAction="#updateCompetitor" text="Update" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets right="10.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<ChoiceBox fx:id="playerLevel" prefHeight="25.0" prefWidth="193.0" GridPane.columnIndex="1" GridPane.rowIndex="2" />
|
||||
</children>
|
||||
</GridPane>
|
||||
</items>
|
||||
</SplitPane>
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ChoiceBox?>
|
||||
<?import javafx.scene.control.RadioButton?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
|
|
@ -99,11 +98,6 @@
|
|||
<Insets left="50.0" />
|
||||
</GridPane.margin>
|
||||
</RadioButton>
|
||||
<Button mnemonicParsing="false" onAction="#filterSave" text="Save" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="7">
|
||||
<GridPane.margin>
|
||||
<Insets right="15.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
</children>
|
||||
</GridPane>
|
||||
</children>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.TableView?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
|
||||
<Pane maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.r0r5chach.controllers.ViewController">
|
||||
<children>
|
||||
<VBox layoutX="10.0" layoutY="10.0">
|
||||
<children>
|
||||
<TableView fx:id="competitorTable" prefHeight="380.0" prefWidth="600.0" />
|
||||
<Button fx:id="filterButton" mnemonicParsing="false" onAction="#filterPress" text="Filters">
|
||||
<VBox.margin>
|
||||
<Insets bottom="15.0" top="15.0" />
|
||||
</VBox.margin>
|
||||
</Button>
|
||||
</children>
|
||||
</VBox>
|
||||
</children>
|
||||
</Pane>
|
||||
Loading…
Reference in New Issue