Hi Andy,

On Wednesday 11 March 2009 Andy Fuchs wrote:
> Now in my basic thinking I thought, changing the application type would not
> change the main layout, but since qx.application.Inline uses the Basic
> layout the strategy above doesn't work and it seems I'm to stupid to
> understand how to make it work the same (except ugly hacks). So, a good
> hint would be very appreciated.
The inline root widget has the ability to use an existing element at the page 
as container. To the limited layout capabilities you have to add an addtional 
container with a more powerful layout - just as you did in your standalone 
application.

> > Or you can setup your inline root to use the size of the given DIV
> > element by setting the "dynamicX/dynamicY" parameter to "true".
>
> Sorry - I don't get it:
>
> If I define this as my document root, everything is added centered, but the
> root doesn't resize anymore and my scrollbars are missing alltogether:
>
>     var root = new qx.ui.root.Inline(document.body, true, false).set({
>                 alignX : "center"
>              });
> root.setLayout(new qx.ui.layout.Canvas());
>
>
> Could you please give me some advise how to use the qx.ui.root.Inline
> correctly, so my scrollbars show up again? :-)
If you use "false" as third parameter then inline root widget takes the height 
of his widgets and sets this height for itself. So you won't see ever any 
vertical scrollbars because it just fits :)
Since the inline root widget is always setting "overflow:hidden" I see no easy 
way to support your usecase out-of-the-box.
I guess the only way to achieve this is to use a dedicated DIV element for 
your inline widget which itself does *not* set any width or height. 
Additionally you use an outer DIV element which can display the native 
scrollbars by letting the "overflow" do the job.

--snip--
<body>
  <div id="outer" style="...">
    <!-- use the "isle" DIV for your inline root widget -->
    <div id="isle"></div>
  </div>
</body>
--snip--

All you have to do is to dynamically position the outer DIV element by using 
low-level APIs of qooxdoo :)
Hint:

--snip--
var documentHeight = 
qx.bom.element.Dimension.getContentHeight(document.documentElement);
--snip--

cheers,
   Alex

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to