======TAST Canvas 2.0 ====== TAST tiene una característica importante: el Canvas, que es un lugar donde el usuario puede pintar los diagramas UML.\\ \\ En realidad, el flujo de trabajo del uso de TAST comienza desde su Canvas.\\ \\ Actualmente Canvas/Modeling 2.0 no funciona en Internet Explorer, debido a que IE es un producto descontinuado. El resto de navegadores Chrome, Edge y Firefox si son compatibles.\\ \\ Puedes lanzar el Canvas desde varios lugares: * Creación de un nuevo diagrama UML. * Edición de un diagrama existente. * Navegación desde varios lugares de TAST para consultar un diagrama.\\ \\ {{ :es:canvas01.png?direct&400 |}} \\ \\ ===== Barra de herramientas superior (Top toolbox) ===== La imagen superior muestra (remarcada en rojo), la barra de herramientas con las siguientes opciones: * Crear un nuevo diagrama: para crear un diagrama UML. * Importar un registro IDE de Selenium: nuevo diagrama a partir de grabación de Selenium IDE. * Importar un diagrama: para importar un diagrama existente, pero desde otro entorno a nuestro entorno actual. * Exportar un diagrama: para exportar un diagrama para ser usado en otro entorno, pero también en TAST. * Bloquear/desbloquear un diagrama. * Guardar un diagrama.\\ \\ ===== Barra de herramientas inferior (Bottom toolbox) ===== Una vez editado un diagrama, se mostrará una segunda barra de herramientas para facilitar la interacción con el diagrama.\\ \\ {{ :es:canvas02.png?direct&500 |}} ====Herramientas de Dibujo==== Contiene los distintos objetos que se pueden dibujar en el Canvas 2.0.\\ \\ {{ :es:herramientas_de_dibujo.png?direct&400 |}}\\ Cada vez que se selecciona una opción, el cursor cambia según el tipo de objeto a dibujar. En lugar de seleccionar las herramientas desde aquí, también se pueden usar los respectivos **atajos de teclado** (ver pantalla de ayuda en el botón "Mostrar ayuda del Canvas").\\ **Nota** acerca de los cursores de dibujo: Todos los cursores tienen un “hotspot” activo (punto donde actúa el cursor). En el caso de los cursores para dibujo de mensajes, el hotspot es el extremo de la flecha.\\ ====Borrar elementos==== Permite borrar el o los objetos del diagrama que se hayan seleccionado.\\ \\ {{ :es:icono_borrar.png?300 |}}\\ Dispone de 2 posibles opciones: Borrar elementos, y Borrar elementos y variables. También se pueden borrar elementos usando la opción del menú contextual “Delete”.\\ **Nota**: Esta acción puede ser revertida usando la opción “Undo” del menú contextual.\\ ====Acciones de diagrama==== En la siguiente opción, se abre un desplegable. Agrupa una serie de acciones que se pueden realizar a nivel de diagrama.\\ \\ {{ :es:acciones_de_diagrama.png?direct&400 |}} * Desplazar a posición superior: Mueve el diagrama a la posición superior del Canvas y restaura el zoom inicial (escala a 1:1). * Desplazar a posición inferior: Mueve el diagrama hasta la posición inferior del mismo y restaura el zoom inicial (escala a 1:1). * Redistribuir ítems auto: Permite redistribuir los objetos de un diagrama de manera que haya un espacio equidistante entre ellos (solo verticalmente).\\ **Nota**: Esta acción puede ser revertida usando la opción “Undo” del menú contextual.\\ ====Asistentes==== Al marcar esta, aparece un listado con los asistentes disponibles: {{ :es:asistentes.png?direct&300 |}} ====Visualizar Mapa del diagrama==== Pulsando este botón, se muestra una miniatura del diagrama actual (a una escala de 4:1) que aparecerá en un recuadro en la parte superior derecha del Canvas.\\ {{ :es:canvas03.png?direct&500 |}}\\ Esta visualización en miniatura es sobre todo útil con diagramas grandes. Contiene una “lupa” (es el rectángulo azul que aparece encima de la miniatura), y su tamaño es proporcional al Canvas de nuestro monitor en cada caso. Moviendo dicha “lupa” nos permite “enfocar” la zona del diagrama que queramos visualizar, y el diagrama real se moverá acorde, mostrando la zona enfocada por la lupa.\\ \\ Cualquier movimiento o cambio en el diagrama real se refleja en la miniatura y viceversa.\\ \\ Mientras tenemos visible el mapa del diagrama, el zoom in/zoom out del diagrama real quedará inoperativo, para que la relación de aspecto de ambos diagramas -real y miniatura- no se vea afectada.\\ \\ Si queremos ocultar el mapa del diagrama, basta con pulsar el botón de nuevo.\\ ====Lupa==== Permite realizar búsquedas de texto libre en todos los elementos del diagrama, y también permite acotar las búsquedas sobre aquellos elementos que nos interesen en un momento dado.\\ \\ Al pulsar el botón Lupa, aparece un pequeño formulario de búsqueda en la parte superior del Canvas que consta de los siguientes elementos:\\ \\ {{ :es:lupa.png?direct&500 |}}\\ * Un campo editable donde introducir la cadena a buscar. En este campo también podemos incluir directivas para acotar la búsqueda (explicado más adelante). * Botón para limpiar la cadena de búsqueda. * Botón “Lupa” para iniciar la búsqueda.\\ **Nota**: también se puede pulsar la tecla Enter en el campo editable para iniciar la búsqueda. * Campo donde se muestra el número de elementos encontrados. En este campo también se va mostrando el elemento actual una vez que vayamos recorriendo los elementos con los botones “up” y “down”. * Botones “up” y “down”, que nos permiten recorrer, mostrar y situarnos sobre el diagrama en los elementos resultado de la búsqueda. * Botón para cerrar el formulario de búsquedas.\\ === Realizar búsquedas de texto libre === Una vez introducimos la cadena a buscar, y pulsando la tecla Enter o el botón Lupa del formulario, se buscará **en todos** los elementos del diagrama que contengan dicha cadena, en cualquiera de sus campos.\\ La búsqueda es “case insensitive” (da igual mayúsculas que minúsculas).\\ Si se han encontrado elementos que contienen la cadena, inicialmente aparecerán todos remarcados en naranja en el diagrama.\\ Para movernos entre los diferentes elementos encontrados del diagrama, podemos usar los botones “up” y “down”.\\ \\ **Nota**: Si además tenemos abierto el formulario de propiedades, iremos viendo las propiedades de cada elemento según nos desplacemos por ellos.\\ === Acotar la búsqueda por tipos de elemento === Si en lugar de buscar globalmente en todos los elementos del diagrama, queremos acotar la búsqueda restringiéndola a uno o varios tipos de elementos, podemos hacerlo usando la siguiente nomenclatura, que consiste en poner una o varias palabras clave (separadas por el carácter coma ‘,’) y a continuación el texto a buscar (separado por el carácter dos puntos “:”), tal que:\\ \\ //Clave1, clave2, clave3: texto_a_buscar//\\ \\ Por ejemplo, si queremos buscar la cadena “pdf” solo en los mensajes, escribiremos la palabra clave “message”, a continuación “:”, y seguido del texto a buscar:\\ \\ {{ :es:lupa1.png?600 |}}\\ O si queremos buscar el texto “OUTPUT” solo en mensajes y en adaptadores:\\ \\ {{ :es:lupa2.png?600 |}}\\ La lista de palabras clave para restringir búsquedas por tipo de elemento es: * adaptor * message * gate * fragment * subtestcase\\ === Acotar la búsqueda por tipo de contenido === Igualmente podemos acotar búsquedas, según queramos buscar en las propiedades de los elementos o en su mapeo. Se pueden combinar con las acotaciones anteriores.\\ Por ejemplo, si queremos buscar el texto “pdf” solo en el mapping de adaptadores y mensajes, la cadena a introducir en el campo de búsqueda será:\\ \\ {{ :es:lupa3.png?600 |}}\\ La lista de palabras clave para restringir búsquedas por tipo de contenido es: * properties, props * mapping\\ \\ ====Recargar repositorios==== Permite recargar archivos YML TXT, los cuales contienen una serie de claves que se podrán usar en los diagramas.\\ {{ :es:icono_recargar_repositorios.png?300 |}} ====Descargar imagen del diagrama==== En este caso la imagen se genera “al vuelo” tal y como es el diagrama actual, es decir se crea un preview del diagrama y se descarga a un fichero .png\\ {{ :es:icono_descargar_imagen_del_diagrama.png?300 |}} ====Validar mapeo==== Pulsando este botón se valida si un diagrama es correcto y se han proporcionado los datos obligatorios. Esto hace que el diagrama esté disponible para su ejecución en el Cliente.\\ {{ :es:icono_validar_mapeo.png?300 |}} ====Lanzar validación==== Marcando este botón comienza la ejecución del diagrama.\\ {{ :es:icono_lanzar_validacion.png?300 |}} ====Mostrar ayuda del Canvas==== Seleccionando esta última opción\\ {{ :es:icono_mostrar_ayuda_del_canvas.png?300 |}}\\ aparece un modal con 3 pestañas (Atajos, Variables Globales, Guía de colores), donde se muestra la ayuda básica del Canvas.\\ * Pestaña "Atajos de teclado". \\ Muestra todos los atajos de teclado que equivalen a acciones realizadas a través de opciones de menú o botones.\\ \\ * Pestaña "Variables globales".\\ Muestra las variables globales estándar disponibles en cualquier diagrama.\\ \\ * Pestaña "Guía de colores".\\ Hace referencia a los diferentes colores que podemos encontrar ahora en los objetos del diagrama. {{ :es:ayuda_del_canvas.png?nolink&400 |}} ===== Funcionalidades del Canvas ===== ====Movimiento del Canvas==== Cuando movemos el ratón sobre el Canvas, el cursor cambia al icono **“hand”** al pasar por encima de alguno de los objetos del Canvas.\\ El movimiento del Canvas es libre en todas direcciones. Pinchando y arrastrando, sobre cualquier lugar “vacío” del Canvas (es decir, sobre cualquier zona que no tenga un objeto) desplazaremos el Canvas en la dirección deseada.\\ El diagrama se puede mover tanto si el diagrama está bloqueado (no se puede editar, candado **“cerrado”**) como si está desbloqueado (se puede editar, candado **“abierto”**). ====Zoom in/Zoom out==== El zoom del diagrama es libre. Se hace deslizando la rueda (**“Wheel”**) del ratón. También funciona de la misma forma usando el **trackpad** de un laptop: * Rueda hacia adelante: zoom out (acercar, diagrama más grande) * Rueda hacia atrás: zoom in (alejar, diagrama más pequeño) El zoom es relativo al punto donde esté el cursor (al deslizar la rueda hacia adelante o hacia atrás, el diagrama se hará más grande o más pequeño en la dirección del punto donde esté cursor).\\ El zoom deja de ser un dato relevante a la hora de guardar o abrir diagrama: al abrir el diagrama el zoom (o mejor dicho, la escala) es siempre 1:1. Es decir, inicialmente siempre se visualiza a tamaño real. Se puede hacer zoom tanto si el diagrama está bloqueado (no se puede editar, candado “cerrado”) como si está desbloqueado (se puede editar, candado “abierto”).\\ ====Selección de objetos en el Canvas==== Seleccionando un objeto, podremos a continuación realizar otras acciones con él (p.ej. borrarlo, copiarlo, moverlo, etc.)\\ ===Selección simple=== Para seleccionar un objeto del Canvas basta hacer **click** encima del objeto (en cualquiera de sus partes, incluido el texto).\\ Para deseleccionarlo, basta con hacer click en una zona “vacía” del Canvas.\\ ===Selección múltiple=== Para seleccionar varios objetos en el Canvas, pulsaremos **shift-click** sobre los distintos objetos que queremos ir seleccionando.\\ Esto nos permite realizar acciones sobre ese grupo de objetos seleccionados (p.ej. borrarlos, moverlos, copiarlos, etc.) Para deseleccionarlos, basta con hacer click en una zona “vacía” del canvas.\\ En la selección múltiple no hay limitación en cuanto al tipo de objetos seleccionados, es decir, se pueden seleccionar a la vez todo tipo de objetos (mensajes, gates, fragments…)\\ ====Movimiento de los objetos en el Canvas==== Los objetos tienen limitados sus movimientos, dependiendo de su tipo: * Los adaptadores solo se pueden mover en horizontal. De momento, no tienen otra limitación al movimiento horizontal. * Los mensajes y gates solo se pueden mover en vertical. La única limitación al movimiento vertical es que no sobrepasen la línea de los adaptadores. * Los fragments y subtestcases se pueden mover en cualquier dirección. La única limitación al movimiento vertical es que no sobrepasen la línea de los adaptadores. Los objetos del canvas no se pueden mover mientras el diagrama esté bloqueado (modo “candado cerrado”). ===Movimiento de un objeto=== Los objetos se desplazan haciendo click y arrastrando el objeto. ===Movimiento de múltiples objetos=== Teniendo seleccionados múltiples objetos, pulsaremos “shift-click” mientras arrastramos el grupo de objetos. === Scrolling automático del Canvas mientras se arrastran objetos=== Cuando se tiene un objeto o un grupo de objetos seleccionados y se arrastran verticalmente (hacia arriba o hacia abajo), al llegar a la parte inferior del Canvas, éste realiza un scroll automático para facilitar dicho desplazamiento al usuario. De manera similar, también se hace scrolling automático si los objetos se arrastran hacia arriba. ====Menú contextual sobre los objetos del Canvas ==== Haciendo **click con el botón derecho** del ratón sobre cualquier objeto del Canvas, aparece un menú contextual dinámico, que presenta una serie de opciones dependiendo del tipo del objeto.\\ \\ {{ :es:menu_contextual.png?direct&300 |}}\\ También aparecerán unas opciones u otras dependiendo de si tenemos uno o varios objetos seleccionados (selección múltiple).\\ Algunas opciones estarán o no activas, dependiendo de si el diagrama está o no desbloqueado por el usuario (modo “Edición” o modo “Visualización”, o si resulta más gráfico, “candado abierto” o “candado cerrado”).\\ Si se hace el click con el botón derecho sobre una zona vacía del Canvas, algunas de las opciones del menú contextual se referirán a acciones sobre el diagrama propiamente dicho.\\ ===Opciones del menú contextual=== * **Show info**: Muestra los formularios de edición del objeto seleccionado (o del diagrama, si se ha pinchado en una zona vacía del mismo), cuando el diagrama está bloqueado. No se pueden editar los formularios.\\ \\ * **Open diagram in data management**: Abre el diagrama desde Data Management en una nueva ventana del navegador.\\ \\ * **Edit properties**: Muestra los formularios de edición del objeto seleccionado (o del diagrama, si se ha pinchado en una zona vacía del mismo), cuando el diagrama está desbloqueado.\\ También se pueden editar propiedades del objeto haciendo doble click en el mismo.\\ \\ * **Copy**: Copia el objeto u objetos seleccionados.\\ También se pueden copiar objetos pulsando **CTRL+C**.\\ \\ * **Paste**: Pega el objeto u objetos previamente copiados.\\ También se pueden pegar objetos pulsando **CTRL+V**.\\ \\ * **Paste Here**: Pega el objeto o grupo de objetos previamente copiados, en la posición deseada.\\ Cuando se selecciona esta opción, aparece un cursor especial, {{:es:paste_here.png?direct&30|}}, el cual permite posicionarnos en la parte deseada del Canvas, y al hacer “click” se pegarán los objetos copiados en dicha posición vertical.\\ También se puede realizar esta acción pulsando **CTRL+SHIFT+V**.\\ \\ * **Delete**: Permite borrar el elemento o elementos seleccionados.\\ \\ * **Undo**: Permite deshacer algunas acciones como por ejemplo: borrar elementos, redistribuir automáticamente los ítems del diagrama.\\ //Nota: en una futura versión se incorporará la posibilidad de hacer “Undo” tras la creación de elementos en el diagrama (mensajes, gates, combined fragments, etc) así como a las acciones “Paste” y “Paste Here”//.\\ También se puede hacer Undo en los mismos casos pulsando **CTRL+Z**.\\ \\ * **Open gate diagram**: Si el objeto seleccionado es una gate que tiene asignado un diagrama, permite abrir el diagrama de la gate en una nueva ventana del navegador.\\ \\ * **Selecta all items in fragment**: Si el objeto seleccionado es un fragment o subtestcase, permite seleccionar todos los objetos que se encuentren dentro del mismo.\\ \\ * **Select ítems range**: Si hay más de un objeto seleccionado, permite seleccionar todos los objetos comprendidos entre el primer y el último objeto seleccionado.\\ \\ ====Copiar y pegar objetos del Canvas==== ===Copiar objetos=== Seleccionando uno o varios ítems del Canvas, se pueden copiar usando la combinación de teclas **CTRL+C**, o bien usando la opción **Copy** del menú contextual. No hay restricción en el tipo o número de objetos a copiar a la vez.\\ ===Pegar objetos=== Habiendo copiado previamente uno o varios objetos, se pueden pegar usando la combinación de teclas **CTRL+V**, o bien usando la opción **Paste** del menú contextual. Normalmente el paste de los objetos se hace a continuación del o los objetos copiados.\\ ===Pegar objetos en la posición deseada “Paste Here”=== Habiendo copiado previamente uno o varios objetos, se pueden pegar en una determinada posición del diagrama, usando la combinación de teclas **CTRL+SHIFT+V**, o bien usando la opción **Paste Here** del menú contextual. Como ya vimos en el punto anterior, al seleccionar esta opción aparece un cursor especial, {{:es:paste_here.png?direct&30|}}, y así cuando pulsemos “click” los objetos copiados se pegarán en dicha posición.\\ ===Pegar objetos en otro diagrama distinto=== Se pueden pegar en un diagrama el objeto u objetos que se hayan copiado previamente desde otro diagrama. Para ello, hay que tener ambos diagramas abiertos, cada uno en una ventana distinta siempre usando el mismo navegador. El diagrama sobre el que vamos a copiar no es necesario que esté desbloqueado, pero sí, el diagrama sobre el que vayamos a pegar.\\ \\ La restricción en el pegado de objetos entre distintos diagramas, dependerá de las características del diagrama de origen y del diagrama destino.\\ //Por ejemplo: si copiamos una gate que está en el adaptador X, en el otro diagrama deberá existir también un adaptador X, de lo contrario esa gate no podrá ser copiada. O si copiamos un mensaje que va desde el adaptador A al adaptador B, en el otro diagrama deberá existir al menos un adaptador A y otro adaptador B para que el mensaje pueda ser copiado//.\\ \\ En caso de existir más de un adaptador como posible receptor de un mensaje o gate copiado, se usará siempre el más situado a la izquierda del diagrama.\\ \\ El pegado de objetos tipo fragment/subtestcase/adaptador no tienen ese tipo de restricciones.\\ \\ En el caso que no se hayan podido pegar en el diagrama destino todos los objetos que fueron copiados del diagrama origen (por el motivo que acabamos de explicar) saldrá un mensaje diciendo el número de objetos que realmente se han podido pegar.\\ \\ Si pegamos los objetos usando el pegado normal (**Paste**), los objetos copiados se pegarán al final del diagrama.\\ \\ Si pegamos los objetos usando el pegado “aquí” (**Paste Here**), los objetos copiados se pegarán en la posición elegida por el usuario.\\ \\