Wow, this can't be that difficult, so I hope this is a bug in the
Qooxdoo Window widget code.  I hate to say that, but the alternative is
bleak for me.  ;-)

I've created a Standalone application that adds a Scroll object and
Desktop object to the main application, and then I add a Window object
to the Desktop as an action menu that gets shown immediately.  Then I
add a new hidden Window object to the desktop by extending the Window
class in my own new class file.  This hidden window is shown for a
particular action button on the action menu window.

Everything works great, and the hidden window is shown through a button
listener in the action menu successfully.  The only problem is that I
want to add new Composite widgets inside the new window to segment the
window into sections, but I can't seem to get them to cover the full
width of the target Window object.  I've tried to use ".set" to set the
margin and padding properties to "0", and I've tried to use the "setter"
methods to set the margin and padding properties to 0 as well.  I've
tried to set these properties on both the Window object and the internal
"pane" child of the Window.

I also tried to use the Basic layout manager and add the Composite at
{0,0}, but this position starts from inside the margins that are getting
forced.

I also tried to set the margin and padding properties to 1 instead of 0,
but that didn't make any difference at all.

It seems that no matter what I do, I've got a consistent space around
the inside of the Window pane that prevents me from extending my new
Composite object from border to border.  When I look at the DOM
properties in Firebug, I see that my properties are clearly being set to
0, but I also see padding properties from the theme that are $
$theme_contentPaddingLeft = 10, e.g.  This is about the margin I'm
seeing, so this seems suspicious.

I wonder if the theme padding value is overriding or interfering with
the properties I'm trying to set through the Window object.  Or is this
because I should use something other than the Composite to segment the
window pane into separate sections?  Or is there yet another bit of code
to add to override the theme padding value?  Do I need to create my own
custom theme for this window object based on the existing window theme
to override these values?  Please note, whatever solution I use, I need
to be able to apply different colors to each separate section in the
Window pane, which is why I'm trying to use Composite objects.

I'm reviewing the development "source" version in Firefox 2.0 on RedHat
FC3 Linux.  In a "build" version on the server, loaded into IE6 on
WinXP, it does the same thing.

I'd appreciate any insight into what I'm doing that might be wrong, or
if this appears to be a bug in the Window object class code related to
margins/padding.  The target Window object and internal Composite
creation are shown in the code below.  You'll see I've left in the
various attempts at setting margin and padding to zero - I know they're
likely redundant...

Thanks,

  Gene



>       this.set({
>         width : 700,
>         height : 500,
>         margin : 0,
>         padding : 0,
>         allowGrowX: false,
>         allowGrowY: false,
>         allowShrinkX: false,
>         allowShrinkY: false
>       });
>       this.setMargin(0);
>       this.setPadding(0);
>       this.setShowMinimize(false);
>       this.setShowMaximize(false);
>       this.setLayout(new qx.ui.layout.Basic());
>       this.getChildControl("pane").set({
>         margin : 0,
>         padding : 0
>       });
>       this.getChildControl("pane").setMargin(0);
>       this.getChildControl("pane").setPadding(0);
>       this.getChildControl("pane").setBackgroundColor("order-pane");
>       var titlebox = new qx.ui.container.Composite(new qx.ui.layout.Basic());
>       titlebox.set({
>         width : 700,
>         height : 50,
>         backgroundColor : "ordertitle-pane"
>       });
>       
>       this.add(titlebox, {left:0, top:0});
>       screenTitle = new qx.ui.basic.Label("Orders").set({
>         appearance: "menusubtitle",
>         allowGrowX: false,
>         allowGrowY: false,
>         allowShrinkX: false,
>         allowShrinkY: false
>       });
>       titlebox.add(screenTitle, {left:5, top:5});
------------------------------------------------------------------------------
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

Reply via email to