|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.eclipse.jface.operation.ModalContext
Utility class for supporting modal operations.
The runnable passed to the run
method is executed in a
separate thread, depending on the value of the passed fork argument.
If the runnable is executed in a separate thread then the current thread
either waits until the new thread ends or, if the current thread is the
UI thread, it polls the SWT event queue and dispatches each event.
This class is not intended to be subclassed.
Constructor Summary | |
ModalContext()
|
Method Summary | |
static boolean |
canProgressMonitorBeUsed(IProgressMonitor monitor1,
IProgressMonitor monitor2)
Returns whether the first progress monitor is the same as, or a wrapper around, the second progress monitor. |
static void |
checkCanceled(IProgressMonitor monitor)
Checks with the given progress monitor and throws InterruptedException if it has been canceled. |
static int |
getModalLevel()
Returns the modal nesting level. |
static boolean |
isModalContextThread(Thread thread)
Returns whether the given thread is running a modal context. |
static void |
run(IRunnableWithProgress operation,
boolean fork,
IProgressMonitor monitor,
Display display)
Runs the given runnable in a modal context, passing it a progress monitor. |
static void |
setDebugMode(boolean debugMode)
Sets whether ModalContext is running in debug mode. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public ModalContext()
Method Detail |
public static boolean canProgressMonitorBeUsed(IProgressMonitor monitor1, IProgressMonitor monitor2)
monitor1
- the first progress monitormonitor2
- the second progress monitor
true
if the first is the same as, or
a wrapper around, the secondProgressMonitorWrapper
public static void checkCanceled(IProgressMonitor monitor) throws InterruptedException
InterruptedException
if it has been canceled.
Code in a long-running operation should call this method regularly so that a request to cancel will be honored.
Convenience for:
if (monitor.isCanceled()) throw new InterruptedException();
monitor
- the progress monitor
InterruptedException
- if cancelling the operation has been requestedIProgressMonitor.isCanceled()
public static int getModalLevel()
The modal nesting level increases by one each time the
ModalContext.run
method is called within the
dynamic scope of another call to ModalContext.run
.
0
if
this method is called outside the dynamic scope of any
invocation of ModalContext.run
public static boolean isModalContextThread(Thread thread)
true
if the given thread is running a modal context, false
if notpublic static void run(IRunnableWithProgress operation, boolean fork, IProgressMonitor monitor, Display display) throws InvocationTargetException, InterruptedException
The modal nesting level is increased by one from the perspective of the given runnable.
operation
- the runnable to runfork
- true
if the runnable should run in a separate thread,
and false
if in the same threadmonitor
- the progress monitor to use to display progress and receive
requests for cancelationdisplay
- the display to be used to read and dispatch events
InvocationTargetException
- if the run method must propagate a checked exception,
it should wrap it inside an InvocationTargetException
; runtime exceptions and errors are automatically
wrapped in an InvocationTargetException
by this method
InterruptedException
- if the operation detects a request to cancel,
using IProgressMonitor.isCanceled()
, it should exit by throwing
InterruptedException
; this method propagates the exceptionpublic static void setDebugMode(boolean debugMode)
debugMode
- true
for debug mode,
and false
for normal mode (the default)
|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |