diff --git a/.idea/artifacts/JavaFXApp.xml b/.idea/artifacts/JavaFXApp.xml
deleted file mode 100644
index 2a8c880..0000000
--- a/.idea/artifacts/JavaFXApp.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
- $PROJECT_DIR$/out/artifacts/JavaFXApp
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/artifacts/MaquinaTuring.xml b/.idea/artifacts/MaquinaTuring.xml
new file mode 100644
index 0000000..27aca7c
--- /dev/null
+++ b/.idea/artifacts/MaquinaTuring.xml
@@ -0,0 +1,22 @@
+
+
+ $PROJECT_DIR$/out/artifacts/MaquinaTuring
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/mt/LoteController.java b/src/mt/LoteController.java
index 89ac8da..2f5cc81 100644
--- a/src/mt/LoteController.java
+++ b/src/mt/LoteController.java
@@ -1,25 +1,78 @@
+/* Copyright (c) 2017 Christopher Cromer
+ * Copyright (c) 2017 Carlos Faúndez
+ *
+ * This file is part of mt. It is subject to the license terms in the LICENSE file found in the top-level directory of this distribution.
+ * This file may not be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file.
+ */
+
package mt;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.scene.Scene;
+import javafx.scene.control.TableView;
+import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
+import javafx.stage.Stage;
-public class LoteController {
+/**
+ * Controlar las acciones de reconocimiento por lote
+ */
+public class LoteController extends VBox {
@FXML
private VBox vboxLote;
+ @FXML
+ private TextField cadena;
+
+ private ObservableList tablaData = FXCollections.observableArrayList();
+
/**
- * Boton Run MT de lote
+ * Boton de run MT
+ * @throws Exception La excepción
*/
@FXML
protected void runLote() throws Exception {
Scene scene = vboxLote.getScene();
Maquina maquina = (Maquina) scene.getUserData();
- if (maquina.comprobarCadena(new StringBuilder("000111###"), 5)) {
- MT.mostrarMensaje("Resultado", "Reconce");
- }
- else {
- MT.mostrarMensaje("Resultado", " No reconce");
+ for (TablaData fila : tablaData) {
+ Maquina clone = maquina.clone();
+ boolean exito = clone.comprobarCadena(new StringBuilder(fila.getPrimer()), new int[] {5});
+ if (exito) {
+ fila.setSegundo("Aceptada");
+ }
+ else {
+ fila.setSegundo("Rechazada");
+ }
}
}
+
+ /**
+ * Boton de agregar cadena
+ */
+ @FXML
+ protected void agregarCadena() {
+ if (!cadena.getText().trim().equals("")) {
+ tablaData.add(new TablaData(cadena.getText(), ""));
+ Scene scene = vboxLote.getScene();
+ @SuppressWarnings("unchecked")
+ TableView tableView = (TableView) scene.lookup("#tableView");
+ tableView.setEditable(true);
+ tableView.setItems(tablaData);
+ }
+ else {
+ MT.mostrarMensaje("Error", "Ingresa una cadena por favor!");
+ }
+ }
+
+ /**
+ * Boton de cerrar
+ */
+ @FXML
+ protected void cerrar() {
+ Scene scene = vboxLote.getScene();
+ Stage stage = (Stage) scene.getWindow();
+ stage.close();
+ }
}
diff --git a/src/mt/MT.java b/src/mt/MT.java
index 918f907..9d9783c 100644
--- a/src/mt/MT.java
+++ b/src/mt/MT.java
@@ -14,6 +14,7 @@ import javafx.scene.Scene;
import javafx.scene.control.ButtonBar;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
+import javafx.scene.image.Image;
import javafx.stage.Stage;
/**
@@ -60,6 +61,7 @@ public class MT extends Application {
primaryStage.setScene(scene);
primaryStage.setMinHeight(480);
primaryStage.setMinWidth(640);
+ primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("/mt/images/icon.png")));
primaryStage.show();
}
}
diff --git a/src/mt/Maquina.java b/src/mt/Maquina.java
index 2b6419d..3b68c7a 100644
--- a/src/mt/Maquina.java
+++ b/src/mt/Maquina.java
@@ -9,8 +9,8 @@ package mt;
import org.w3c.dom.Document;
-class Maquina {
- private final Automata maquina;
+class Maquina implements Cloneable {
+ private Automata maquina;
private Estado estadoactual;
private Enlace enlaceactual;
private String cintaanterior;
@@ -22,6 +22,21 @@ class Maquina {
cintaanterior = "";
}
+ @Override
+ public Maquina clone() {
+ try {
+ final Maquina result = (Maquina) super.clone();
+ result.maquina = this.maquina;
+ result.estadoactual = this.estadoactual;
+ result.enlaceactual = this.enlaceactual;
+ result.cintaanterior = this.cintaanterior;
+ return result;
+ }
+ catch (final CloneNotSupportedException e) {
+ throw new AssertionError();
+ }
+ }
+
Automata getMaquina() {return maquina;}
public Estado getEstadoactual() {return estadoactual;}
diff --git a/src/mt/MenuController.java b/src/mt/MenuController.java
index e711acf..37f4fcc 100644
--- a/src/mt/MenuController.java
+++ b/src/mt/MenuController.java
@@ -18,6 +18,7 @@ import javafx.scene.control.MenuItem;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.TextFieldTableCell;
+import javafx.scene.image.Image;
import javafx.scene.layout.Priority;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
@@ -102,13 +103,6 @@ public class MenuController {
tableView.getColumns().get(1).setText("(qj,sj,movimiento)");
contenido.getChildren().add(tableView);
-
- /*if (maquina.comprobarCadena(new StringBuilder("000111###"), 5)) {
- MT.mostrarMensaje("Resultado", "Reconce");
- }
- else {
- MT.mostrarMensaje("Resultado", " No reconce");
- }*/
}
}
@@ -141,6 +135,7 @@ public class MenuController {
stage.setMinHeight(480);
stage.setMinWidth(640);
stage.setScene(scene);
+ stage.getIcons().add(new Image(getClass().getResourceAsStream("/mt/images/icon.png")));
stage.show();
TableView tableView = FXMLLoader.load(getClass().getResource("tabla.fxml"));
diff --git a/src/mt/images/UBBLogo.png b/src/mt/images/UBBLogo.png
new file mode 100644
index 0000000..8711952
Binary files /dev/null and b/src/mt/images/UBBLogo.png differ
diff --git a/src/mt/images/icon.icns b/src/mt/images/icon.icns
new file mode 100644
index 0000000..78f4346
Binary files /dev/null and b/src/mt/images/icon.icns differ
diff --git a/src/mt/images/icon.ico b/src/mt/images/icon.ico
new file mode 100644
index 0000000..0250cd6
Binary files /dev/null and b/src/mt/images/icon.ico differ
diff --git a/src/mt/images/icon.png b/src/mt/images/icon.png
new file mode 100644
index 0000000..3bdd291
Binary files /dev/null and b/src/mt/images/icon.png differ