Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.jface.operation
Class ModalContext

java.lang.Object
  extended by 
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.

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 setAllowReadAndDispatch (boolean allowReadAndDispatch)
          Sets whether ModalContext may process events (by calling Display.readAndDispatch()) while running operations.
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

ModalContext

public ModalContext()
Method Detail

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

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire