Consultor Eletrônico



Kbase P43914: Basic widgets can only be on page 0 or use local-change-page
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   15/10/2008
Status: Unverified

GOAL:

SmartObjects have the capability of being managed by paging within a SmartContainer.

Basic (simple) widgets and other controls do not have this capability and therefore must be placed on Page 0 of a paging container. Therefore, they will always be visible on all pages, since all items on Page 0 (including SmartObjects) remain as the background for all other pages.

For example, if a SmartBrowser is placed on Page 0 with an exit button (simple widget), they will both continue to be visible while other pages are selected by the application or SmartContainer.
This allows the user to manipulate the SmartBrowser and the button regardless of the currently-active page. Page 0 should be used to hold only those objects which must remain in view.

FACT(s) (Environment):

Progress 8.x

FIX:

If a simple object is needed on a page other than Page 0, it can first be built into a SmartObject (SmartFrame) and then that SmartObject can be placed on the desired page.

Alternatively, the basic object can be initially hidden in the
Main block of the .w and a local-change-page procedure can be
added which views the object after the default ADM processing.

For example, in the local-change-page you might use something like:
DEF VAR pageno AS INT.
RUN get-attribute IN this-procedure ('CURRENT-PAGE':U).
ASSIGN pageno = INT(RETURN-VALUe).
IF pageno = 1 THEN DO:
<basic-object-handle>:VISIBLE = TRUE.
<basic-object-handle>:SENSITIVE = TRUE.
END.
ELSE <basic-object-handle>:HIDDEN = TRUE.