Oracle Forms Look and Feel project

version 1.3.1

needs, at least,  the Sun Java plugin 1.4

 

 

Presentation

 

The Look and Feel project is a set of tools that allows decorating a Forms module.

All the decoration information is read from an external CSS file.

 

 

The tool is made up of a PL/SQL library (laf.pll) and a set of Java Beans and PJCs grouped in a jar file (laf.jar).

 

 

 

Because the graphical information is read from a given CSS file, it is easy to change the look and feel of the application without modifying the form modules.

 

With it, you can really externalize the look of the Forms application by separating the functional implementation to the graphical presentation.

 

 

 

Code source and Documentation

 

A complete documentation is provided to describe the syntax of each method and property.

 

This bean need at least, a 1.4JRE, so it won’t run with JInitiator

 

Get the LAF sources here:

 

LAF_131.zip (current version)

 

LAF_13.zip

 

LAF_121.zip

 

LAF_12.zip

 

LAF_11.zip

 

LAF_10.zip

 

 

Get the complete Look and Feel project documentation here:

 

DrawLAF beans properties

LAF_XP_Button PJCs properties

LAF_XP_CBox PJCs properties

LAF_XP_PopList PJCs properties

LAF_XP_RadioButton PJCs properties

LAF_XP_TList PJCs properties

The CSS file properties

 

 

 

You want to participate?

 

The participation to this project is open, so you would be allowed to participate by providing:

 

 

 

If you want to participate, send an email with your idea, suggestion, code snippets to the forms-pjc-bean mailbox (forms.pjc.bean@free.fr) and write "Look and Feel project" in the subject.

Your name will be included on the participants's list.

 

 

 

What's new in the current version?

 

Version 1.3.1 is a consolidation of the 1.3 new features.

 

The properties set to menus, window caption bars, status bar, input dialog boxes, dynamic frames and tabs can be initialized, now, from the CSS file.

In one hand, they can inherit some of their properties directly from the current selected color scheme.

In the other hand you can set the global properties for those elements. Global properties are those that are not specifically set at run time.

 

New tags have been added to the GUI section of the CSS file to store this information:

 

.GUIPropertiesOracle {

     type:gui

     scheme:silver

     enhanced-lists:true

     tlist-multi-selection:true

     tlist-sorted:false

     tlist-orientation:vertical

     poplist-settimekeyselect:8000

 

     /*

     /* menu, window caption and status bar */

     /*

     light-color-scheme:true

     menu-use-scheme:true

     window-use-scheme:true

     status-use-scheme:true

    

     /*

     /* tab properties */

     /*

     tab-use-scheme:false

     tab-selected-colors:r255g255b255,r51g102b153

     tab-colors:r0g0b204,r255g255b120    

 

     /*

     /* dialog properties */

     /*

     dialog-use-scheme:true

     dialog-font:Verdana,14

 

     /*

     /* frames properties */

     /*

     frame-use-scheme:true

     frame-font:Verdana,B,12

     frame-title-position:top,left

     frame-opaque:false

     frame-background-colors:r0g0b255

     frame-colors:r255g255b0

     frame-gradient-orientation:

     frame-round-border:true

     frame-title-colors:r0g0b255

 

     /*

     /* other GUI element properties */

     /*

      }     

 

 

It comes with another new feature that allows handling tab canvas properties at runtime.

 

 

You can set the selected, non selected tab colors and font and also put an image.

 

 


 

Version 1.3 provides two new features:

 

 

 

You can create and handle titled frames at runtime:

 

·         Creation

·         Set graphical properties

·         Resize/move

·         Show

·         Hide

·         Remove

 

The frame title can be located on the 4 sides of the frame box with left, center, and right alignment.

 

See the DrawLAF Bean properties documentation to get all the property settings.

 

Try it right now with the test_laf_frames_9i.fmb provided in the /fmb directory of the LAF-13.zip file.

 

 

 

 

Something missing in the standard Forms built-ins’ set is a very easy way to let the end-user enter a text.

That is what the Input dialog box has been introduced in this version.

 

It allows displaying a coloured single or multi-line dialog box.

You can set color, position, size and even your own icon.

 

 

In addition, a common About box has also been added to show the current LAF Bean version and also the current running JRE version

 

 


 

Version 1.2.1 does not provide any new feature. It only corrects a bug, discovered by Frans Hovenkamp on the Push Buttons.

 

 

 

As you can see on the screenshot, buttons overlap the second window opened by the Open_Form() or Call_Form( ..., NO_HIDE) built-ins (Red frame).

This is corrected in this current version (1.2.1), so Push Buttons do not overlap anything now.

 

However, the caveat still remains on enhanced lists (yellow frames) that are also Swing components.
So and at this very moment, do not use enhanced list if they are supposed to be used in a multi-window application.

 

For information, enhanced lists are standard Forms list that are enhanced with the Set_Custom_Property( ENHANCED_POPLIST ) method.

 

 


 

Version 1.2 allows modifying some particular element, like menu bar, menu option or status bar.

 

 

You can modify Font, foreground color and background color settings for the following element:

 

 

Corresponding properties can be read from the CSS file, under the gui specific type of tag section:

 

.GUIProperties1 {

     type:gui

     scheme:purple

     enhanced-lists:true

     tlist-multi-selection:true

     tlist-sorted:false

     tlist-orientation:vertical

     poplist-settimekeyselect:8000

     element1:TextField,Tahoma,B,12,r0g128b255

     element2:Button,Tahoma,B,12,r0g128b255

     element3:CheckBox,Tahoma,B,12,r0g128b255

     element4:RadioB,Tahoma,B,12,r0g128b255

     element5:Tree,Tahoma,B,12,r0g128b255

     element6:ComboBox,Tahoma,B,12,r0g128b255

     element7:Tree,Tahoma,B,12,r0g128b255

     element8:MenuBar,Tahoma,B,12,r255g128b0,r200g255b150

     element9:MenuOption,Tahoma,B,14,r0g185b90,r255g255b150

     element10:Status,Tahoma,B,12,r255g255b255,r0g185b90

     element11:Window,Verdana,BI,16,r255g255b128      

      }

 

These new tags are read from the PKG_Look_And_Feel. Set_GUI_Properties() laf.pll procedure.

It is, so, easy to change the setting of all items of the current module.


 

Version 1.1 allows playing sounds and displaying any single or multi-line messages anywhere on the screen, during the number of milliseconds given.
When this time is elapsed, the message is erased from the screen.

A pre-loaded sound can be played as soon as the message is displayed.

 

 

 

For further information, read the version.txt in the zip file.

 

 

 

Bugs


May, 17 2007

Description

 

. CheckBoxes

  When the value of a CheckBox is manually changed, the look of the Check Box does not change.

 

. '&' in button's label

  The & that was part of the button's label was shown as is.

  It is, now, replaced by the corresponding underlined letter.

 

 

Modules impacted

 

  laf.jar

     - DrawLAF.java

     - XPButton

     - LAF_XP_CBox.java

  laf.pll

 

 

May, 6 2007

Description

The DrawLAF bean crashes when used from a Forms module with system coordinate different from PIXEL

Correction

PL/SQL functions has been added to the laf.pll library:

 

The code of the PKG_Look_And_Feel.Paint_Block() has been corrected to take into account the current module's coordinate system.


Modules impacted