obj.parent = p;
p.children[obj.id] = obj;
Use this macro to register efficient event listeners. The %STUDIO% framework will ensure that any event listeners registered using this macro are attached just in time, and detached when no longer needed.
Event names are unqualified and case-insensitive. Event names are resolved in the following order:
Even though it is not required, you can still qualify GMLDOM events with the $DOM prefix (e.g., $DOM.onUpdateObject) and environment events with the $ENV prefix (e.g., ~$ENV.onModelOpen). Any other %STUDIO% events must be qualified using their respective module prefix (e.g., $WIN.onWindowChange).
The builtin window events are listed below:
'+
'';
bod.pop = pop;
var ttl=doc.all['TTL'];
ttl.onmousedown = startMove;
}
if (!features) features={};
var ttl = (features.title || ''), icon=features.icon+'';
if (!icon || icon.indexOf('.') < 0) {
switch (PREF(icon)) {
case 'E': icon='error'; ttl=ttl||'#TEXT[XTIT_ERROR]'; break;
case 'W': icon='warning'; ttl=ttl||'#TEXT[XTIT_WARNING]'; break;
default: icon='info'; ttl=ttl||'#TEXT[XTIT_INFORMATION]'; break;
}
}
if (!ttl) ttl = '#TEXT[XTIT_INFORMATION]';
var A = pop.document.all;
A['ICON'].src = '#URL[~skin:images.prompt-%icon%.gif]';
A['TTL'].innerHTML = ttl;
A['MSG'].innerHTML = (msg||'');
if (!('buttons' in features)) features.buttons='#TEXT[XBUT_OK]';
for (var i=0, B=SPLIT(features.buttons||''), len=B.length; i'x y w h' (members separated by whitespace)
function(context), returning an enumeration in any of the previous forms (1-4). The ~context parameter is an object that defines the enumeration context, used for computing dynamic enumerations. Dynamic enumerations should be used sparingly, since they reevaluated each time the associated field(s) are repainted.