sábado, 29 de abril de 2017

Trabajando con Otros Tipos de Canvas

Objetivos:
 Describir los diferentes tipos de Canvases y las relaciones entre sí.
 Identificar el tipo de Canvas apropiado de acuerdo al escenario.
 Crear un Efecto Overlay mediante el uso de Stacked Canvases.
 Crear una Barra de Herramientas (Toolbar).
 Crear una interfaz con pestañas.

NOTA: Usamos como ejemplo la Base de Datos: ORCL, la cual viene por defecto en cualquier versión de ORACLE.
______________________________________________________________________________________
Los Tipos de Canvases.
Además del Content Canvas, Forms Builder proporciona otros tres tipos:
 Stacked Canvas.
 Toolbar Canvas.
 Tab Canvas.
Al crear un Canvas, especifique su tipo estableciendo la propiedad Canvas Type. El tipo determina cómo se visualizara en la Ventana (Window) a la que está asignado.
______________________________________________________________________________________
Stacked Canvas.
Un Stacked Canvas se muestra encima o apilado sobre el Content Canvas asignado a una ventana. Un Stacked Canvas puede compartir una ventana con un Content Canvas y con cualquier número de Stacked Canvases adicionales. Los Stacked Canvases suelen ser más pequeños que la ventana en la que se muestran.

Tamaño de un Stacked Canvas.
Los Stacked Canvases suelen ser más pequeños que el Content Canvas en la misma ventana. Puede determinar las dimensiones del Stacked Canvases estableciendo las propiedades Width y Height. Puede determinar las dimensiones del area visible estableciendo las propiedades Viewport Width y Viewport Height.
Uso típico de un Stacked Canvas: Si un bloque de datos contiene más Items de los que pueden mostrarse en la ventana, Forms desplaza la ventana para mostrar los Items que inicialmente no estaban visibles. Esto puede hacer que Items importantes, se desplacen fuera de la vista. La alternativa es colocar Items importantes en un Content Canvas y, a continuación, ubicar los Items antes no visibles en un Stacked Canvas, así este último Canvas se convierte en la región de desplazamiento.

Usos y beneficios de los Stacked Canvases.
Con estos puede:
 Crear vistas desplazables, similares a las generadas por Oracle Designer.
 Crear un efecto overlay en una sola ventana.
 Mostrar encabezados con información constante, como nombre de la empresa.
 Crear un efecto en cascada o revelador dentro de una sola ventana.
 Visualizar información adicional.
 Mostrar información de acuerdo a ciertas condiciones.
 Visualizar ayuda contextual.
 Ocultar información.
______________________________________________________________________________________
Creación de un Stacked Canvas.
Puede crearlo mediante el:
 Editor de Diseño.
Pasos:
1. Abra el Editor de Diseño para el Content Canvas donde desea crear el Stacked Canvas.
2. Haga clic en la icono Stacked Canvas en la barra de herramientas.
3. Haga clic en el lugar (Sobre el Content Canvas) donde desea que aparezca, y arrastre el cursor del mouse para darle el tamaño apropiado.
4. Establezca las propiedades de acuerdo a sus necesidades.

 Navegador de Objetos.
Pasos:
1. Haga clic en el nodo Canvases del Navegador de objetos y luego en el icono Crear.
Un nuevo Canvas se muestra con un nombre predeterminado de CANVASXX.
2. Establezca la propiedad Canvas Type en Stacked.
3. Asegúrese de que el Stacked Canvas esté debajo del Content Canvas en el Navegador de objetos.
Nota: Puede convertir cualquier Canvas y creado en el tipo que desea.

Para que el Stacked Canvas se muestre correctamente en tiempo de ejecución, asegúrese de que su orden no tenga precedencia sobre el Content Canvas asignado a la misma ventana. El orden de precedencia de los Canvases se define por la secuencia en la que aparecen en el Navegador de Objetos.

Visualización de imágenes apiladas en el editor de diseño.
Compruebe la posición de visualización de los Stacked Canvases haciendo lo siguiente:
 Abra el Editor de Diseño para el Content Canvas en cuestión y luego seleccione Ver (View)>Stacked Views... Aparecerá el cuadro de diálogo Stacked/Tab Canvases, con una lista de todas los Stacked/Tab Canvases asignados a la misma ventana que el Content Canvas seleccionado previamente.
 Seleccione el Canvas que desea mostrar en el Editor de diseño.

Nota: [Ctrl] + clic para desmarcar un Canvas previamente seleccionado.

Las Propiedades del Stacked Canvas.
Hay varias propiedades que se pueden configurar para afectar el aspecto y el comportamiento de los Stacked Canvas:
 Raise on Entry: Controla la forma en que Forms muestra el Canvas cuando el usuario o la aplicación navega hacia un Item contenido en dicho Canvas.
 Viewport X/Y Position: Especifica el punto en el que se encuentra la esquina superior izquierda del Stacked Canvas en relación con el Content Canvas.
 Viewport Width/Height: Determina el tamaño del Stacked Canvas que se muestra en tiempo de ejecución.
 Visible: Indica si el Content Canvas es inicialmente visible.
 Window: Especifica la ventana en la que se mostrará el Canvas.
 Show Horizontal/Vertical Scroll Bar: especifica si las barras de desplazamiento se muestran con el Canvas.
______________________________________________________________________________________
El Toolbar Canvas.
Un Toolbar Canvas es un tipo especial de Canvas que puede crear para contener botones y otros elementos de GUI utilizados con frecuencia.
Tipos de la barra de herramientas:
 Barra de Herramientas Vertical (Vertical Toolbar): utilice un Vertical Toolbar para colocar herramientas en el lado izquierdo de la ventana.
 Barra de Herramientas Horizontal (Horizontal Toolbar): utilice un Vertical Toolbar para colocar herramientas y controles en la parte superior de la ventana debajo de la barra de menús de la ventana.

Usos y ventajas de los Toolbars.
Estos tipos de Canvas ofrecen las siguientes ventajas:
 Proporcionar una apariencia estándar a través de Canvases que se muestran en la misma ventana.
 Disminuye el tiempo de mantenimiento del módulo.
 Aumenta la usabilidad de las aplicaciones.
 Crear aplicaciones similares a otras utilizadas en el mismo entorno.
 Proporcionar una alternativa a las aplicaciones basadas en menús o en las teclas de función.
______________________________________________________________________________________
El MDI Toolbar.
Puede adjuntar el Toolbar a ventanas individuales, o al propio Form. Adjuntar una barra de herramientas a un Form proporciona una barra de herramientas MDI, por lo que no es necesario crear más de una barra de herramientas para una aplicación de Forms que utiliza varias ventanas. Si muestra una barra de herramientas en la ventana MDI, la misma barra de herramientas no se duplicará en las ventanas individuales del Form.

La visualización de una barra de herramientas MDI se determina mediante una combinación de propiedades de Form y el parámetro runtime useSDI que se establece como parte de otherparams:
Setting
Setting Type
Effect
Form Horizontal or Vertical Toolbar Canvas
Form Property
If useSDI=no, displays MDI toolbar at top or left of MDI window
otherparams=
useSDI=no
Runtime setting
Displays MDI window and uses MDI toolbar if set as Form property
otherparams=
useSDI=yes
Runtime setting
MDI window not displayed; Form Horizontal or Vertical Toolbar setting, if any, has no effect.
Creando un Toolbar Canvas.
Pasos:
1. Crear o modificar un Canvas:
Establezca la propiedad Canvas Type con Horizontal o Vertical Toolbar.
2. Añada funcionalidad. Para evitar problemas con la navegación no deseada, asegúrese de establecer la propiedad Mouse Navigate en No.
3. Resize: Utilice el Editor de diseño para cambiar el tamaño del Toolbar Canvas de modo que cumpla con su requerimiento.
4. Asignelo al Window o al Form: En la paleta Propiedad del Window o en el módulo Form, establezca las propiedades Horizontal/Vertical Toolbar Canvas.

Cuando mostramos barras de herramientas en el Form/Window, el window manager controla el desplazamiento del Content Canvas ya sea hacia abajo o hacia la derecha para mostrar la barra de herramientas. No es necesario dejar suficiente espacio en el Content Canvas para colocar la barra de herramientas.

Estableciendo las Propiedades del Toolbar.
Una vez creado el Toolbar Canvas, puede establecer sus propiedades así como las propiedades del Window o Form asociado:
 Propiedades del Canvas:
---Canvas Type: Barra de herramientas horizontal o vertical.
---Window: Especifica en qué ventana aparece la barra de herramientas.
---Width/Height: Tamaño del Canvas. El ancho de una barra de herramientas horizontal se establece en el ancho (Width) de la ventana. De igual modo, la altura de una barra de herramientas vertical se establece en la altura (Height) de la ventana.
 Propiedades del Window:
---Horizontal/Vertical Toolbar Canvas: Identifica la barra de herramientas horizontal/vertical que se mostrará en esta ventana.
 Propiedades del Módulo Form:
---Horizontal/Vertical Toolbar Canvas: Identifica la barra de herramientas horizontal/vertical que se mostrará en la ventana MDI (cuando el parámetro runtime useSDI está establecido en No).

______________________________________________________________________________________
El Tab Canvas.
Es un tipo especial de Canvas que le permite organizar y mostrar información relacionada en pestañas separadas. Al igual que los Stacked Canvases, los Tab Canvases se muestran sobre un Content Canvas.
¿Qué es un Tab Page?
Es un sub-objeto del Tab Canvas. Cada Canvas se compone de una o más pestañas. Una pestaña muestra un subconjunto de información, la cual esta distribuida en el conjunto de pestañas. Cada pestaña tiene una etiqueta en la que los usuarios pueden hacer clic para acceder a la información de la misma.

Cada pestaña ocupa una cantidad igual de espacio del Tab Canvas.

Usos y Ventajas.
Puede utilizarlos para:
 Crear un efecto overlay en una sola ventana.
 Mostrar grandes cantidades de información en un solo Canvas.
 Ocultar información.
 Acceder fácilmente a la información requerida haciendo clic en la pestaña en cuestión.

Creación:
Para crear un Tab Canvas funcional, debe:
 Cree un Canvas mediante el Navegador de objetos o el Editor de diseño.
 Establezca la propiedad Canvas Type en Tab Canvas.
 Defina una o más pestaña según su requerimiento.
 Coloque los Items correspondientes en las pestañas pertinentes.

Creación mediante el Navegador de Objetos.
Pasos:
1. Con el nodo Canvas seleccionado, haga clic en el icono Crear.
2. Establezca la propiedad Canvas Type en Tab. Además, establezca las demás propiedades de acuerdo a sus necesidades.
3. Expanda el nodo Canvas y a su vez seleccione el nodo Tab Pages.
4. Haga clic en el ícono Crear (Con el Nodo Tab Pages seleccionado). Esto crea una pestaña en el Navegador de objetos con un nombre predeterminado de PAGEXX.
5. Establezca las propiedades de cada pestaña según sus necesidades.
6. Cree pestañas adicionales repitiendo los pasos 4 y 5.

Creación mediante el Layout Editor.
Pasos:
1. Muestre el Content Canvas donde desea crear el nuevo Tab Canvas.
2. Haga clic en la herramienta Tab Canvas, luego arrastre el ratón sobre el area donde desea colocarlo. Por defecto se crea con dos Pestañas.
3. Establezca las propiedades de acuerdo a sus necesidades.
5. Si así lo requiere, cree pestañas adicionales siguiendo los pasos 3, 4, 5 y 6 descritos en Creación mediante el Navegador de Objetos (Mas arriba).
6. Establezca las propiedades de las pestañas según sus necesidades.
______________________________________________________________________________________
Configurando las Propiedades del Tab Canvas, sus Pestañas y sus Items.
Una vez que crea el Tab Canvas y sus Pestañas, debe establecer las propiedades necesarias para ambos objetos. Coloque los Items sus Pestañas correspondientes usando ciertas propiedades.

 Propiedades del Tab Canvas:
---Viewport X/Y Position: Especifica el punto en el que se encuentra la esquina superior izquierda del Tab Canvas en relación con el Content Canvas.
---Viewport Width/Height: Define el tamaño del Tab Canvas.
---Corner Style: Especifica la forma de las pestañas etiquetadas (Labeled Tabs) (Chamfered, Square, o Rounded).
---Tab Attachment Edge: Es donde se visualizaran las pestañas (Top, Bottom, Left, Right, Start, o End).
---Width Style: Especifica si el ancho de la pestaña varía con la longitud de la etiqueta (Label).
---Active Style: Especifica si la etiqueta (Label) se muestra en negrita cuando la pestaña está activa.
• Propiedades del Tab Page:
---Label: Especifica la etiqueta que aparece en la pestaña.
• Propiedades del Item:---Canvas: El Canvas en el que se mostrará el Item.
---Tab Page: La pestaña en la que se mostrará el Item.

Nota: Recuerde que puede visualizar el diseño de los Canvases y cambiar la ubicación de sus Items en el Editor de Diseño.
Consejo de Rendimiento: En tiempo de ejecución, el tiempo tomado en cargar e inicializar un Tab Canvas depende de todos los objetos del mismo y no sólo de los inicialmente visibles.
______________________________________________________________________________________
Ajunto el Módulo Form creado para esta práctica: Link.

Nota:
El Módulo contiene ciertos códigos no explicados en esta publicación, los mismos serán explicados en futuras publicaciones del Blog.
______________________________________________________________________________________
Fuente: Oracle Forms Developer 10g: Build Internet Applications.

sábado, 22 de abril de 2017

Las Ventanas (Windows) y los Canvas de Contenido (Content Canvases)

Objetivos:
 Describir la relación entre las Ventanas (Windows) y los Canvases.
 Crear ventanas y Canvases de Contenido (Content Canvases).
 Mostrar un módulo Forms en varias ventanas.
 Mostrar un módulo Forms  en varios Layouts.



NOTA: Usamos como ejemplo la Base de Datos: ORCL, la cual viene por defecto en cualquier versión de ORACLE.
______________________________________________________________________________________
Los Canvases y Los Windows.
Con Forms Builder puede mostrar una aplicación en varias ventanas utilizando sus objetos de visualización: Windows Canvases.

¿Qué es un Window?
Un Window es un contenedor para todos los objetos visuales que forman una aplicación Forms. Es similar a un marco de imagen vacío. El gestor de Windows proporciona los controles de una ventana que permiten que se desplace, se mueva, cambie el tamaño y se minimice. Un solo Form puede incluir varias ventanas.

¿Qué es un Canvas?
Un Canvas es una superficie dentro de un Window en el que coloca objetos visuales como Items de interfaz y gráficos. Es similar al lienzo sobre el que se pinta un cuadro. Para ver un Canvas y su contenido en tiempo de ejecución, debe mostrarlo en una ventana. Un Canvas siempre aparece en el Window al que está asignado.

Nota: Cada Item debe referirse a no más de un Canvas. Los Items aparecen en el Canvas al que están asignados, a través de su propiedad Canvas. Recuerde que si la propiedad Canvas de un Item no se especifica, dicho Item se dice que es un Null-Canvas Item  y no se mostrará en tiempo de ejecución.

¿Qué es un Viewport?
Un viewport es un atributo del Canvas. Representa la porción visible o la vista sobre él.
______________________________________________________________________________________
El Content Canvas.
Forms Builder ofrece diferentes tipos de Canvas. Un Canvas de Contenido (Content Canvas) es el Canvas Base que ocupa todo el panel de contenido de la ventana (Window) en la que se muestra. El Content Canvas es el tipo de Canvas predeterminado.

Relación entre los Windows y los Content Canvases.
Debe crear al menos un Content Canvas para cada Window en su aplicación. Cuando ejecuta un Form, solo se puede mostrar un Content Canvas en un Window a la vez, aunque se puede asignar más de un Content Canvas al mismo Window en tiempo de diseño.

En tiempo de ejecución, un Content Canvas abarca totalmente su ventana. A medida que el usuario cambia el tamaño de la ventana, Forms cambia el tamaño del Canvas automáticamente. Si la ventana es demasiado pequeña para mostrar todos los Items del Canvas, Forms desplazará automáticamente el Canvas para que el Item actual se visualice.

Nota: Puede asignar varios Content Canvases a un Window; Sin embargo, sólo se puede mostrar un Content Canvas a la vez.
______________________________________________________________________________________
La Ventana Predeterminada (Default Window).
Cuando crea un módulo Form, Forms Builder crea una ventana implícitamente. Por lo tanto, cada módulo Form nuevo tiene una ventana predefinida que se denomina WINDOW1. Puede eliminar, cambiar el nombre y/o modificar sus atributos.

Usos y Ventajas de las Ventanas.
Puede crear ventanas adicionales en las que desea mostrar su aplicación Forms. Las ventanas proporcionan la capacidad de hacer lo siguiente:
 Mostrar dos o más imágenes de contenido a la vez.
 Modularizar el contenido del Forms.
 Cambiar entre Canvas sin reemplazar el inicial.
 Aprovechar la funcionalidad del gestor de ventanas, Eje: minimizar.
______________________________________________________________________________________
Mostrando un módulo Forms en varias ventanas.
Con varias ventanas puede:
 Mostrar más de un Content Canvas al mismo tiempo.
 Cambiar entre Content Canvases sin necesidad de reemplazar el primero.
 Separar el módulo Forms en varios diseños.
 Utilizar las funciones del administrador de ventanas, como permitir al usuario cambiar el tamaño o cerrar una ventana.

Puede crear dos tipos diferentes de ventanas:
 Una ventana modal (modal window) es una ventana restringida a la que el usuario debe responder antes de mover el foco de entrada a otra ventana. Ventanas modales:
---Debe descartarse antes de que se pueda devolver el control a una ventana no-modal.
---Se activa tan pronto como se muestra.
---Requiere algún medio de salida.
 Una ventana no-modal (modeless window) es una ventana sin restricciones de la cual el usuario puede salir libremente. Ventanas no-modal:
---Es posible mostrar varias ventanas no-modal simultáneamente.
---Puede mostrarse y no estar activas.
---Son el tipo de ventana predeterminada.
______________________________________________________________________________________
Creando Ventanas.
Para crear una nueva ventana, realice los pasos siguientes:
1. Seleccione el nodo Windows en el Navegador de objetos y haga clic en Crear.
2. Aparecerá una nueva entrada de ventana con un nombre predeterminado de WINDOWXX.
3. Configure las propiedades de la ventana según sus necesidades.

Nota: Para que su nueva ventana se muestre, debe especificar su nombre en la propiedad Windows del Canvas en cuestión. Para mostrar una consola a los usuarios finales, establezca la propiedad Console Window del Form con la ventana en la que desea mostrarla. Para ocultar la consola, establezca la propiedad en <Null>.
Las Propiedades del Window.
Las propiedades de las ventanas se establecen para determinar su comportamiento y apariencia. Algunas de estas propiedades son:
1. X/Y Position: Especifica la ubicación de la ventana dentro de su contenedor.
2. Title: Es el título a mostrar; Si no se especifica, utiliza el nombre indicado en la propiedad Name.
3. Horizontal/Vertical Toolbar Canvas: Especifica la barra de herramientas del Canvas que se mostrará horizontalmente en la parte superior o verticalmente en la izquierda de la ventana.
4. Modal: Especifica si la ventana es modal, lo que obliga al usuario a descartar la ventana antes de que pueda continuar cualquier otra interacción en las demás ventanas.
5. Show Horizontal/Vertical Scroll Bar: Especifica si una barra de desplazamiento horizontal o vertical debe mostrarse en la ventana.
6. Hide on Exit: Especifica si Forms oculta la ventana automáticamente cuando el usuario navega a un Item de otra ventana.

Para obtener una descripción de otras propiedades que afectan al comportamiento de las ventanas, haga clic en la propiedad en la paleta de propiedades y presione [F1].

______________________________________________________________________________________
Sugerencias GUI.
También llamadas GUI Hints son recomendaciones del administrador de ventanas sobre la apariencia y funcionalidad de la ventana. Bajo el grupo Funcional hay algunas propiedades que permiten hacer estas recomendaciones:
 Close Allowed: Habilita el mecanismo para cerrar la ventana (Forms responde a los intentos de cerrar la ventana disparando el Trigger: WHEN-WINDOW-CLOSED).
• Move/Resize Allowed: Especifica si sera posible mover y/o cambiar el tamaño de la ventana.
• Maximize/Minimize Allowed: Especifica si el usuario puede ampliar o iconificar la ventana.
 Inherit Menu: Especifica si la ventana muestra el menú de Forms actual.
______________________________________________________________________________________
Visualización de un Módulo Forms en varios diseños.
Puede tener más de un Content Canvas en su aplicación Forms. Sin embargo, recuerde que solo uno puede mostrarse en un Windows a la vez. Para mostrar más de uno al mismo tiempo, puede asignar cada Content Canvas a una ventana diferente y así poder mostrar el módulo Form en múltiples diseños o superficies.

Creación de un Content Canvas.
Puede crearlo de forma implícita o explícita.

Forma Implícita:
Hay dos maneras de crear implícitamente un Content Canvas:
1. Layout Wizard: Cuando utiliza el Asistente de diseño para organizar Items en un Canvas, el asistente le permite seleccionar en que Canvas desea colocar los Items. Asimismo puede optar por crear un nuevo Canvas cuyo nombre tendría el siguiente patron:  CANVASXX.
2. Layout Editor: Cuando no existen Canvases en un módulo y se invoca el Editor de diseño; Forms Builder crea un Canvas predeterminado en el que puede colocar Items.

Forma Explícita:
Puede crear un nuevo Content Canvas de forma explícita mediante el icono Crear en el Navegador de objetos.
Realice los pasos siguientes:
1. Haga clic en el nodo Canvas del Navegador de objetos.
2. Haga clic en el icono Crear.
3. Se muestra un nuevo Canvas con un nombre predeterminado de CANVASXX.
4. Establezca las propiedades según sus necesidades.

Nota: Si hace doble clic en el icono de un Canvas en el Navegador de objetos, invocará el Editor de diseño en lugar de la Paleta de propiedades.
______________________________________________________________________________________
Las Propiedades de los Content Canvases.
Puede establecer propiedades que determinan cómo se mostrará el Canvas. Para que se muestre un Canvas en tiempo de ejecución, debe especificar su propiedad Window.

En el grupo General, puede elegir el Tipo de Canvas. Esta entrega cubre el tipo Content Canvas; Otros tipos de Canvases se presentan en futuras publicaciones.

En el grupo Funcional, puede establecer Raise on Entry para especificar si el Canvas se muestra al frente de la ventana (Por encima de los demás Canvases) cuando el usuario navega hacia un Item contenido en dicho Canvas. Utilice esta propiedad cuando el Canvas comparte la misma ventana con otros Canvases.

Nota: Forms siempre asegura que el Item actual sea visible. Incluso si Raise on Entry está establecido en No, Forms traerá el Canvas al frente de la ventana si el usuario navega a un Item que se oculta detrás de otros Canvases.

Sugerencia de Rendimiento: Para reducir el tiempo requerido en mostrar la pantalla inicial, mantenga el número de Items inicialmente visualizados en un mínimo. Puede ocultar Items, como Canvases, que no sean necesarios en lo inmediato. Para ello, establezca la propiedad Raise on Entry en y Visible en No.
______________________________________________________________________________________
Ajunto el Módulo Form creado para esta práctica: Link.

Nota: Se crearon algunos Triggers tipo: WHEN-BUTTON-PRESSED y un WHEN-NEW-FORM-INSTANCE que muestran ventanas y sus contenidos.
______________________________________________________________________________________
Fuente: Oracle Forms Developer 10g: Build Internet Applications.

lunes, 10 de abril de 2017

Items de no Entrada (Noninput Items)

Objetivos:
 Identificar los tipos de Items que no permiten entrada de datos.
 Crear Items de Visualización (Display Items).
 Crear Items de Imagen (Image Items).
 Crear Botones.
 Crear Items Calculados (Calculated Items).
• Crear Items de Árbol Jerárquico (Hierarchical Tree Item).
 Crear un Bean Area Item.

NOTA: Usamos como ejemplo la Base de Datos: ORCL, la cual viene por defecto en cualquier versión de ORACLE.
______________________________________________________________________________________
¿Qué son los Items de No Entrada?
Algunos tipos de items de Oracle Forms Developer no aceptan entradas por parte del usuario (Noninput Items); Sin embargo, proporcionan un medio eficaz de acceder a los datos y así poder iniciar acciones. A continuación mostramos cómo crear este tipo de Items.

Los Noninput Items.
Noninput Item es un término genérico para referirse a los tipos de Items que no aceptan la entrada directa del usuario. Sin embargo, puede establecer el valor de algunos de estos mediante programación. Se pueden dividir en dos grupos:

Noninput Items que pueden mostrar datos.
• Display Items.
• Image Items.
• Calculated Items.
• Hierarchical tree items.

Noninput Items que no pueden mostrar datos. 
 Botones.

El Bean Area Item puede caer en cualquiera de estas categorías, dependiendo de la funcionalidad del JavaBean implementado.

______________________________________________________________________________________
Usando Noninput Items.
Utilícelos para mejorar su aplicación mostrando datos adicionales (a menudo de una tabla que no sea de base).

______________________________________________________________________________________
Display Items.
Es similar a un Text Item, excepto que no se puede editar, escribir ni navegar sobre él en tiempo de ejecución. Un Display Item es un cuadro de texto de sólo lectura cuyo valor debe buscarse o asignarse mediante programación.

Los Display Items:
 Muestran información adicional.
 Muestran valores de datos derivados.

Creando un Display Item.
Se puede crear un Display Item utilizando:
 El Editor de Diseño (Layout Editor).
 El icono Creardel Navegador de Objetos (se crea un Text Item y luego debe cambiar la propiedad Item Type a Display Item).
 La propiedad Item Type para convertir un Item existente en un Display Item.

Sea cual sea el método que elija, puede establecer las propiedades requeridas  del Item en la Paleta de Propiedades. Establezca la propiedad Database Item end No para un Display Item cuyo valor no se almacena en la tabla base. Puede asignar una máscara de formato a un Display Item de fila única estableciendo su propiedad Format Mask.

______________________________________________________________________________________
Image Items.
Puede utilizar imágenes como objetos gráficos dentro de un módulo de Forms. Una imagen gráfica se muestra automáticamente y no se puede manipular en tiempo de ejecución. Se puede importar desde la base de datos o desde el sistema de archivos.

¿Qué es un Image Item?
Un Image Item es un control de interfaz especial que puede almacenar y mostrar imágenes vectoriales o escaneadas. Al igual que los Text Items almacenan y muestran valores de VARCHAR2, NUMBER DATE, los Image Items almacenan y muestran imágenes.

Al igual que otros Items, los Image Items pueden pertenecer a bloque de datos como bloques de control.

Mostrando Image Items.
Puede rellenar un Image Item mediante uno de los métodos siguientes:
 Leyendo desde una columna de base de datos LONG RAW o BLOB.
 Utilizando un Trigger para rellenarlo mediante programación.

Almacenando Imágenes.
Puede almacenar imágenes en la base de datos o en el sistema de archivos.
Cuando inserta imágenes en la base de datos mediante una función de almacenamiento (commit), se comprimen automáticamente mediante la compresión de imágenes de Oracle.
Donde se Almacena la Imagen
Descripción
Base de Datos
Las Columnas LONG RAW comprimen images que puede ser de hasta dos gigabytes, las BLOB puede comprimir hasta cuatro gigabytes.
Archivo
Cualquier formato de archivo compatible.
Nota: Para conservar memoria del servidor de aplicaciones al mostrar items de imagen grandes, reduzca el número de registros que se almacenan en el búfer manipulando la propiedad Number of Records Buffered.

Nota Técnica.
También puede rellenar un Image Item con un BFILE, pero necesitará utilizar DBMS_LOB para hacerlo.

Formatos de Archivo de Imagen.
Forms Builder admite los siguientes formatos de imagen:
Sufijo
Descripción
Image Items
BMP
MS Windows and OS/2 BitMap Picture
Read/Write
CALS
CALS type raster
Read/Write
GIF
CompuServe
Read/Write
JFIF
JPEG File Interchange Format
Read/Write
TIFF
Tag Image File Format
Read/Write
JPEG
Joint Photographic Experts Group
Read/Write
PICT
Macintosh Quickdraw Picture
Read/Write
RAS
Sun Raster
Read/Write
TPIC
Truevision Raster Graphics Array Picture
Read/Write
Para reducir el tráfico de red, limite el número de Image Items e imágenes de fondo que se deben descargar desde el servidor de aplicaciones. Puede implementarlos como archivos JAR para reducir el tráfico de red o puede descargarlos de una manera alternativa.

Por ejemplo, para mostrar un logotipo de empresa en su aplicación, puede incluir la imagen en la página HTML que se descarga al inicio de la aplicación en lugar de recuperar la imagen de la base de datos o del sistema de archivos. La página HTML se puede almacenar en caché.

Creando un Image Item.
Una imagen se puede crear de tres maneras:
 Mediante el uso de la herramienta Image Itemen el Editor de Diseño.
 El icono Creardel Navegador de Objetos (se crea un Text Item y luego debe cambiar la propiedad Item Type a Image).
 La propiedad Item Type para convertir un Item existente en un Image.

Nota: Recuerde establecer la propiedad Database Item en No para un Image Item cuyo valor no se almacena en la tabla base.

Algunas Propiedades de los Image Items.
Establezca las siguientes propiedades para afectar la apariencia y el comportamiento del Image Item:
 Image Format: Formato en el que la imagen se almacenará en la base de datos.
 Image Depth: Ajuste de profundidad para la imagen que está siendo leída desde, o está siendo escrita en el sistema de archivos (Original, Monochrome, Gray, LUT o RGB).
 Compression Quality: Grado de compresión para un Image Item que se lee desde, o se escribe en un archivo (None, Minimum, Low, Medium, High, or Maximum).
 Display Quality: Resolución utilizada para mostrar el Image Item; Controla el balance entre calidad y rendimiento (High, Medium, or Low).
 Sizing Style: Determina la cantidad de imagen que se muestra cuando el tamaño de la imagen no coincide con el tamaño del Item(Crop- corta los bordes de la imagen para que encaje en el área de visualización del Item; Adjust - Nivela la imagen de modo que quede dentro del área de visualización del Item).
• Show Horizontal/Vertical Scroll Bar: muestra barras de desplazamiento para activar el desplazamiento de la imagen que no encaje en el área de visualización del Item.

Nota: Los Image Items no tienen la propiedad Tipo de Dato (Data Type). Si establece la propiedad Database Item en Sí, Forms Builder entiende que el tipo de datos es LONG RAW.

______________________________________________________________________________________
Los Botones.
Un Botón es un objeto de interfaz al que se hace clic para iniciar una acción. Un botón se muestra normalmente como un rectángulo con una etiqueta descriptiva en su interior. Los botones no pueden almacenar ni mostrar valores.

Puede reforzar su módulo Forms agregando botones para proporcionar acceso rápido y directo a las operaciones más necesarias.

Los Botones y sus Estilos.
Forms Builder admite dos estilos de botones:
• Text Button: Se muestra con una Etiqueta/Label de texto sobre el botón.
• Iconic Button: Se muestra con un gráfico bitmapped en el botón, a menudo se utiliza en las barras de herramientas.

Los Botones y sus Acciones.
Algunas acciones comunes regularmente invocadas por un Botón:
• Mover el foco de entrada.
• Mostrar un LOV.
• Mostrar un editor.
• Mostrar otra ventana.
• Realizar validaciones preliminares.• Guardar datos.
• Emitir una consulta.
• Realizar cálculos.

Nota: En algunos gestores de ventanas (window managers), los botones no aceptan el enfoque de entrada (Input Focus). En estas plataformas, la propiedad Keyboard Navigable no tiene efecto y los usuarios sólo pueden interactuar con los Items utilizando el mouse; Osea, al hacer clic en un botón no se mueve el Focus, sino que este último permanece donde estaba activo antes de que el usuario pulsara el botón.

Creando un Botón.
Se puede crear un Botón mediante:
• La herramienta Botón en el Editor de Diseño.
 El icono Creardel Navegador de Objetos (se crea un Text Item y luego debe cambiar la propiedad Item Type a Push Button).

Notas:
 Puede utilizar el ratón para cambiar el tamaño y mover el botón una vez que lo ha creado.
 Los archivos Image Icon para botones icónicos deben estar en formato GIF o JPEG.

Algunas Propiedades de los Push Buttons.
• Label: Etiqueta de texto que aparece en el botón en tiempo de ejecución.
• Iconic: Especifica si el botón se muestra como un icono en lugar de como una etiqueta.
• Icon Filename: Nombre del archivo que contiene el icono (sólo el nombre de archivo sin la extensión, como "lista", no "lista.gif").
• Default Button: Especifica si el botón debe ser el predeterminado del bloque, que puede seleccionarse implícitamente pulsando [Tab] sin necesidad de navegar ni utilizar el ratón.
• Mouse Navigate: Especifica si Forms navega al Item cuando hace clic con el ratón.
• Tooltip: Texto de ayuda que aparece debajo del botón cuando el ratón se mueve sobre él.
• Tooltip Visual Attribute Group: atributo visual usado para el Tooltip.

Nota: El Default Button puede estar bordeado o resaltado de una manera única para distinguirlo de otros botones pulsadores.

______________________________________________________________________________________
Los Items Calculados.
Con un Item calculado puede de forma declarativa basar valores de ítems en cálculos que implican uno o más valores de variables. Por ejemplo, puede utilizar un Item calculado para mostrar el total acumulado de la compensación total de los empleados.

Cualquier Item capaz de almacenar un valor puede utilizarse como un Item calculado, para ello solo tiene que establecer ciertas propiedades.

Modos de Cálculo.
Los cálculos se pueden expresar como una fórmula o como un resumen de todos los Items de un bloque. Forms Builder admite los siguientes modos de cálculo:
• Fórmula: El valor del Item calculado es el resultado de un cálculo horizontal que implica una o más variables de enlace, como Items del Form, variables globales y parámetros.
• Resumen (Summary): El valor del Item calculado es un cálculo vertical que implica los valores de un único Item sobre todas las filas dentro de un solo bloque.

Nota: Un Item calculado es de sólo lectura. Los usuarios finales no pueden insertar o modificar Items calculados. Por lo tanto, debe utilizar Display Items como Items calculados.

Propiedades del Item Calculado.
A diferencia de los otros Items cubiertos hasta ahora en esta publicación, no existe el valor Calculated Item para la propiedad Item Type. Luego de establecer algunas propiedades de cálculo específicas en un Item, este se convierte en un Item Calculado. Los Text Items y Display Items pueden operar como Items Calculados.

Propiedades:
 Calculation Mode: El método de computo (None, Formula o Summary).
 Fórmula: Expresión PL/SQL que determina el valor calculado (Cuando Calculation Mode es Formula); Puede calcular un valor o llamar un subprograma.
 Summary Function: El tipo de función resumen (Cuando Calculation Mode es Summary).
 Summarized Block: El bloque sobre el cual se resumirán todas las filas y así asignar el valor al ítem calculado; Si no se especifica, se asume el bloque actual.
 Summarized Item: Item cuyo valor se resume para asignar el valor al Item calculado; Requerido si el modo de cálculo es Summary.

Summary Functions.
Puede utilizar las funciones de agregación SQL para Items de resumen:
 AVG: El valor medio (media aritmética) del ítem sumarizado sobre todos los registros del bloque.
 COUNT: Cantidad de todas las instancias no nulas del Item resumido sobre todos los registros del bloque
 MAX/MIN: Valor máximo/mínimo del Item resumido sobre todos los registros del bloque.
 STDDEV: La desviación estándar de los valores del Item resumido sobre todos los registros del bloque.
 SUM: Suma de todos los valores del Item resumido sobre todos los registros del bloque.
 VARIANCE: La varianza (cuadrado de la desviación estándar) de los valores del Item resumido sobre todos los registros del bloque.

Calculated Item basado en una Fórmula.
Para crear un Item calculado basado en una fórmula, realice los pasos siguientes:
1. Cree un nuevo Item.
2. Abra sus propiedades.
3. Establezca la propiedad Calculation Mode a Formula.
4. Haga clic en Más para la propiedad Formula e ingrese la expresión PL/SQL que la define.
Nota: El Item fórmula no puede ser un Item de base de datos porque su valor es calculado por Forms, no consultados desde una columna de base de datos.

Reglas para Fórmulas de Items Calculados.
Al escribir fórmulas para Items Calculados, observe las siguientes reglas:
• La fórmula (y cualquier subprograma definido por el usuario que sea usado) no debe invocar ningún built-in que sea restringido.
• La fórmula (y cualquier subprograma definido por el usuario que sea usado) no puede ejecutar ninguna sentencia DML.
• No termine la expresión de PL/SQL con un punto y coma (;).
• Si la expresión PL/SQL implica una asignación, no introduzca una sentencia completa de PL/SQL. Forms Builder establece el código de asignación internamente.

Ejemplo:
Suponga que tiene un Item fórmula denominado Gross_Comp en el bloque EMPLOYEES de un Forms. Si establece la propiedad Formula en:
NVL(:employees.salary, 0) * NVL(:employees.commission_pct, 0)
Forms Builder convertirá internamente esta expresión a una sentencia completa:
:Employees.gross_comp := (NVL(:employees.salary, 0)*NVL(:employees.commission_pct, 0));

Item Calculado basado en Summary.
Para crear un Item Calculado basado en un resumen, realice los pasos siguientes:
1. Cree un nuevo Item.
2. Abra sus propiedades.
3. Establezca la propiedad Calculation Mode a Summary.
4. Seleccione la función deseada de la lista Summary Function.
5. En la lista Summarized Block, seleccione el bloque sobre el cual se resumirán todas las filas.
6. En la lista Summarized Item, seleccione un Item que será resumido.
Notas:
Un Summary Item es el Item Calculado al que se asigna el valor.
Un Summarized Item es el Item cuyos valores se resumen y luego se asignan al Summary Item.

Reglas para Summary Items.
Al crear Summary Items basados ​​en un resumen, observe las siguientes reglas:
• El Summary Item debe residir en el mismo bloque que el Summarized Item o en un bloque de control cuya propiedad de registro único esté establecida en Yes.
• El Summary Item debe residir en un bloque de control o en un bloque de datos cuya propiedad Query All Records o la propiedad Precompute Summaries está establecida en Yes. Nota: Esto garantiza que los registros mostrados (fetched) en el bloque y el valor resumido sean consistentes. De lo contrario, otro usuario puede posiblemente actualizar un registro que no se ha obtenido (fetched) todavía.
• El Summary Item debe tener la propiedad Data Type establecida en NUMBER, a menos que la función de resumen sea MAX o MIN. En este caso, el tipo de datos debe reflejar el de su Summarized Item asociado. Por ejemplo, un Summary Item que muestra la fecha más reciente (máxima) en la columna HIRE_DATE debe tener un tipo de datos DATE.
• Si los valores de los Summarized Items se basan en una fórmula, el Summarized Item debe residir en un bloque cuya propiedad Query All Records esté establecida en Yes.

______________________________________________________________________________________
Item de Árbol Jerárquico.
Un árbol jerárquico es un Item que muestra datos en forma de un navegador estándar.

Creación.
• En el Editor de Diseño:
---Haga clic en el icono Árbol jerárquico.
---Haga clic y arrastre el ratón sobre el Canvas para crear el objeto de árbol jerárquico.
---Establezca las propiedades relacionadas con el árbol jerárquico según sea necesario.
• En el Navegador de Objetos:
---Cree un nuevo Item con icono Crear.
---Establezca la propiedad Item Type en Hierarchical Tree.
---Establezca las propiedades relacionadas con el árbol jerárquico según sea necesario.

Propiedades del Item Árbol jerárquico.
Las propiedades del árbol jerárquico incluyen las siguientes:
• Item Type: debe establecerse en Hierarchical Tree.
• Allow Empty Branches: Especifica si pueden existir nodos rama sin hijos (si se establece en FALSE, los nodos rama sin hijos se convertirán en nodos hoja, si se establece en TRUE, se mostrará una rama vacía como nodo colapsado).
• Multi Selection: Especifica si se pueden seleccionar múltiples nodos al mismo tiempo.
• Show Lines: Especifica si un árbol jerárquico muestra líneas que conducen a cada nodo.
• Show Symbols: Especifica si un árbol jerárquico debe mostrar símbolos + o - delante de cada nodo de rama.
• Record Group: Nombre del Record Group del cual el árbol jerárquico obtiene sus valores.
• Data Query: Especifica la fuente de datos de la consulta.
Existen varios built-ins disponibles para manipular árboles jerárquicos. Éstos serán analizados en futuras publicaciones.

Nota: Un árbol jerárquico debe ser el único Item en el bloque de datos.

______________________________________________________________________________________
Bean Area Items.
Un JavaBean es un componente escrito en Java que puede conectarse a cualquier applet o aplicación Java. El Bean Area Item le permite ampliar la funcionalidad de Forms añadiendo un JavaBean a su formulario.

Con JavaBeans, puede interactuar con la máquina cliente, realizando funciones como:
• Obtención de información sobre la máquina cliente.
• Cargar archivos del cliente en la máquina del servidor.
• Modificación de la interfaz de usuario en el cliente.
• Comprobación de la ortografía de un Text Item.
• Visualización de una barra de progreso, reloj, calendario o selector de color con el que el operador puede interactuar y seleccionar valores.

Parte de esta funcionalidad, como el calendario, es posible mediante la funcionalidad nativa de Forms. Sin embargo, el uso de un JavaBean permite la interacción del cliente sin generar tráfico de red.

Aunque JavaBeans puede utilizarse para introducir datos, como en el caso del JavaBean de calendario, el Bean Area Item no acepta la entrada del usuario.

Creación de un Bean Area.
Puede crear un Bean Area utilizando su herramienta correspondienteen el Editor de Diseño. Haga clic en la herramienta y arrastre un área del Canvas. Al principio, el área se verá como un rectángulo vacío.  También puede crearlo a partir de cualquier Item existente, esto cambiando la propiedad Item Type a Bean Area.

Propiedades del Bean Area.
La propiedad más importante de Bean Area es la clase de implementación (Implementation Class). Esta propiedad se utiliza para especificar el nombre completo de la clase Java que el Bean Area Item debe instanciar.

Si JavaBean tiene un componente visible, Forms Builder muestra el JavaBean dentro del Bean Area Item en el Editor de Diseño una vez establecida la propiedad Implementation Class. Puede definir el tamaño y la posición del Bean Area visualmente en el Editor de Diseño o cambiando las propiedades X/Y Position, Ancho (Width), y Altura (Height).

Algunos JavaBeans no tienen ningún componente visible. Es por ello que para que estorbe, puede establecer las propiedades para que el bean se muestre como un pequeño punto en la esquina del Canvas. De forma alternativa, puede establecer su propiedad Visible en No, lo que garantiza que el Bean Area no se muestre en tiempo de ejecución, aunque todavía aparezca en el Editor de Diseño.

Nota: con JavaBean mejorado, no es necesario establecer la Implementation Class en tiempo de diseño. En su lugar, puede asignarlo mediante programación en tiempo de ejecución.

El JavaBean en Tiempo de Ejecución.
En tiempo de ejecución, el usuario puede interactuar con el JavaBean para realizar la funcionalidad que ha definido mediante programación.
______________________________________________________________________________________
Ajunto el Módulo Form creado para esta práctica: Link.
______________________________________________________________________________________
Fuente: Oracle Forms Developer 10g: Build Internet Applications.