PACKAGE progress IS PROCEDURE msg (msg_in IN VARCHAR2); PROCEDURE bar (pct_in IN INTEGER, thermom_in IN INTEGER := 1, init_in IN VARCHAR2 := 'NOINIT', msg_in IN VARCHAR2 := NULL); PROCEDURE hide (item_prop_in IN INTEGER := PROPERTY_OFF); END progress; PACKAGE BODY progress IS thermom_char VARCHAR2(1) := 'n'; PROCEDURE msg (msg_in IN VARCHAR2) IS BEGIN SET_WINDOW_PROPERTY (handles.progress_window_id, Visible, Property_On); SET_ITEM_PROPERTY (handles.thermometer_id, DISPLAYED, PROPERTY_OFF); :b_progress.percent_done := msg_in; :b_progress.process_name := NULL; :b_progress.thermometer := NULL; SHOW_VIEW (handles.cv_progress_id); synchronize; END; PROCEDURE bar (pct_in IN INTEGER, thermom_in IN INTEGER := 1, init_in IN VARCHAR2 := 'NOINIT', msg_in IN VARCHAR2 := NULL) IS /* Create the string to be added to the thermometer. */ bar_stg VARCHAR2(80) := LPAD (thermom_char, thermom_in, thermom_char); BEGIN SET_WINDOW_PROPERTY (handles.progress_window_id, Visible, PROPERTY_ON); SET_ITEM_PROPERTY (handles.thermometer_id, DISPLAYED, PROPERTY_ON); IF msg_in IS NOT NULL THEN :b_progress.process_name := msg_in; END IF; :b_progress.percent_done := TO_CHAR (pct_in) || ' % Complete'; IF UPPER (init_in) = 'INIT' THEN :b_progress.thermometer := bar_stg; ELSE :b_progress.thermometer := :b_progress.thermometer || bar_stg; END IF; SHOW_VIEW (handles.cv_progress_id); synchronize; END; PROCEDURE hide (item_prop_in IN INTEGER := PROPERTY_OFF) IS BEGIN Hide_View (handles.cv_progress_id); SET_ITEM_PROPERTY (handles.thermometer_id, DISPLAYED, item_prop_in); SET_WINDOW_PROPERTY (handles.progress_window_id, Visible, PROPERTY_OFF); synchronize; END; END progress;