PresenterFunctions.PacientesFunctions

com.uva.rafael.tfg_goniometer.interfaces

## Interface PresenterFunctions.PacientesFunctions

- All Known Implementing Classes:
    PacientesPresenter
  Enclosing interface:
    PresenterFunctions

      public static interface PresenterFunctions.PacientesFunctions

  Interfaz correspondiente al Presentador `PacientesPresenter`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `configRecyclerView(android.support.v7.widget.RecyclerView recyclerView, android.os.Bundle args)` Metodo que se encarga de hacer una configuracion inicial del `RecyclerView` que muestra el listado de pacientes almacenados en la Base de Datos.
    `void` | `loadSpinner(android.widget.Spinner spinner)` Metodo que se encarga de crear un `ArrayAdapter` para el `Spinner` recibido como parametro y adjunta un recurso de tipo layout que define como se muestra la opcion seleccionada en el control del mismo.
    `void` | `onAñadirPacienteClicked()` Evento `ClickListener` que se llama cuando el usuario ha pulsado sobre el boton para añadir un nuevo paciente en el `PacientesFragment`.
    `void` | `onLayoutClicked(java.lang.String nombrePaciente, int idPaciente, android.os.Bundle args)` Evento `ClickListener` que se llama cuando el usuario ha pulsado sobre un elemento del `RecyclerView` que muestra el listado de pacientes en `PacientesFragment`.
    `void` | `onTextChanged(android.support.v7.widget.RecyclerView recyclerView, java.lang.String texto, java.lang.String filtro, android.os.Bundle args)` Metodo que se encarga de re-asignar el `RecyclerView.Adapter` al `RecyclerView` de `PacientesFragment`, encargado de mostrar el listado de pacientes que coinciden con los criterios de busqueda (o todos en caso de no especificar ninguno).
    `void` | `setUpInitialSettings(android.support.v7.widget.Toolbar toolbar)` Metodo que realiza las operaciones iniciales cuando se crea el `Fragment PacientesFragment`.

- - ### Method Detail

    - #### setUpInitialSettings

          void setUpInitialSettings(android.support.v7.widget.Toolbar toolbar)

      Metodo que realiza las operaciones iniciales cuando se crea el `Fragment PacientesFragment`.

      Se encarga de marcar el cuarto item del `NavigationView` (correspondiente a `PacientesFragment`), fijar la orientacion de la pantalla en "Portrait" y de utilizar el `Toolbar` recibido como `SupportActionBar`.

      En este caso, solo se mostrara el `Toolbar` en el caso de que el usuario no vaya a almacenar una nueva medicion en el sistema. Esto es asi, para evitar que el usuario vaya a otras partes de la aplicacion, a traves del mismo, sin haber completado la tarea de almacenar la medicion, lo que puede provocar problemas de comportamiento de la aplicacion.

      Asi, ademas, se guia al usuario paso a paso, lo que facilita el uso de la aplicacion.

      Parameters:
        `toolbar` - `Toolbar` a emplear como `SupportActionBar`

    - #### configRecyclerView

          void configRecyclerView(android.support.v7.widget.RecyclerView recyclerView,
                                  android.os.Bundle args)

      Metodo que se encarga de hacer una configuracion inicial del `RecyclerView` que muestra el listado de pacientes almacenados en la Base de Datos.

      Realiza una operacion para mejorar el rendimiento del mismo, asi como añadirle el `LayoutManager` y el `RecyclerView.Adapter`.

      Parameters:
        `recyclerView` - `RecyclerView` a configurar
        `args` - `Bundle` con los argumentos para crear el `PacienteListAdapter`

    - #### onAñadirPacienteClicked

          void onAñadirPacienteClicked()

      Evento `ClickListener` que se llama cuando el usuario ha pulsado sobre el boton para añadir un nuevo paciente en el `PacientesFragment`. Crea un nuevo `Fragment` de tipo `NuevoPacienteFragment`.

    - #### loadSpinner

          void loadSpinner(android.widget.Spinner spinner)

      Metodo que se encarga de crear un `ArrayAdapter` para el `Spinner` recibido como parametro y adjunta un recurso de tipo layout que define como se muestra la opcion seleccionada en el control del mismo.

      Ademas, especifica el layout que el `Adapter` usara para mostrar la lista de opciones del `Spinner`.

      Por ultimo, aplica el adaptador al `Spinner` en cuestion.

      Parameters:
        `spinner` - `Spinner` sobre el que se aplica

    - #### onTextChanged

          void onTextChanged(android.support.v7.widget.RecyclerView recyclerView,
                             java.lang.String texto,
                             java.lang.String filtro,
                             android.os.Bundle args)

      Metodo que se encarga de re-asignar el `RecyclerView.Adapter` al `RecyclerView` de `PacientesFragment`, encargado de mostrar el listado de pacientes que coinciden con los criterios de busqueda (o todos en caso de no especificar ninguno).

      Primero, obtiene, a partir del Modelo, el listado de pacientes filtrado, segun el criterio seleccionado por el usuario en el `Spinner`, y la informacion introducida por el mismo en el `EditText`.

      Una vez que se tiene el listado de pacientes ya filtrado, se crea el nuevo `RecyclerView.Adapter` y se asigna al `RecyclerView` recibido como parametro.

      Parameters:
        `recyclerView` - `RecyclerView` sobre el que se aplica este metodo
        `texto` - Informacion introducida por el usuario en el cuadro de busqueda del `EditText` de `PacientesFragment`
        `filtro` - Filtro seleccionado por el usuario en el `Spinner` de `PacientesFragment`
        `args` - `Bundle` con los argumentos para crear el `PacienteListAdapter`

    - #### onLayoutClicked

          void onLayoutClicked(java.lang.String nombrePaciente,
                               int idPaciente,
                               android.os.Bundle args)

      Evento `ClickListener` que se llama cuando el usuario ha pulsado sobre un elemento del `RecyclerView` que muestra el listado de pacientes en `PacientesFragment`. Crea un nuevo `Fragment` de tipo `PerfilPacienteFragment`.
      Parameters:
        `nombrePaciente` - Nombre del paciente sobre el que el usuario ha pulsado
        `idPaciente` - ID del paciente sobre el que el usuario ha pulsado
        `args` - `Bundle` con los argumentos para crear el `PerfilPacienteFragment`