Current version: 1.7

Features

  • Display enhanced LOVs with the Look & Feel decoration

  • Display enhanced Alert Boxes with more than 3 options

  • Handle menus at runtime (add, enable, disable, show, hide, remove options)

  • Handle frames at runtime (add, move, modify, hide)

  • Play pre-loaded sounds

  • Receive external asynchronous messages

  • Draw texts anywhere on the screen

  • Display input dialogue boxes

  • JColorChooser
    All features list


Version 1.7 comes with the following changes:

 - Table-block multi-select feature.

It allows the user to select/unselect records in a table-block.

This feature does not need any additional items in the table-block. An in-memory collection is used to keep the record state for every table-block.

The records can be selected/unselected by using the mouse click or doubleclick, with or without an additional keyboard modifier like Ctrl, Alt or Shift.

This feature needs additional code in form/block triggers (see the documentation)

The Visual Attribute (and its properties) used to colourize the selected records and the keyboard modifier is read from a GUI CSS section:

.GUIPropertiesOracle {
     type:gui
     ...
     ...
     multi-select:VA_LAF_MTSELECT,Tahoma,I,10,r0g185b90,r255g255b150
     multi-select-modifier:Ctrl
 

The laf.pll has been modified, so think to get it from the zip file.

         Test the new /fmb/test_laf_multiselect.fmb sample dialog.

  See the LAF Developer guide documentation (laf.pll PL/SQL library chapter, page 18).


 - PJCs raise new messages on mouse events.

Some PJCs can, now, fire messages back to Forms on mouse events, like mouse-enter, mouse-exit and mouse-click.
These PJCs are Text Items, Buttons, Check boxes, Radio groups and List Items, and must implement the following classes:

  • oracle.forms.fd.LAF_XP_TextField
  • oracle.forms.fd.LAF_XP_TextArea
  • oracle.forms.fd.LAF_XP_Button
  • oracle.forms.fd.LAF_XP_CBox
  • oracle.forms.fd.LAF_XP_RadioButton
  • oracle.forms.fd.LAF_XP_TList
  • oracle.forms.fd.LAF_XP_PopList

The messages sent by these PJCs are trapped in the When-Custom-Item-Event attached to a  DrawLAF Bean Area:
 
 ...
   EventName  Varchar2(60) := :SYSTEM.Custom_Item_Event;
 ...
 If (EventName = 'MOUSEEVENT_MESSAGE') then
  get_parameter_attr(BeanValListHdl,'ITEM_NAME',ParamType, itemname);
  get_parameter_attr(BeanValListHdl,'MOUSE_EVENT',ParamType, param1);
  Message( 'Item-> ' || itemname ||' Event-> ' || param1 )  ;    
 End if;

 ITEM_NAME is the Item name defined in a previous ENABLE_EVENTS method:
 
  Set_Custom_Property( 'LAF_BLOCK.LAF_BEAN',1
        ,'ENABLE_EVENTS', 'blk.item,true' ) ;

 
 MOUSE_EVENT can be 'ENTER', 'EXIT' or 'CLICK'.
 
 Then, you can choose what kind of event is raised by the PJC:

   Set_Custom_Property( 'blk.item',1
     ,'SET_MOUSE_EVENTS', 'mouse-enter[,mouse-exit[,mouse-click]]' ) ;
 
 e.g.: Set_Custom_Property( 'blk.item',1
            ,'SET_MOUSE_EVENTS', 'true,true,true' ) ;

 
But, very first of all, at form launching (When-New-Form-Instance or When-Timer-Expired), you have to tell the bean that you want to detect every PJC in the module that match the desired classes:
 
 Set_Custom_Property( 'LAF_BLOCK.LAF_BEAN', 1, 'SEARCH_TEXT_ITEMS','') ;

    Test the new /fmb/test_laf_pjc_events.fmb sample dialog.

 - New HEXA colors in methods.

Colors, in the CSS or in any Java Bean/PJC method can be passed in HEXA format like :

-- Bean method --
Set_Custom_Property( 'LAF_BLOCK.LAF_BEAN', 1, 'SET_SCHEME', '#9EB5FC' ) ;
-- CSS --
line-color:#9EB5FC


See the old version new features.

Oracle Forms Look and Feel Project created by Francois Degrelle