|
Venice 0.7beta | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.mov.ui.ProgressDialogManager
public class ProgressDialogManager
This class controls progress dialog creation/deletion in venice. It controls
progress dialogs by allowing each thread in venice to have only a single
progress dialog running at anyone time. If, in a thread, a request for another
progress dialog is called, it will use the current progress dialog being displayed
for that thread. By using a proxy progress dialog class (SecondaryProgressDialog
),
we can control how much the second comer can change the current progress, without
the caller even knowing.
How to Display Progress
// Get the current thread - we'll need this to see // if the user has cancelled the dialog Thread thread = Thread.currentThread(); // Create the progress dialog, configure it and show it. ProgressDialog progress = ProgressDialogManager.getProgressDialog(); progress.setMaximum(3); progress.setProgress(0); progress.show("Performing Task"); for(int i = 0; i < 3; i++) { Task(i); // If the progress dialog is cancelled. The thread will be interrupted. // Has the user cancelled the dialog? If the user has, we should stop // what we are doing. if(thread.isInterrupted()) break; progress.increment(); } ProgressDialogManager.closeProgressDialog(progress);Master Dialogs
Sometimes when you are displaying progress you might be performing several tasks, where some of the tasks display their own progress. In this situation it might be undesirable for the contained tasks to show their progress. You can stop them by making your progress dialog a master dialog.
progress.setMaster(true);This will stop their progress being displayed. The only thing they will have control over is the note field.
On the other side, if you set a contained task to be a master, it will show its progress, even if its container task is set to be a master. This is useful for initialisation tasks that can be very slow and should always be shown to the user.
ProgressDialog
,
PrimaryProgressDialog
,
SecondaryProgressDialog
Method Summary | |
---|---|
static void |
closeProgressDialog(ProgressDialog progressDialog)
Closes and removes the progress dialog associated with the current thread. |
static ProgressDialog |
getProgressDialog()
Create a new PrimaryProgressDialog if one is not already being displayed for
the current thread. |
static ProgressDialog |
getProgressDialog(boolean isCancelButtonToBePainted)
Create a new PrimaryProgressDialog if one is not already being displayed for
the current thread. |
static boolean |
isProgressDialogUp()
Returns whether a progress dialog is currently on screen. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static ProgressDialog getProgressDialog()
PrimaryProgressDialog
if one is not already being displayed for
the current thread. If one is displayed, return a proxy to the current dialog, i.e.
a SecondaryProgressDialog
.
The secondary progress dialog may or may not have full control over the real dialog.
PrimaryProgressDialog
,
SecondaryProgressDialog
public static ProgressDialog getProgressDialog(boolean isCancelButtonToBePainted)
PrimaryProgressDialog
if one is not already being displayed for
the current thread. If one is displayed, return a proxy to the current dialog, i.e.
a SecondaryProgressDialog
.
The secondary progress dialog may or may not have full control over the real dialog.
isCancelButtonToBePainted
- true if we need to paint a cancel button
PrimaryProgressDialog
,
SecondaryProgressDialog
public static boolean isProgressDialogUp()
TRUE
if a progress dialog is being displayed.public static void closeProgressDialog(ProgressDialog progressDialog)
|
Venice 0.7beta | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |