Hi Alexei,

the current layout system have some problems which will be improved  
with qooxdoo 0.8. Please take a look to our roadmap.

Until then please take a look at the BoxLayout implementations. These  
are the most complete renderer implementations currently available.  
Normally you don't need to manually inform the children. You just  
need to tell them if a change of the parent widget have effects on  
them. Please take a deeper look into updateChildOnInnerWidth/ 
HeightChange. Hope this helps.

Grretings,
Sebastian



Am 12.02.2007 um 10:05 schrieb [EMAIL PROTECTED]:

> Hello,
>
> I'm developing my custom layout (mentioned previously in this  
> list). I've been
> studing the code of qooxdoo layouts for a while, then created my  
> own. It
> works OK when children are simple widgets.
> But it fails when the child is layout (for example CanvasLayout).  
> I.e. it
> doesn't force the child layout update. What should I call in *Impl  
> to force
> child update?
>
> The main thing what I'm doing there is _apply* methods? Is there  
> any other
> method (to call or implement) which will fix that?
>
> Here is what my *Impl class looks like:
>
> qx.Proto.updateChildOnInnerWidthChange = function(vChild)
> {
>   vChild.addToLayoutChanges("location");
>
>   return true;
> }
>
> qx.Proto.layoutChild = function(vChild, vJobs) {
>       var widget = this.getWidget();
>       var width = widget.getInnerWidth();
>       if(width != this._prevWidth) {
>               widget._recomputeColumnWidth();
>               widget._recomputeColumns();
>               this._prevWidth = width;
>       }
>
>       var config = widget._config[vChild._placeId];
>       var columns = widget._columns;
>       var isLabel = vChild instanceof qx.ui.basic.Label;
>       if(isLabel) {
>               var column = columns[config.startCol + '_'];
>               vChild._applyRuntimeLeft(column.left + column.width -  
> config._labelWidth);
>               vChild._applyRuntimeTop(config.top);
>       }
>       else {
>               var startCol = columns[config.startCol];
>               var endCol = columns[config.endCol];
>
>               vChild._applyRuntimeLeft(startCol.left);
>               vChild._applyRuntimeWidth(endCol.start[config.startCol]);
>               vChild._applyRuntimeTop(config.top);
>               vChild._applyRuntimeHeight(config.height);
>       }
> }
>
>
> Thanks,
>       Alexei Golovko
>
> ---------------------------------------------------------------------- 
> ---
> Using Tomcat but need to do more? Need to support web services,  
> security?
> Get stuff done quickly with pre-integrated technology to make your  
> job easier.
> Download IBM WebSphere Application Server v.1.0.1 based on Apache  
> Geronimo
> http://sel.as-us.falkag.net/sel? 
> cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to