|
 |
|
|
org.eclipse.jface.operation
Class ModalContext
java.lang.Object
org.eclipse.jface.operation.ModalContext
-
public class ModalContext
- extends
Object
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.
-
Restriction:
- This class is not intended to be subclassed by clients.
-
Restriction:
- This class is not intended to be instantiated by clients.
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
ModalContext
public ModalContext()
canProgressMonitorBeUsed
public 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.
-
-
Parameters:
-
monitor1 - the first progress monitor -
monitor2 - the second progress monitor
-
Returns:
-
true if the first is the same as, or a wrapper
around, the second -
See Also:
-
ProgressMonitorWrapper
checkCanceled
public static void checkCanceled(
IProgressMonitor monitor)
throws
InterruptedException
- Checks with the given progress monitor and throws
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();
-
-
Parameters:
-
monitor - the progress monitor
-
Throws:
-
InterruptedException
- if cancelling the operation has been requested -
See Also:
-
IProgressMonitor.isCanceled()
getModalLevel
public static int getModalLevel()
- Returns the modal nesting level.
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 .
-
-
Returns:
- the modal nesting level, or
0 if this method is
called outside the dynamic scope of any invocation of
ModalContext.run
isModalContextThread
public static boolean isModalContextThread(
Thread thread)
- Returns whether the given thread is running a modal context.
-
-
Parameters:
-
thread - The thread to be checked
-
Returns:
-
true if the given thread is running a modal
context, false if not
run
public static void run(
IRunnableWithProgress operation,
boolean fork,
IProgressMonitor monitor,
Display display)
throws
InvocationTargetException,
InterruptedException
- Runs the given runnable in a modal context, passing it a progress
monitor.
The modal nesting level is increased by one from the perspective of the
given runnable.
If the supplied operation implements IThreadListener , it
will be notified of any thread changes required to execute the operation.
Specifically, the operation will be notified of the thread that will call
its run method before it is called, and will be notified
of the change of control back to the thread calling this method when the
operation completes. These thread change notifications give the operation
an opportunity to transfer any thread-local state to the execution thread
before control is transferred to the new thread.
-
-
Parameters:
-
operation - the runnable to run -
fork - true if the runnable should run in a separate
thread, and false if in the same thread -
monitor - the progress monitor to use to display progress and receive
requests for cancelation -
display - the display to be used to read and dispatch events
-
Throws:
-
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 exception
setDebugMode
public static void setDebugMode(boolean debugMode)
- Sets whether ModalContext is running in debug mode.
-
-
Parameters:
-
debugMode - true for debug mode, and false
for normal mode (the default)
setAllowReadAndDispatch
public static void setAllowReadAndDispatch(boolean allowReadAndDispatch)
- Sets whether ModalContext may process events (by calling
Display.readAndDispatch() ) while running operations. By
default, ModalContext will process events while running operations. Use
this method to disallow event processing temporarily.
-
-
Parameters:
-
allowReadAndDispatch - true (the default) if events may be processed
while running an operation, false if
Display.readAndDispatch() should not be called from
ModalContext. -
Since:
- 3.2
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.
|
|
|