Hi,

it seems to me that the flush is done by qooxdoo, but the browser 
doesn't render the result done with the flush.

I tried your example with a timer and it seems to me that this is the trick:
button.addListener("execute", function(e) {

         // first hide the red colored secondLayer
         secondLayer.hide();

         qx.ui.core.queue.Manager.flush();

         qx.event.Timer.once(function(e) {
          // then count from 0 to 100000 and change the label's value in 
each step
          for (var x = 0; x < 100001; x++) {
           label.setValue("" + x);
           }

           // finally show again the red secondLayer
           secondLayer.show();
         }, this, 0);
       });

I have only tested this with IE8 and FF3.5. I hope that this also works 
with the other one.

Cheers,
Chris


Am 04.02.2010 15:18, schrieb danovics:
> Bad news.
> Because of Firebug I work only with Firefox.
> Yesterday I looked my work in other browsers like Safari (osx), Stainless
> (osx), Chrome (osx), IE6 (winxp), ie8 (winxp), firefox (winxp).
> Unfortunatelly I found out that the mentioned flush-trick only valid for
> firefox (under osx and windows too), but in other browsers the problem
> remains.
> I tried to make a playground code to show what it's about:
>
> <code>
> var doc = this.getRoot();
>
> // The button
> var button = new qx.ui.form.Button("Hide the red quadrat! And start couting
> to 100000!", "icon/22/apps/internet-web-browser.png");
> doc.add(button, {left : 10, top : 10 });
> button.addListener("execute", function(e) {
>    
>    // first hide the red colored secondLayer
>    secondLayer.hide();
>    
>    //
>    // qx.ui.core.queue.Manager.flush();
>    //
>    
>    // then count from 0 to 100000 and change the label's value in each step
>    for (var x = 0; x<  100001; x++) {
>      label.setValue("" + x);
>    }
>    
>    // finally show again the red secondLayer
>    secondLayer.show();
> });
>
> // The label
> var label = new qx.ui.basic.Label("label");
> label.set({
>    decorator: "main",
>    padding: 10
> });
> doc.add(label, {left: 10, top: 70});
>
> // The popup called secondLayer
> var secondLayer = new qx.ui.popup.Popup();
> secondLayer.set({
>    width: 200,
>    height: 200,
>    backgroundColor: "red",
>    autoHide: false
> });
> doc.add(secondLayer, {top: 70, left: 100});
>
> secondLayer.show();
> </code>
>
> One can copy-paste it to the playground, or just
> http://demo.qooxdoo.org/current/playground/#%7B%22code%22%3A%20%22var%2520doc%2520%253D%2520this.getRoot%28%29%253B%250A%250A%252F%252F%2520The%2520button%250Avar%2520button%2520%253D%2520new%2520qx.ui.form.Button%28%2522Hide%2520the%2520red%2520quadrat!%2520And%2520start%2520couting%2520to%2520100000!%2522%252C%2520%2522icon%252F22%252Fapps%252Finternet-web-browser.png%2522%29%253B%250Adoc.add%28button%252C%2520%257Bleft%2520%253A%252010%252C%2520top%2520%253A%252010%2520%257D%29%253B%250Abutton.addListener%28%2522execute%2522%252C%2520function%28e%29%2520%257B%250A%2520%2520%250A%2520%2520%252F%252F%2520first%2520hide%2520the%2520red%2520colored%2520secondLayer%250A%2520%2520secondLayer.hide%28%29%253B%250A%2520%2520qx.ui.core.queue.Widget.flush%28%29%253B%250A%2520%2520%250A%2520%2520%252F%252F%2520then%2520count%2520from%25200%2520to%2520100000%2520and%2520change%2520the%2520label%27s%2520value%2520in%2520each%2520step%250A%2520%2520for%2520%28var%2520x%2520%253D%25200%253B%2520x%2520%253C%2520100001%253B%2520x%252B%252B%29%2520%257B%250A%2520%2520%2520%2520label.setValue%28%2522%2522%2520%252B%2520x%29%253B%250A%2520%2520%257D%250A%2520%2520%250A%2520%2520%252F%252F%2520finally%2520show%2520again%2520the%2520red%2520secondLayer%250A%2520%2520secondLayer.show%28%29%253B%250A%257D%29%253B%250A%250A%252F%252F%2520The%2520label%250Avar%2520label%2520%253D%2520new%2520qx.ui.basic.Label%28%2522label%2522%29%253B%250Alabel.set%28%257B%250A%2520%2520decorator%253A%2520%2522main%2522%252C%250A%2520%2520padding%253A%252010%250A%257D%29%253B%250Adoc.add%28label%252C%2520%257Bleft%253A%252010%252C%2520top%253A%252070%257D%29%253B%250A%250A%252F%252F%2520The%2520popup%2520called%2520secondLayer%250Avar%2520secondLayer%2520%253D%2520new%2520qx.ui.popup.Popup%28%29%253B%250AsecondLayer.set%28%257B%250A%2520%2520width%253A%2520200%252C%250A%2520%2520height%253A%2520200%252C%250A%2520%2520backgroundColor%253A%2520%2522red%2522%252C%250A%2520%2520autoHide%253A%2520false%250A%257D%29%253B%250Adoc.add%28secondLayer%252C%2520%257Btop%253A%252070%252C%2520left%253A%2520100%257D%29%253B%250A%250AsecondLayer.show%28%29%253B%250A%250A%250A%250A%22%7D
> click here to see it action .
>
> In the playground's implementation of qx there isn't possibility to make
> more classes or to define members, properties...
>
> The above mentioned qx.ui.core.queue.Manager.flush(); drop an error in the
> playground.
>
> But still I think it's a good example to show the problem.
>
>
>
>    


-- 
Christian Schmidt
Software Entwickler

1&1 Internet AG - Web Technologies
Ernst-Frey-Straße 9 · DE-76135 Karlsruhe
schmidt.christ...@1und1.de

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



------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to