-
Notifications
You must be signed in to change notification settings - Fork 2
Paneles, plugins y controles
Antes de comenzar con el desarrollo de un plugin, hay que entender la estructura organizativa de los mismos, y cómo se relaciona con otros elementos: los paneles y los controles. Tomando como elemento central la figura del mapa, que es el área de trabajo y de visualización de información geográfica, veamos el siguiente diagrama:
-
Los controles son las unidades atómicas de funcionalidad que se quiere encapsular. Por ejemplo, podemos tener un control que dibuje la escala en el mapa, uno que ofrezca un TOC, o uno que vaya mostrando las coordenadas del cursor. La funcionalidad de estos controles está dividida internamente en fachada e implementación. La fachada contendrá toda la lógica independiente de la librería de mapas que se use, que se llevará al lado de la implementación.
-
Un plugin es una agrupación funcional de controles. Por ejemplo, supongamos que tenemos un control que permite modificar la geometría de una capa vectorial WFS, otro control que permite editarla alfanuméricamente, y otros controles para eliminar elementos y para grabar los cambios. Todos estos controles, aunque ofrecen funcionalidades atómicas diferentes, funcionan en grupo sobre una misma capa vectorial, por lo que se agrupan en un plugin para optimizar la gestión de la información y los elementos comunes que comparten.
Aunque un control puede no pertenecer a ningún plugin, por lo general vamos a ubicarlo siempre en uno, aunque sea el único, ya que eso nos permite definir una metodología de desarrollo común, y sienta las bases para poder extenderlo en el futuro si es necesario. Es por ello que hablamos de desarrollo de plugins, en vez de desarrollo de controles.
- Un panel es una agrupación visual de controles. Así por ejemplo, es lógico que los controles de edición WFS antes mencionados, vayan agrupados en un mismo panel. Y otro panel podría tener los controles de desplazamiento por el mapa: pan, vista anterior, vista siguiente, etc. En qué panel ubicar sus controles es algo (opcional) que puede gestionar el plugin, especialmente si va a tener un panel propio.
En la imagen siguiente se resaltan algunas de las posibles relaciones entre paneles-plugins-controles que existen en Mapea: