When-new-item trigger (form level) Note: this assumes that you have visual attributes named "required_curr", "required_field", "text_field" and "text_curr".

 

DECLARE

IT ITEM;

BEGIN

 

IF (:GLOBAL.PREVIOUS_ITEM IS NOT NULL) THEN

IF(GET_ITEM_PROPERTY(:GLOBAL.PREVIOUS_BLOCK||'.'||:GLOBAL.PREVIOUS_ITEM,

ITEM_TYPE) = 'LIST') OR

(:SYSTEM.MODE = 'ENTER-QUERY') THEN

IF (:GLOBAL.PREVIOUS_ATTRIBUTE = 'REQUIRED_CURR') THEN

SET_ITEM_PROPERTY(:GLOBAL.PREVIOUS_BLOCK||'.'||:GLOBAL.PREVIOUS_ITEM,

VISUAL_ATTRIBUTE,'REQUIRED_FIELD');

:GLOBAL.PREVIOUS_ATTRIBUTE := 'REQUIRED_FIELD';

ELSE

SET_ITEM_PROPERTY(:GLOBAL.PREVIOUS_BLOCK||'.'||:GLOBAL.PREVIOUS_ITEM,

VISUAL_ATTRIBUTE,'TEXT_FIELD');

:GLOBAL.PREVIOUS_ATTRIBUTE := 'TEXT_FIELD';

END IF;

END IF;

END IF;

:GLOBAL.PREVIOUS_ITEM := :SYSTEM.CURRENT_ITEM;

:GLOBAL.PREVIOUS_BLOCK := :SYSTEM.CURRENT_BLOCK;

HIGHLIGHT_FIELD;

END;

 

Post-text-item trigger (form level):

 

--Template Code

UNHIGHLIGHT_FIELD;

 

Highlight procedure:

 

---------------------------------------------------

-- Procedure Highlight_Field

-- Written by: Adapted from generic highlight field

-- by Andreas M. Olligschlaeger

-- Date Written: October, 1996

-- Last Modified:

-- Purpose: Highlights fields depending on their

-- text attributes.

---------------------------------------------------

 

PROCEDURE HIGHLIGHT_FIELD IS

 

IT ITEM;

 

BEGIN

---------------------------------------------------

--Template Code.

IT := FIND_ITEM(:SYSTEM.TRIGGER_ITEM);

IF (GET_ITEM_PROPERTY(IT,ITEM_TYPE) <> 'BUTTON') AND

(GET_ITEM_PROPERTY(IT,ITEM_TYPE) <> 'IMAGE') THEN

IF (GET_ITEM_PROPERTY(IT,VISUAL_ATTRIBUTE) = 'TEXT_FIELD') THEN

SET_ITEM_PROPERTY(IT,VISUAL_ATTRIBUTE,'TEXT_CURR');

:GLOBAL.PREVIOUS_ATTRIBUTE := 'TEXT_CURR';

ELSE

SET_ITEM_PROPERTY(IT,VISUAL_ATTRIBUTE,'REQUIRED_CURR');

:GLOBAL.PREVIOUS_ATTRIBUTE := 'REQUIRED_CURR';

END IF;

END IF;

 

----------------------------------------------------

END;

 

 

 

Unhighlight Procedure:

 

-----------------------------------------------------

-- Procedure Unhighlight_Field

-- Written by: Andreas M. Olligschlaeger

-- Date Written: October 1996

-- Last Modified:

-- Purpose: Unhighlights a field based on the value

-- of the text attribute of an item.

-----------------------------------------------------

 

PROCEDURE UNHIGHLIGHT_FIELD IS

BEGIN

--------------------------------------------------

--Template Code.

IF (GET_ITEM_PROPERTY(:SYSTEM.TRIGGER_ITEM,ITEM_TYPE) <> 'BUTTON') AND

(GET_ITEM_PROPERTY(:SYSTEM.TRIGGER_ITEM,ITEM_TYPE) <> 'IMAGE') AND

(GET_ITEM_PROPERTY(:SYSTEM.TRIGGER_ITEM,ITEM_TYPE) <> 'LIST') THEN

IF (:GLOBAL.PREVIOUS_ATTRIBUTE = 'TEXT_CURR') THEN

SET_ITEM_PROPERTY(:SYSTEM.TRIGGER_ITEM,VISUAL_ATTRIBUTE,'TEXT_FIELD');

ELSIF (:GLOBAL.PREVIOUS_ATTRIBUTE = 'REQUIRED_CURR') THEN

SET_ITEM_PROPERTY(:SYSTEM.TRIGGER_ITEM,VISUAL_ATTRIBUTE,'REQUIRED_FIELD');

END IF;

END IF;

-------------------------------------------------

END;

 

 

 Back to Main Page