"Jim Hunter" <[EMAIL PROTECTED]> writes:

> After I migrated to 6.6 I lost the flex width of a label. It has been
> working all along but now with a width of "1*" or "flex" I get a label that
> has a width of 0. It is inside a HorizontalBoxLayout (tried both no width
> set which is what is used to be, and with a width of 100% but no difference)
> alongside other labels that all have static widths. This is the only label
> that 'adjusts' in size. I use this adjustment to make this label take up all
> the remaining space, at least that's how it used to work. So what changed
> between 6.5 and 6.6 in this regards?

Ok, I tracked it down (in trunk) to be Atom's appearance settings.  In the
current implementation, once something is set in an appearance, it's set in
stone, and can not be modified on a per-widget basis.  Atom's appearance had a
width:"auto" which prevented flex (and possibly other) widths from working.

I've fixed this in trunk for 0.7.  Jim, if you'd like to apply the same fix in
your older version, here's the simple patch.

Cheers,

Derrell

Index: framework/source/class/qx/theme/appearance/Classic.js
===================================================================
--- framework/source/class/qx/theme/appearance/Classic.js       (revision 6914)
+++ framework/source/class/qx/theme/appearance/Classic.js       (working copy)
@@ -96,7 +96,10 @@
         return {
           cursor                        : "default",
           spacing                       : 4,
-          width                         : "auto",
+          // Do not define width in the appearance until appearance settings
+          // can be easily overridden on a per-widget basis.  This prevented
+          // flex widths from being applied.
+          // width                         : "auto",
           height                        : "auto",
           horizontalChildrenAlign       : "center",
           verticalChildrenAlign         : "middle",
Index: framework/source/class/qx/ui/basic/Atom.js
===================================================================
--- framework/source/class/qx/ui/basic/Atom.js  (revision 6914)
+++ framework/source/class/qx/ui/basic/Atom.js  (working copy)
@@ -61,6 +61,11 @@
       this.setOrientation("horizontal");
     }
 
+    // Width should be automatically determined.  (This can't go in the
+    // appearance until such time as appearance settings can be easily
+    // overridden on a per-widget basis.)
+    this.setWidth("auto");
+
     // Prohibit selection
     this.setSelectable(false);



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to