类org.eclipse.ui.progress.IWorkbenchSiteProgressService源码实例Demo

下面列出了怎么用org.eclipse.ui.progress.IWorkbenchSiteProgressService的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: eclipse-cs   文件: AbstractStatsView.java
/**
 * Causes the view to re-sync its contents with the workspace. Note that changes will be scheduled
 * in a background job, and may not take effect immediately.
 */
protected final void refresh() {

  @SuppressWarnings("cast")
  final IWorkbenchSiteProgressService service = (IWorkbenchSiteProgressService) getSite()
          .getAdapter(IWorkbenchSiteProgressService.class);

  // rebuild statistics data
  CreateStatsJob job = new CreateStatsJob(getFilter(), getViewId());
  job.setPriority(Job.DECORATE);
  job.setRule(ResourcesPlugin.getWorkspace().getRoot());
  job.addJobChangeListener(new JobChangeAdapter() {
    @Override
    public void done(IJobChangeEvent event) {
      mStats = ((CreateStatsJob) event.getJob()).getStats();
      Job uiJob = new WorkbenchJob(Messages.AbstractStatsView_msgRefreshStats) {

        @Override
        public IStatus runInUIThread(IProgressMonitor monitor) {
          handleStatsRebuilt();
          return Status.OK_STATUS;
        }
      };
      uiJob.setPriority(Job.DECORATE);
      uiJob.setSystem(true);
      uiJob.schedule();
    }
  });
  service.schedule(job, 0, true);
}
 
源代码2 项目: spotbugs   文件: ClearMarkersEditorAction.java
@Override
public final void run(final IAction action) {
    if (currentEditor != null) {
        IFile file = ((FileEditorInput) (currentEditor.getEditorInput())).getFile();
        Job job = new ClearMarkersJob(file, Arrays.asList(new WorkItem[] { new WorkItem(file) }));
        job.setUser(true);
        job.setPriority(Job.INTERACTIVE);
        IWorkbenchSiteProgressService service = (IWorkbenchSiteProgressService) currentEditor.getEditorSite().getService(
                IWorkbenchSiteProgressService.class);
        service.schedule(job);
    }
}
 
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
  IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
  if (window != null) {
    IWorkbenchPage page = window.getActivePage();
    if (page != null) {
      IViewPart webAppView = page.findView(WebAppLaunchView.ID);
      if (webAppView == null) {
        try {
          webAppView = page.showView(WebAppLaunchView.ID);
        } catch (PartInitException e) {
          return StatusUtilities.newErrorStatus(e, Activator.PLUGIN_ID);
        }
      }

      if (webAppView != null) {
        synchronized(boldingLock) {
          if (bolding) {
            if (webAppView.getSite() != null) {
              IWorkbenchSiteProgressService service = 
                (IWorkbenchSiteProgressService) webAppView.getSite().getAdapter(
                  IWorkbenchSiteProgressService.class);
              if (service != null) {
                service.warnOfContentChange();
              }
            }
          } else {
            page.bringToTop(webAppView);
          }
        }
      }
    }
  }
  return Status.OK_STATUS;
}
 
源代码4 项目: APICloud-Studio   文件: Utils.java
public static void schedule(Job job, IWorkbenchSite site) {
	if (site != null) {
		IWorkbenchSiteProgressService siteProgress = (IWorkbenchSiteProgressService) site.getAdapter(IWorkbenchSiteProgressService.class);
		if (siteProgress != null) {
			siteProgress.schedule(job, 0, true /* use half-busy cursor */);
			return;
		}
	}
	job.schedule();
}
 
private IProgressService getProgressService() {
	IEditorPart editor= getTextEditor();
	if (editor != null) {
		IWorkbenchPartSite site= editor.getSite();
		if (site != null)
			return (IWorkbenchSiteProgressService) editor.getSite().getAdapter(IWorkbenchSiteProgressService.class);
	}
	return PlatformUI.getWorkbench().getProgressService();
}
 
源代码6 项目: spotbugs   文件: AbstractFindbugsView.java
/**
 * Get the IWorkbenchSiteProgressService for the receiver.
 *
 * @return IWorkbenchSiteProgressService or <code>null</code>.
 */
protected IWorkbenchSiteProgressService getProgressService() {
    IWorkbenchSiteProgressService service = (IWorkbenchSiteProgressService) getSite().getAdapter(
            IWorkbenchSiteProgressService.class);
    return service;
}
 
源代码7 项目: tracecompass   文件: AbstractTimeGraphView.java
/**
 * Forces a rebuild of the entries list, even if entries already exist for this
 * trace
 */
protected void rebuild() {
    try (FlowScopeLog parentLogger = new FlowScopeLogBuilder(LOGGER, Level.FINE, "TimeGraphView:Rebuilding").setCategory(getViewId()).build()) { //$NON-NLS-1$
        setTimeBoundsAndRefresh();
        ITmfTrace viewTrace = fTrace;
        if (viewTrace == null) {
            return;
        }
        resetView(viewTrace);

        List<IMarkerEventSource> markerEventSources = new ArrayList<>();
        synchronized (fBuildJobMap) {
            // Run the build jobs through the site progress service if available
            IWorkbenchSiteProgressService service = null;
            IWorkbenchPartSite site = getSite();
            if (site != null) {
                service = site.getService(IWorkbenchSiteProgressService.class);
            }
            for (ITmfTrace trace : getTracesToBuild(viewTrace)) {
                if (trace == null) {
                    break;
                }
                List<@NonNull IMarkerEventSource> adapters = TmfTraceAdapterManager.getAdapters(trace, IMarkerEventSource.class);
                markerEventSources.addAll(adapters);

                Job buildJob = new Job(getTitle() + Messages.AbstractTimeGraphView_BuildJob) {
                    @Override
                    protected IStatus run(IProgressMonitor monitor) {
                        new BuildRunnable(trace, viewTrace, parentLogger).run(monitor);
                        monitor.done();
                        return Status.OK_STATUS;
                    }
                };
                fBuildJobMap.put(trace, buildJob);
                if (service != null) {
                    service.schedule(buildJob);
                } else {
                    buildJob.schedule();
                }
            }
        }
        fMarkerEventSourcesMap.put(viewTrace, markerEventSources);
    }
}
 
源代码8 项目: elexis-3-core   文件: PatListeContentProvider.java
@Override
public Object[] getElements(Object inputElement){
	if (bValid || bUpdating) {
		return pats;
	}
	if (pfilter != null) {
		pats = new String[] {
			Messages.PatListeContentProvider_LoadingData
		};
		((TableViewer) commonViewer.getViewerWidget()).setItemCount(1);
	}
	
	if (!CoreHub.acl.request(AccessControlDefaults.PATIENT_DISPLAY)) {
		return new Object[0];
	}
	
	Job job = new Job(Messages.PatListeContentProvider_LoadingPatients) {
		@Override
		protected IStatus run(IProgressMonitor monitor){
			monitor.beginTask(Messages.PatListeContentProvider_LoadPatients,
				IProgressMonitor.UNKNOWN);
			if (pfilter != null) {
				if (pfilter.aboutToStart() == false) {
					return Status.CANCEL_STATUS;
				}
			}
			// perform actual loading
			syncRefresh();
			monitor.done();
			return Status.OK_STATUS;
		}
	};
	job.setPriority(Job.SHORT);
	job.setUser(false);
	bUpdating = true;
	IWorkbenchSiteProgressService siteService =
		(IWorkbenchSiteProgressService) site.getSite().getAdapter(
			IWorkbenchSiteProgressService.class);
	siteService.schedule(job, 0, true);
	
	job.setProperty(IProgressConstants.ICON_PROPERTY, Images.IMG_AUSRUFEZ_ROT.getImage());
	
	return pats;
}
 
 类所在包
 类方法
 同包方法