AIR Application enabled=false not processed (Busyindicator)

426 views Asked by At

In my AIR application (with mate-Framework) i did follwing things:

  1. click on a button
  2. call a method in my model "onApplicationBusy"
  3. apply some filter in arraycollections.

In my onApplicationBusy there is this code:

FlexGlobals.topLevelApplication.enabled = false;
FlexGlobals.topLevelApplication.

I trace every step and all methods are called in right order. But my application never becomes disabled.

Why. Is there a method for this purpose.

I try InvalidateDisplayList or ValidateNow or callLater. But all tries won't work. Probably i try it on the wrong place?

I assume, my application is so busy while applying filters (4 values for 10.000 lines) that the disabled property can't processed.

If i call the method without applying the filters all works fine. If i call just the disbaled property but never enable the app again, the app will shown as disabled after applying the filters. for me too late.

What i origin want is a clear behavior, when the app is busy and when not (ready for clicking on buttons and all this stuff).

If you can help me or know a method, how can i shown a busy application, please help me Thanks Frank

2

There are 2 answers

0
Frank On BEST ANSWER

All right, the setTimeout Method solve my issue. I assume, I have to wait for the next screen refresh.

Why callLater won't work and when i have to implement those functions, because i have too less ressources while my filterFunction is running?

Frank

0
sam edwards On

I'm using FlexGlobals.topLevelApplication.stage.mouseChildren = false | true;

Worth noting that I first tried setting the mouseEnabled flag but found various visual elements would not update at all while mouseEnabled = false.