Modifying the AUI tree with user interface specific
built-in classes 
The                 objects of the abstract
user interface tree can be queried and modified at runtime       
         with specific built-in classes like ui.Form,
provided to manipulate                 form elements.
The next
code example gets the current window object, then gets           
     the current form in that window, and hides a group-box form element
identified by                 the name                 "
gb1":
DEFINE w ui.Window 
DEFINE f ui.Form 
LET w = ui.Window.getCurrent()
LET f = w.getForm()
CALL f.setElementHidden("gb1",1)
Using            
the user interface specific built-in classes is the recommended way
to modify the AUI             tree in your programs.
 
Using low-level APIs to modify the AUI tree
 
           In very special cases, you can also directly access
the nodes of the AUI tree by                 using DOM built-in classes
like  om.DomDocument and                     om.DomNode.
 
                            Important: As we continue
to add new features to the product we                     encounter
situations that may force us to modify the AUI Tree in order to add
                    new elements types and attributes. If you are
using the low level API's to                     directly modify the
tree, your code may be slightly impacted when we release a       
             change in the AUI Tree structure. In order to minimize
the impact of any such                     AUI tree definition changes,
we would like to suggest the following course of                 
   action with regards to use of the DOM/SAX API's: 
      
       
             
- Place all custom calls to the DOM/SAX API within centralized Library
functions                     that are accessible to all modules,
as opposed to scattering function calls                     throughout
your code base.
 
- Do not create nodes or change attributes that are not explicitly
documented as                     modifiable. For example, TopMenu or ToolBar 
                   nodes can be created and configured dynamically,
but you should not add                         FormField nodes
to existing forms, or modify yourself the                         active attribute
of fields or actions.
 
             To get the user interface nodes at runtime, the
language provides different kinds of                 API functions
or methods, according to the context. For example, to get the root
of                 the AUI tree, call the ui.Interface.getRootNode() method.
You can also get                 the current form node with ui.Form.getNode() or
search for an element by name                 with the ui.Form.findNode() method.