Hello, Jose Luis
> Hi everyone.
> I am new to qooxdoo and I am loving it, mainly because I donwloaded it
> and a few minutes after I was able to make it work. And the look is
> fantastic.
>
Welcome to qooxdoo. Thanks for the compliments.
> So, after a few hours I started layouting and I was doing ok until I
> tried to add a split pane.
> I followed the code example in the demo browser and it worked fine.
> Then I tried to make set the split pane's width and height to the size
> of it's container, and to resize as the browser window resizes, but I
> am not able to make it work.
>
> Here's what I am trying to do:
>
> // content container
> var contentContainer = new qx.ui.container.Composite(new
> qx.ui.layout.Basic());
> // split
> var pane = new qx.ui.splitpane.Pane("horizontal");
> // left column
> var leftContainer = new qx.ui.container.Composite(new
> qx.ui.layout.Grow).set({
> decorator: "main"
> });
> // right column
> var rightContainer = new qx.ui.container.Composite(new
> qx.ui.layout.Grow).set({
> decorator: "main"
> });
> // agregar al split
> pane.add(leftContainer,1);
> pane.add(rightContainer,2);
> contentContainer.add(pane);
> // add to layout
> .
> .
> .
> // Snipped, but it belongs in a grid cell
> layoutManager.setRowFlex(2,1);
> mainContainer.add(contentContainer,{row:2, column:0});
>
> Now, I´ve tried:
> var pane = new qx.ui.splitpane.Pane("horizontal",1);
> var pane = new qx.ui.splitpane.Pane("horizontal",{flex: 1});
> var pane = new qx.ui.splitpane.Pane("horizontal").set({
> width: contentContainer.getWidth(),
> height: contentContainer.getHeight():
> });
> var pane = new qx.ui.splitpane.Pane("horizontal").set({
> width: "100%",
> height: "100%":
> });
> pane.setHeight("100%");
> pane.setHeight(100%);
>
> Same for the column's containers, but no success.
> The only thing that seems to work is using an integer, but I don't
> want that, I don't want it's size fixed.
> I've added a background color and a decorator the the contentContainer
> to check if it is really full size and it is.
>
> Is it possible? Any ideas?
>
>
It is absolutely possible. There are three places, which influence how
the size and position of a widget is computed:
1. The layout manager. You can configure the layout manager as you do
e.g. with "layoutManager.setRowFlex(2,1);". This usually affects all
children.
2. The widget properties: Properties like "width", "height", "minWidth",
"alignX", "margin" are interpreted by the layout manager. Note that
"height" and"width" are interpreted as preferred sizes and the layout
manager can choose to resize the widget within the range of "minWidth"
and "maxWidth".
3. Per child layout properties: Sometimes the layout manager needs
additional per child information of how to render the child. These are
the second parameter to the container's add method. For example the grid
layout always requires "row" and "columm" layout properties.
Now to your specific problem:
You have
mainContainer (grid)
+- contentContainer (basic)
+- pane
and you want pane to have the same size as contentContainer. This kind
of dynamic behaviour is almost always done by a layout manager. First of
all you cannot use a "Basic" layout because it doesn't support scaling.
You can use:
1. A canvas layout and add the pane using "contentContainer.add(pane,
{left: 0, top:0, right: 0, bottom: 0})" or even the short version
""contentContainer.add(pane, {edge: 0})"
2. A grow layout. This layout always scales all child widgets to the
parent's size
For more information about qooxdoo's layout system I highly recommend
Atamert Ölçgen's blog series <http://www.muhuk.com/tag/layout/>.
Best Fabian
--
Fabian Jakobs
JavaScript Framework Developer
1&1 Internet AG - Web Technologies
Ernst-Frey-Straße 9 · DE-76135 Karlsruhe
Telefon: +49 721 91374-6784
[email protected]
Amtsgericht Montabaur / HRB 6484
Vorstände: Henning Ahlert, Ralph Dommermuth, Matthias Ehrlich, Thomas
Gottschlich, Robert Hoffmann, Markus Huhn, Hans-Henning Kettler, Dr. Oliver
Mauss, Jan Oetjen
Aufsichtsratsvorsitzender: Michael Scheeren
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel