Personal tools
You are here: Home Development Guía de referencia para gvSIG 1.1 Plugins Publish Extension Subsistemas GUI Diseño
Document Actions

Diseño

by Victor Acevedo last modified 2010-06-01 22:52

La extensión de publicación cuando arranca obtiene el controlador (IPublishController) del servidor seleccionado y que previamente registró en el registro de controladores (ControllersRegister). De este controlador obtiene una vista de publicación (IPublishView) que mostrará en la ventana principal. Previamente la extensión de publicación (realmente el controlador principal de extPublish MainController) ha obtenido una publicación desde la persistencia que se la pasa al controlador del servidor para que inicialice la vista con los elementos correspondientes. Cuando el usuario pulse el botón "publicar" de la ventana principal (MainWindow), el controlador principal obtendrá el modelo modificado por el usuario para invocar su método publish().

Fallo al cargar la imagen

Clases de diseño del subsistema gui

IPublishController

Interfaz que debe implementar cualquier controlador de servidor. La responsabilidades de un controlador son las de crear una vista del modelo (de Publication) y la de recibir los eventos del usuario realizados en la vista.

Operaciones

getModel():Object Obtenemos el modelo que controla y que ha sido modificado por el usuario.

setModel(model:Object) Pasamos el modelo para que lo muestre en su vista

getView():PublishView Obtenemos la vista asociada al controlador NOTA:Quizás sea mejor que devuelva un IPublishView

IPublishView

Interfaz que debe implementar cualquier vista de un modelo (publication,server, service, remoteResource). Las responsabilidades de una vista de publicación son las de mostrar al usuario un estado del modelo.

Operaciones

getModel():Object Obtenemos el modelo que muestra dicha vista.

setModel(model:Object) Pasamos el modelo para que lo muestre al usuario.

PublishView

JPanel que implementa IPublishView

PublishController

Quizás esta clase no haga falta

ControllerRegister

Registro de controladores. Cualquier plugin debe registrar aquí su controlador.

Operaciones

addController(key_controller:String, clase:Class) Registramos el controlador identificado por la cadena "key_controller"

getControllersNames():Set Obtenemos los identificadores de todos los controladores registrados

getInstance(key_controller:String, clase:Class) Obtengo una instancia del controlador especificado


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: