Screen Function Statics Expander

  

DEVELOPER

An Expander helps to reduce the visual complexity of the user interface. An Expander control has a graphic. When the graphic is clicked, the elements within the Expander are shown or hidden. The graphic used for the expander "expands" the control so its sub-controls are visible.  You can use the Expander to encapsulate these sub-controls, and show them only when required.

Expanded, Collapsed:  Two events are key to the Expander control: the Expanded event is triggered when the graphic is clicked, the Collapsed event is triggered when the graphic is clicked again. However, if there is focus or cursor in a field which is in an expanded area, then the rows cannot be contracted.

Note: When the field with focus is in the expanding area, the expander cannot contract. If the user or the application tries to contract the expanding area the kernel blocks the contraction. When this happens the following message appears in the status area: "EXPANDER CONTRACT BLOCKED BY FOCUS FIELD".

Expander specifies the consecutive screen rows that form an expanding area and also optionally specifies the position and appearance of the Expander graphic which when clicked will toggle the expanded / contracted state. However, if you associate a function key with the expander graphic, the click will action the function key.

The MFC Client run-time does not support the Expander object but when processing a function that has an Expander object, it just ignores the existence and behaves as if they were not present and only renders all visible fields.

In PROIV Open Client, the Expander object is rendered to the coordinates specified.  If the contracting/expanding of the rows alters the screen size relative to the browser window size significantly, Open Client updates the state of the browser's scroll bars such that all screen content is accessible. If resizable objects are present in a screen with an expanding area, then Open Client will, if required, resize those objects as the objects in and expanding area are contracted/expanded.

Note: When an expanding area is animated, the screen is turned into a collection of panels starting at the top expanding area. These panels slide up or down to produce the animation. Because these panels do not render outside their area it means that any objects on the screen that start inside a panel and extend below the panel are shown ‘chopped off’ during the animation. As soon as the animation is complete, the panels are removed and the screen objects return to their normal view. If you want to stop this happening, then move your screen object up or change the expanding area.

You cannot assign the Expander object type to paging cycles. Also, you cannot set the paging area inside an expanding area. However, a paging header can have an expander where it will adjust the size to accommodate the expanding rows.

The expanding areas of two or more Expander objects can be nested but cannot be identical or intersect.

Note: If you paste a non-paging cycle containing an expander object into a paging cycle, all objects including the expander are pasted. PROIV Developer only blocks pasting of those objects that breaks the structural integrity of the function (for example, pasting a cycle from a report function type into a screen function type or pasting the fragment that breaks the limit on the number of cycles permitted).

 

 


Comment on this topic

Topic ID: 500706