La interfaz de AFRYCA

AFRYCA, como aplicación de escritorio basada en Eclipse RCP, hace uso de los paradigmas de interfaz definidos por esta plataforma.

En esta sección se listan los diferentes tipos de elementos usados en la interfaz de AFRYCA, proporcionándose para cada uno de ellos una breve descripción y un enlace a aquella sección de la web en la que el elemento se describe con mayor detalle.

Perspectivas

Si se observa la interfaz de usuario de cualquier aplicación como una jerarquía de elementos, en la que unos elementos están contenidos dentro de otros, una perspectiva constituiría el nivel más alto en dicha jerarquía.

En AFRYCA se emplean diferentes perspectivas para separar la funcionalidad ofrecida por la aplicación, pudiendo verse cada una de estas perspectivas como un contexto de tareas (definición del problema, configuración del consenso, visualización de resultados, ...).

Las diferentes perspectivas definidas por AFRYCA pueden ser seleccionadas usando el selector de perspectivas, el cual se encuentra en la esquina superior derecha de la interfaz de usuario y proporciona, para cada una de las perspectivas, un acceso directo que permitirá cambiar la perspectiva activa.

Selector de perspectivas

Las diferentes perspectivas presentes en AFRYCA, siguiendo el orden mostrado por el selector de perspectivas de izquierda a derecha son:

  • PTDG: Gestión de Problemas de Toma de Decisión en Grupo (PTDG). Permite realizar tareas como la creación de un PTDG, su selección, modificación, clonación, importación, etc.
  • Modelos de consenso: Gestión de modelos de consenso y comportamientos a utilizar en caso necesario. Tareas como la selección del modelo, su configuración, la selección de un comportamiento y la gestión de su actitud se realizan desde aquí.
  • Simulaciones: Visualización de información sobre simulaciones realizadas. Se enfoca en el análisis comparativo de diferentes simulaciones.
  • Simulación: Visualización del progreso de una simulación. Se enfoca en el estudio del proceso de consenso realizado en una simulación.
  • ASE: (AFRYCA Scripting Environment) Es el entorno de scripting integrado de AFRYCA. La definición de snippets, funciones, enlaces a módulos, ejecución de fragmentos de código y otras funciones ofrecidas por ASE son gestionadas desde esta perspectiva.

Partes

El siguiente nivel en la jerarquía de elementos de la interfaz son las partes. Las partes son componentes de la interfaz que permiten visualizar información, navegar entre ella y modificarla. En una aplicación Eclipse RCP como AFRYCA, las partes son elementos dinámicos que pueden ser redimensionados y reposicionados para personalizar la interfaz a las preferencias del usuario.

Ejemplo de parte: Problemas en perspectiva PTDG

Las partes se dividen gráficamente en tres partes:

  • Título: Contiene un icono representativo (opcionalmente) y el nombre de la parte, pudiendo adaptarse su nombre en función de diversos factores. Por cuestiones prácticas o de diseño, en algunas ocasiones AFRYCA oculta el título de las partes al usuario.
  • Menú: Acceso a diferentes comandos relacionados con la parte. Los comandos pueden estar contenidos tanto en una barra de comandos como en un menú de comandos.
  • Cuerpo: Contenido de la parte.

Las partes pueden a su ver clasificarse como vistas y editores, estando las primeras más enfocadas en la manipulación directa de la información (los cambios realizados se aplican en el momento) mientras que las segundas se emplean en aquellos casos en los que se busca una edición (los cambios realizados no se aplican hasta que el usuario no lo indica). Si bien el concepto establece una distinción clara, en la práctica la mayoría de las vistas permiten realizar tareas de edición, y algunas tareas llevadas a cabo en los editores no permiten ser editadas y se realizan de forma directa, por lo que para el usuario final puede ser difícil discernir si está empleando una vista o un editor. Por ello, en esta guía para no confundir al usuario nos referiremos en exclusiva a vistas o a partes y evitaremos siempre y cuando sea posible la utilización del concepto de editor.

Las diferentes partes que conforman AFRYCA, siguiendo las diferentes perspectivas definidas con anterioridad son:

  • PTDG
    • Problemas: Gestión de los archivos de PTDG.
    • Problema: Edición del PTDG seleccionado.
    • Pila: Información sobre la simulación a ejecutar. Compartida con la perspectiva de modelos de consenso.
  • Modelos de consenso
  • Simulaciones
    • Simulaciones: Selección de la simulación.
    • Configuración: Datos de configuración de la simulación.
    • Resultados: Resultados de la simulación.
    • MDS: Visualización de preferencias ronda a ronda usando escalado multidimensional.
    • Métricas: Métricas de análisis de la simulación.
    • Gráficas: Gráficas de la simulación.
  • Simulación
    • Ronda final: Selección de la ronda final de la simulación.
    • Ronda inicial: Selección de la ronda inicial de la simulación.
    • PTDG: Visualización del problema durante la simulación.
    • Gráficas: Gráficas de la simulación.
  • ASE
    • Enlaces: Variables de ejecución asociadas con ASE.
    • Clases precargadas: Clases java que son incluidas por defecto en cada script ejecutado en ASE.
    • Variables: Variables generadas en ASE.
    • Evaluaciones: Evaluaciones realizadas desde la consola de ASE.
    • Consola: Consola interactiva de ASE.
    • Snippets: Gestión de snippets y repositorios de snippets.
    • Funciones: Gestión de funciones, módulos y enlaces a módulos.

Ventanas de diálogo

Determinadas acciones realizadas con la aplicación requieren el uso de ventanas de diálogo o diálogos que permiten al usuario interactuar con la aplicación de forma detallada en un contexto determinado. En adición a los diálogos habituales como preguntas de confirmación, advertencias o notificaciones de errores, AFRYCA incluye varios diálogos que facilitan la realización de tareas avanzadas.

Estos diálogos, que podríamos denominar diálogos avanzados son:

Comandos

En AFRYCA, la interacción con la aplicación se modela haciendo uso de comandos, los cuales permiten encapsular una funcionalidad y aplicarla sobre unos datos específicos para obtener un resultado determinado. Así, en AFRYCA existen comandos para realizar todo tipo de tareas tales como crear un PTDG, seleccionar un modelo de consenso o ejecutar una simulación. Algunos comandos son invocados de forma directa con la interacción del usuario, tales como la selección o la modificación de una FPR, mientras que otros son invocados haciendo uso de los menús y combinaciones de teclas habilitadas.

Cabe notar que los comandos responden de modo inteligente al estado de la aplicación, lo cual implica que:

  1. Un comando únicamente podrá ser ejecutado cuando su ejecución tenga sentido. Por ejemplo, si no se ha seleccionado ningún PTDG no será posible ejecutar el comando que permite eliminar un PTDG.
  2. Si una combinación de teclas es utilizada para invocar varios comandos, la combinación se utilizará para ejecutar el comando asociado con el contexto actual, entendiéndose por contexto el elemento seleccionado en la interfaz. Así, si se ha seleccionado un PTDG y la vista de problemas está activa, al pulsar la tecla suprimir se invocará el comando para eliminar el PTDG seleccionado, no invocándose este comando si no se cumplen las condiciones anteriores.

De forma automática Eclipse RCP modifica los menús de la aplicación y añade a los elementos las combinaciones de teclas activas en cada momento. Sin embargo, algunas versiones de Eclipse RCP no realizan correctamente esta modificación, mostrándose en los menús combinaciones de teclas incorrectas. Por ello, incluimos a continuación las diferentes combinaciones de teclas habilitadas desde AFRYCA y recomendamos que, en caso de duda, se use la información de esta sección.

  • Importar PTDG: Ctrl + I
  • Nuevo PTDG: Ctrl + N
  • Clonar PTDG: Ctrl + C
  • Eliminar PTDG: Suprimir
  • Añadir experto: Ctrl + N
  • Eliminar experto: Suprimir
  • Seleccionar colectiva: Ctrl + C
  • Retroceder experto: Ctrl + Fl. Subir
  • Avanzar experto: Ctrl + Fl. Bajar
  • Generar FPR: Ctrl + G
  • Añadir alternativa: Ctrl + N
  • Eliminar alternativa: Suprimir
  • Retroceder alternativa: Ctrl + Fl. Subir
  • Avanzar alternativa: Ctrl + Fl. Bajar
  • Guardar PTDG: Ctrl + S
  • Guardar todos los PTDGs: Shift + Ctrl + S
  • Guardar configuración: Ctrl + R
  • Restaurar configuración: Ctrl + Z
  • Eliminar configuración: Suprimir
  • Guardar actitud: Ctrl + R
  • Restaurar actitud: Ctrl + Z
  • Eliminar actitud: Suprimir
  • Preferencias del elemento activo: Ctrl + P
  • Simular: F11
  • Pegar enlace: Ctrl + V
  • Reemplazar contenido del editor con enlace: Shift + Ctrl + V
  • Pegar instrucción: Ctrl + B
  • Reemplazar contenido del editor con instrucción: Shift + Ctrl + B
  • Pegar elemento precargado: Ctrl + V
  • Reemplazar contenido del editor con elemento precargado: Shift + Ctrl + V
  • Pegar variable: Ctrl + V
  • Reemplazar contenido del editor con variable: Shift + Ctrl + V
  • Eliminar variable: Suprimir
  • Guardar como snippet: Ctrl + S
  • Evaluar editor: Ctrl + R
  • Limpiar editor: Ctrl + D
  • Pegar snippet: Ctrl + V
  • Reemplazar contenido del editor con snippet: Shift + Ctrl + V
  • Nuevo snippet: Ctrl + N
  • Editar snippet: Ctrl + E
  • Eliminar snippet: Suprimir
  • Nuevo repositorio: Shift + N
  • Editar repositorio: Shift + E
  • Eliminar repositorio: Shift + Suprimir
  • Pegar función: Ctrl + V
  • Reemplazar contenido del editor con función: Shift + Ctrl + V
  • Nueva función: Ctrl + N
  • Editar función: Ctrl + E
  • Eliminar función: Suprimir
  • Nuevo módulo: Shift + N
  • Editar módulo: Shift + E
  • Eliminar módulo: Shift + Suprimir
  • Nuevo enlace a módulo: Shift + Ctrl + N
  • Editar enlace a módulo: Shift + Ctrl + E
  • Eliminar enlace a módulo: Shift + Ctrl + Suprimir
  • Salir: Ctrl + Q