Event (Dynamic Layout Definition)

EventIcon Description

This node can be used to include an event in the layout that should be copied to panels based on it. Some standard events (Start, Refresh, and Load) are copied automatically, but if the developer wishes to include custom events, one of these nodes must be added to the layout.

After adding this node, the event will be added to the Events part. There the developer may add all the code deemed necessary. This code will not be copied textually. Instead, a series of rename rules will be used to ensure the code’s correctness in the final panel.

Rewrite rules

These rules are executed when copying an event from the Dynamic Layout to the final panel. The rules are fixed and based on the Dynamic Layout definition.

Rule #1: Control renaming

Control names are updated to match the control names used in the final panel. When generating panels based on layouts, all control names in the layout are updated in the final form. Some control names are changed to match their component’s final name, while a variable prefix is added to others to prevent collisions.

The code is updated to reflect this change, and ensure that all references point to the correct controls in the form.

Rule #2: Variable renaming

Variable names are also changed during the final panel’s generation. The simplest case is the case of Variable (Dynamic Layout Definition) nodes: When generating a panel the variables generated by these nodes are replaced with the variables specified in the final panel’s Designer part.

If auxiliary variables are included in the layout (defined in its Variables part), those variables are copied as well. In that case, a variable prefix is added to avoid collisions.

Code is updated to reflect this change also.

Rule #3: Method names

In some specific cases the developer may reference common events present in web panels generated using Web Panel Designer. For example, the developer may specify that the grid should be returned to its first page, and call the “U_FirstPage” subroutine for the grid afterwards.

These invocations are replaced with the correct invocations when generating the panel. The final invocations will then reference the correct subroutine, the one related to the context in which the layout is used.

Properties

Category Name Value
General Type Determines the type of code block. Values are Event or Subroutine.
Name Determines the code block name.
Visibility Type Determines how the code block behaves in the panel. If set to “User”, the developer is able to customize it. If set to “Editor”, the code cannot be edited in the generated panel.
Include Only If Grid Elements Are Selectable Determines if the code block must be included always or only when the grid elements are selectable.