Sometimes I wish I had the ability to "move around" within Servoy's UI tree programatically. By this I mean from any element, I should be able to "get to" the element that contains it (i.e. its "parent") and access all the parent's properties and functions. Similarly, from any element that has sub-elements (such as portals and tabpanels) I should be able to access a list of its sub-elements (i.e. its children) and access their properties and functions.
Syntax would look something like this (these are just rough ideas):
element.form.name //returns the name of the form the element is on
form.tab.name // returns the name of the tab the form is displayed in
element.portal.name //returns the name of the portal the element is on
myPortal.elements //returns an array of elements on the portal
myPortal.elements.shift_time.dataprovider //returns the dataprovider
name of the shift_time element in the specified portal
I can achieve some of these things today using functions like getTabFormNameAt() and such, but I'd like to see this made a integral part of the "dot notation" we use to access elements, properties and functions, rather than depending on specific functions like getTabFormNameAt() which only return a string, and not a genuine reference to the form object.
Any thoughts on this?