Search in sources :

Example 11 with Database

use of eu.tn.model.Database in project TNCY-English-Project by mrngg.

the class DbTestsController method addRules.

public void addRules() {
    if (availableRulesListView.getSelectionModel().getSelectedItem() != null && testsListView.getSelectionModel().getSelectedItem() != null) {
        for (Tests t : tests) {
            if (t.getName().equals(testsListView.getSelectionModel().getSelectedItem().toString())) {
                boolean b = false;
                for (Rules r : t.getRules()) {
                    if (r.getName().equals(availableRulesListView.getSelectionModel().getSelectedItem().toString())) {
                        b = true;
                    }
                }
                for (Rules r : rules) {
                    if (b == false && r.getName().equals(availableRulesListView.getSelectionModel().getSelectedItem().toString())) {
                        t.addRules(r);
                    }
                }
                ObservableList<String> items = FXCollections.observableArrayList();
                for (int i = 0; i < t.getRules().size(); i++) {
                    items.add(t.getRules().get(i).getName());
                }
                testRuleListView.setItems(items);
            }
        }
    }
    try {
        new Database().save();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Also used : Database(eu.tn.model.Database) IOException(java.io.IOException) Rules(eu.tn.model.Rules) Tests(eu.tn.model.Tests)

Example 12 with Database

use of eu.tn.model.Database in project TNCY-English-Project by mrngg.

the class DbTestsController method editTest.

@FXML
public void editTest() throws IOException {
    if (testsListView.getSelectionModel().getSelectedItem() != null) {
        GridPane grid = new GridPane();
        grid.setAlignment(Pos.CENTER);
        grid.setHgap(10);
        grid.setVgap(10);
        grid.setPadding(new Insets(25, 25, 25, 25));
        Label name = new Label("Name :");
        TextField nameTF = new TextField();
        nameTF.setText(testsListView.getSelectionModel().getSelectedItem().toString());
        grid.add(nameTF, 1, 1);
        grid.add(name, 0, 1);
        Button btn = new Button("Edit");
        grid.add(btn, 0, 3);
        Scene secondScene = new Scene(grid, 300, 150);
        Stage newWindow = new Stage();
        newWindow.setTitle("Edit a test");
        newWindow.setScene(secondScene);
        newWindow.show();
        btn.setOnAction((event) -> {
            if (nameTF.getText() != null) {
                for (Tests t : tests) {
                    if (t.getName().equals(testsListView.getSelectionModel().getSelectedItem().toString())) {
                        t.setName(nameTF.getText());
                    }
                }
                ObservableList<String> items = FXCollections.observableArrayList();
                for (int i = 0; i < tests.size(); i++) {
                    items.add(tests.get(i).getName());
                }
                testsListView.setItems(items);
                newWindow.close();
                try {
                    new Database().save();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
    }
}
Also used : GridPane(javafx.scene.layout.GridPane) Insets(javafx.geometry.Insets) Label(javafx.scene.control.Label) IOException(java.io.IOException) Scene(javafx.scene.Scene) Tests(eu.tn.model.Tests) Button(javafx.scene.control.Button) Database(eu.tn.model.Database) TextField(javafx.scene.control.TextField) Stage(javafx.stage.Stage) FXML(javafx.fxml.FXML)

Aggregations

Database (eu.tn.model.Database)12 Rules (eu.tn.model.Rules)8 IOException (java.io.IOException)7 Scene (javafx.scene.Scene)7 Stage (javafx.stage.Stage)7 Insets (javafx.geometry.Insets)6 Button (javafx.scene.control.Button)6 Label (javafx.scene.control.Label)6 TextField (javafx.scene.control.TextField)6 GridPane (javafx.scene.layout.GridPane)6 Tests (eu.tn.model.Tests)5 Sentences (eu.tn.model.Sentences)3 FXML (javafx.fxml.FXML)3 FirstScreenController (eu.tn.controller.FirstScreenController)1 File (java.io.File)1 Application (javafx.application.Application)1 Platform (javafx.application.Platform)1 FXMLLoader (javafx.fxml.FXMLLoader)1 BorderPane (javafx.scene.layout.BorderPane)1