cl.cromer.estructuras

## Class GrafoController

- java.lang.Object
- - cl.cromer.estructuras.GrafoController

All Implemented Interfaces:
  javafx.fxml.Initializable

    public class GrafoController
    extends java.lang.Object
    implements javafx.fxml.Initializable

Esta clase es para controlar todos la interfaz de Arbol.

Author:
  Chris Cromer

### Field Summary

Fields
`private javafx.scene.text.Text` `codigoGrafo` Donde va el codigo a mostrar a la pantalla.
`private javafx.scene.canvas.Canvas` `contenidoGrafo` Donde poner el contenido de array.
`private Grafo.Dirigido<GrafoNodo>` `dirigido` El grafoNoDirigido dirigido usado en la aplicación.
`private Grafico` `grafico` Grafico rectangulos.
`private GrafoNodo[]` `grafoNodos` Nodos.
`private Grafo.Tipos` `grafoTipos` Tipo de grafoNoDirigido.
`private Grafo.NoDirigido<GrafoNodo>` `noDirigido` El grafoNoDirigido no dirigido usado en la aplicación.
`private static int` `PESO_PREDETERMINADO` Un peso estatico.
`private java.util.ResourceBundle` `resourceBundle` Donde está guardado los idiomas.
`private javafx.scene.Scene` `scene` La escena donde está cosas graficas.
`private TextFieldLimited` `valorGrafo` La caja para el valor.
`private TextFieldLimited` `valorNodo1` La caja por nodo 1.
`private TextFieldLimited` `valorNodo2` La caja por nodo 2.
`private TextFieldLimited` `valorPeso` La caja por el peso.

### Constructor Summary

Constructors
Constructor and Description
`GrafoController()`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `botonEliminar()` Eliminar un nodo del grafoNoDirigido.
`protected void` `botonEliminarEdge()` Eliminar un edge del grafoNoDirigido y mostrar el codigo en la pantalla.
`protected void` `botonInsertar()` Insertar un nodo en el grafoNoDirigido.
`protected void` `botonInsertarEdge()` Insertar un edge al grafoNoDirigido y mostrar el codigo en la pantalla.
`protected void` `botonLlenar()` LLenar el grafoNoDirigido con nodos y edges al azar.
`protected void` `botonVaciar()` Eliminar el grafoNoDirigido.
`private boolean` `edgeExists(GrafoNodo nodo1, GrafoNodo nodo2)` Buscar un grafoNoDirigido dirigido para ver si existe en edge entre los nodos.
`private void` `generarGrafico()` Generar la canvas con el grafoNoDirigido.
`private GrafoNodo[]` `getNodosEdge()` Devolver los nodos que existen.
`private java.lang.String` `getTipoString()` Devolver el tipo de grafo en un string.
`void` `initialize(java.net.URL location, java.util.ResourceBundle resourceBundle)` Inicializar todos los datos y dibujar las graficas.
`private void` `initializeGrafo()` Crear un grafoNoDirigido nuevo.
`private int` `textX(int x, java.lang.String texto)` Calcular la posición del texto basado en la cantidad de caracters.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### valorGrafo

    private TextFieldLimited valorGrafo

La caja para el valor.

#### valorNodo1

    private TextFieldLimited valorNodo1

La caja por nodo 1.

#### valorNodo2

    private TextFieldLimited valorNodo2

La caja por nodo 2.

#### valorPeso

    private TextFieldLimited valorPeso

La caja por el peso.

#### contenidoGrafo

    private javafx.scene.canvas.Canvas contenidoGrafo

Donde poner el contenido de array.

#### codigoGrafo

    private javafx.scene.text.Text codigoGrafo

Donde va el codigo a mostrar a la pantalla.

#### scene

    private javafx.scene.Scene scene

La escena donde está cosas graficas.

#### resourceBundle

    private java.util.ResourceBundle resourceBundle

Donde está guardado los idiomas.

#### grafoTipos

    private Grafo.Tipos grafoTipos

Tipo de grafoNoDirigido.

#### dirigido

    private Grafo.Dirigido<GrafoNodo> dirigido

El grafoNoDirigido dirigido usado en la aplicación.

#### noDirigido

    private Grafo.NoDirigido<GrafoNodo> noDirigido

El grafoNoDirigido no dirigido usado en la aplicación.

#### grafico

    private Grafico grafico

Grafico rectangulos.

#### grafoNodos

    private GrafoNodo[] grafoNodos

Nodos.

#### PESO_PREDETERMINADO

    private static final int PESO_PREDETERMINADO

Un peso estatico.

See Also:
  Constant Field Values

### Constructor Detail

#### GrafoController

    public GrafoController()

### Method Detail

#### initialize

    public void initialize(java.net.URL location,
                           java.util.ResourceBundle resourceBundle)

Inicializar todos los datos y dibujar las graficas.

Specified by:
  `initialize` in interface `javafx.fxml.Initializable`
Parameters:
  `location` - URL: El URL de fxml en uso.
  `resourceBundle` - ResourceBundle: Tiene datos de idioma.

#### botonLlenar

    protected void botonLlenar()

LLenar el grafoNoDirigido con nodos y edges al azar.

#### botonVaciar

    protected void botonVaciar()

Eliminar el grafoNoDirigido.

#### botonInsertar

    protected void botonInsertar()

Insertar un nodo en el grafoNoDirigido.

#### botonEliminar

    protected void botonEliminar()

Eliminar un nodo del grafoNoDirigido.

#### botonInsertarEdge

    protected void botonInsertarEdge()

Insertar un edge al grafoNoDirigido y mostrar el codigo en la pantalla.

#### botonEliminarEdge

    protected void botonEliminarEdge()

Eliminar un edge del grafoNoDirigido y mostrar el codigo en la pantalla.

#### initializeGrafo

    private void initializeGrafo()

Crear un grafoNoDirigido nuevo.

#### getNodosEdge

    private GrafoNodo[] getNodosEdge()

Devolver los nodos que existen.

Returns:
  GrafoNodo[]: Los nodos que se busca.

#### edgeExists

    private boolean edgeExists(GrafoNodo nodo1,
                               GrafoNodo nodo2)

Buscar un grafoNoDirigido dirigido para ver si existe en edge entre los nodos.

Parameters:
  `nodo1` - GrafoNodo: El primer nodo a buscar.
  `nodo2` - GrafoNodo: El otro nodo a buscar.
Returns:
  boolean: Verdad si existe el edge.

#### getTipoString

    private java.lang.String getTipoString()

Devolver el tipo de grafo en un string.

Returns:
  String: El tipo de grafo.

#### generarGrafico

    private void generarGrafico()

Generar la canvas con el grafoNoDirigido.

#### textX

    private int textX(int x,
                      java.lang.String texto)

Calcular la posición del texto basado en la cantidad de caracters.

Parameters:
  `x` - int: La posición donde desea el texto.
  `texto` - String: El texto a posicionar.
Returns:
  int: La posición nueva.