Kbase 15420: Basic widgets can only be on page 0 or use local-change-page
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
Basic widgets can only be on page 0 or use local-change-page
With Version 8, 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. This
behavior can be modified as described below.
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.
If a simple object is needed on a page other than Page 0, it can
first be built into a SmartObject 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.
References to other documentation:
UIB Developers Guide chapter 12, "Paging"
Progress Software Technical Support Note # 15420