Bug 51991 [Progress] Half-busy cursor API on site progress service
Currently the Team components set the half-busy cursor in views that are running a job via the IWorkbenchSiteProgressService mechanism. But we can't show this cursor on the toolbar or view title pane. It would be better if the site progress service had API for setting the cursor on the partpane. This would allow showing the half-busy cursor for the entire part.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java
/**
	 * This job incrementally updates the viewer until all pending changes have
	 * been applied. It repeatedly schedules WidgetRefreshJobs until there are no more
	 * changes to apply. This job doesn't actually do any real work -- it simply
	 * schedules updates and updates the progress bar.
	 */
	RestartableJob updateJob = new RestartableJob(TABLE_SYNCHRONIZATION, 
			new IRunnableWithProgress() {
		public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
			doUpdate(monitor);
		}
	});
	
	private ILock lock; 
		
	/**
	 * Creates a new TableContentProvider that will control the contents of the given
	 * viewer. 
	 * 
	 * @param viewer
	 * @param description user-readable string that will be included in progress monitors
	 */
	public TableContentProvider(TableViewer viewer, String description) {
		this.queues = new DeferredQueue(viewer);
		this.description = description;
		uiJob.setPriority(Job.LONG);
		uiJob.setSystem(true);
		
		lock = Platform.getJobManager().newLock();