APLICACIONES COMPUESTAS: DISEÑO Y GESTIÓN
Nota Los procedimientos y ejemplos que se describen a continuación sirven para Lotus Expeditor y el Editor de aplicaciones compuestas. Ambos son valiosas herramientas adicionales para los desarrolladores que crean aplicaciones compuestas y componentes en Domino Designer.
Definición de propiedades a través de un punto de extensión
Puede definir propiedades de componentes con un punto de extensión. Las propiedades y sus valores predeterminados se agregan al componente cuando este se añade a una aplicación. El cuadro de diálogo Editar propiedades de componente del Editor de aplicaciones compuestas muestra las propiedades en la ficha Valores de componente, donde los usuarios pueden definirlas.
Para utilizar un punto de extensión para definir una propiedad de componente, haga lo siguiente:
1. Cree una nueva extensión com.ibm.rcp.ca.utils.properties.
2. Haga clic con el botón derecho en la extensión y haga clic en Crear > Propiedades.
3. En el campo de ID para el nuevo elemento de propiedades, especifique un ID.
4. En el campo referenceID, especifique un ID de vista o componente (definido en la extensión com.ibm.rcp.aaf.paletteEntries). Debajo, el valor de referenceID hace referencia al ID de la vista Test View, com.ibm.rcp.test.view.
Nota Si existen dos propiedades con el mismo nombre, una asociada con un ID de vista y otra con el ID del componente, la propiedad asociada con el ID del componente es la que aparece en la ficha Valores de componente. Esto le permite tener un mayor control sobre las propiedades y los valores de cada componente. Una propiedad asociada con un ID de vista se aplica a todos los componentes que utilizan ese ID de vista (por ejemplo, a varios componentes de navegador gestionado, cada uno de los cuales necesita una propiedad URL). Una propiedad asociada con un ID de componente sólo se aplica al componente con ese ID. El hecho de asociar una propiedad con un ID de componente le permite definir la propiedad para un componente determinado, sin aplicársela a los demás componentes que pueden utilizar el mismo ID de vista.
5. En el campo typeID, especifique uno de los tipos de propiedad predefinidos:cadena, booleano, número, opción, archivo, color, nsfPicker (para bases de datos de Notes), directorio o lista (para propiedades de varios valores). También puede especificar un tipo personalizado; si desea más información, consulte "Definición de tipos de propiedades personalizados" más adelante.
6. En el campo Nombre, especifique el nombre de la propiedad localizable.
7. En el campo Valor, especifique el valor predeterminado de la propiedad, como, por ejemplo, un nombre de archivo o un color.
8. En el campo Restricciones, especifique una lista de límites de valores u opciones separados por signos de punto y coma que sean adecuados para el tipo de propiedad, como se muestra continuación:
Si define una propiedad de tipo personalizado, también puede especificar un control para permitir a los usuarios definir el valor de la propiedad. Si desea más información, consulte "Definición de tipos de propiedades personalizados," más adelante.
También puede asignar propiedades a los grupos, con objeto de que aparezcan situados junto a otras propiedades relacionadas en la ficha Valores de componente. Si desea más información, consulte "Adición de propiedades a los grupos" más adelante.
Definición de tipos de propiedades personalizados
Puede definir propiedades de los componentes con tipos personalizados, y suministrar controles de edición para las mismas en la ficha Editar propiedades de componente del Editor de aplicaciones compuestas.
El punto de extensión com.ibm.rcp.ca.utils.properties tiene un elemento “tipo” que puede utilizar para definir un tipo personalizado para una propiedad de componente. Para agregar el elemento, ejecute los pasos siguientes.
1. Haga clic con el botón derecho en la extensión y haga clic en Crear > Tipo.
2. En el elemento de tipo, especifique un ID de tipo y asigne un nombre y una referencia a la clase de Java para el tipo.
La clase de Java debe implementar com.ibm.rcp.ca.utils.componentconfig.IComponentPreferenceType. Define el control de edición que aparecerá en la ficha Editar propiedades de componente y, opcionalmente, un botón, como, por ejemplo, un botón Examinar o un selector de colores. El control de edición puede ser un compuesto que contiene varios controles.
Cuando se define una propiedad con un tipo personalizado en el punto de extensión com.ibm.rcp.ca.utils.properties, el atributo “typeId” de la propiedad debería hacer referencia al ID del tipo personalizado.
Adición de propiedades a los grupos
Puede agrupar controles de propiedades de componentes relacionados en la ficha Valores de componente del cuadro de diálogo Editar propiedades de componente.
Tiene dos opciones para agrupar las propiedades.
Adición de fichas al cuadro de diálogo Valores de componente
Para resaltar propiedades específicas de un componente de parte de vista, puede mostrarlas en una ficha que se añade al cuadro de diálogo Valores de componente del Editor de aplicaciones compuestas.
Para añadir una ficha para el componente, la parte de vista debe implementar la interfaz com.ibm.rcp.ca.utils.componentconfig.IPropertyTabsProvider.
Esta interfaz proporciona un método getTabs() (com.ibm.rcp.ca.utils.componentconfig.IPropertyTab [] getTabs), que el Editor de aplicaciones compuestas utiliza para añadir fichas al cuadro de diálogo Valores de componente. Cada ficha tiene acceso a los métodos de com.ibm.rcp.ca.utils.componentconfig.IPropertyManager y es responsable de lo siguiente:
Imagine un componente creado ampliando el componente existente Navegador gestionado e implementando la interfaz com.ibm.rcp.ca.utils.componentconfig.IPropertyTabsProvider, como se muestra en el fragmento siguiente:
public class MyBrowserView
extends PAABrowserView
implements IPropertyTabsProvider { …
El componente crea fichas nuevas implementando la interfaz com.ibm.rcp.ca.utils.componentconfig.IPropertyTab para definir la interfaz de usuario de la ficha:
public class BrowserTab implements IPropertyTab { …
public class LayoutTab implements IPropertyTab { …
Nota La ficha personalizada también puede extender com.ibm.rcp.ca.utils.componentconfig.AbstractPropertyTab, que proporciona implementaciones predeterminadas de algunos métodos.
El código también implementa el método getTabs() de MyBrowserView para devolver las fichas cuando se soliciten:
public IPropertyTab[] getTabs() {
IPropertyTab[] _tabs = new IPropertyTab[2];
_tabs[0] = new BrowserTab();
_tabs[1] = new LayoutTab();
return _tabs;
}
En el Editor de aplicaciones compuestas, la nueva ficha Navegador aparece en el cuadro de diálogo Valores de componente
Adición de controles de definición de propiedades directamente a los componentes
Para que las propiedades de sus componentes resulten incluso más obvias a los ensambladores de aplicaciones, puede suministrar controles para definir las propiedades que serán visibles en la interfaz de usuario del componente propiamente dicho, cuando el ensamblador de la aplicación esté editándola en el Editor de aplicaciones compuestas.
Para agregar esta interfaz de usuario adicional, haga lo siguiente en el código de la clase del componente:
public class MyView extends ViewPart implements IComponentConfigurator
Si desea información detallada sobre las tareas descritas, así como sobre el modo de usar el Editor de aplicaciones compuestas y Lotus Expeditor, consulte la documentación del producto que se incluye con cada herramienta. El Editor de aplicaciones compuestas se instala como una opción al instalar el cliente IBM® Lotus® Notes® Standard.
También puede hallar más detalles en la wiki del producto Lotus Expeditor (http://www-10.lotus.com/ldd/lewiki.nsf)