<@doc alias="layout" hierarchy="GMLDOM"> Interactor Layout Aspect (c) SAP AG 2003-2006. All rights reserved. Aspect GridViewLayout for core.lyt:Layout; inherit InteractorLayout; override virtual method paint(parentElement) this.supercall(); var controls = this.controls; for (var iter in controls) { controls[iter].setResizePolicy({moveH: true, moveV: false, resizeH: true, resizeV: false}); } end override virtual method repaint(attr) this.supercall(); if (!ISEMPTY(this.controls)) { this.contents.style.borderLeft = 'none'; this.contents.style.borderTop = 'none'; } end override virtual method layoutContents(focusWidget) // debugger; var rootCtlInfo = { object : base, // this object (interactor/group/control) x : 0, y : 0, w : this.contents.offsetWidth - 1, // -1 is for border, otherwise scrollbar appears h : this.contents.offsetHeight - 1, // -1 is for border, otherwise scrollbar appears index : -1, // object's index in its parent focus : null, // if children contain focusWidget's ctlInfo, this points to it. children : [] // ctlInfo of child objects (groups/controls) }; var controls = this.controls; for (var iter in controls) { var ctlWidget = controls[iter]; var ctl = ctlWidget.base; var pos = SPLIT(ctl.pos); // NOTE: DOM dependency var size = SPLIT(ctl.size); // NOTE: DOM dependency var ctlInfo = { object : ctl, x : INT(pos[0]||0), y : INT(pos[1]||0), w : INT(size[0]||100), h : INT(size[1]||240), index : ctl.index, // object's index in its parent. NOTE: DOM dependency focus : null, // if children contain focusWidget's ctlInfo, this points to it. children : null // ctlInfo of child objects (groups/controls) }; rootCtlInfo.children.push(ctlInfo); if (focusWidget && focusWidget.id == ctlWidget.id) rootCtlInfo.focus = ctlInfo; } var changes = []; RULE('rearrangeWidgets', base, this.board, rootCtlInfo, changes); if (changes.length > 0) { RULE('doApplyLayout', base, changes); this.repaint('contents'); } return; end