下面列出了怎么用org.eclipse.ui.services.ISourceProviderService的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public void setSession ( final LoginSession session )
{
checkRealm ();
if ( this.session != null )
{
this.session.dispose ();
}
this.session = session;
if ( this.session != null )
{
this.session.register ();
}
for ( final IWorkbenchWindow window : PlatformUI.getWorkbench ().getWorkbenchWindows () )
{
final ISourceProviderService service = (ISourceProviderService)window.getService ( ISourceProviderService.class );
final LoginSessionProvider sessionSourceProvider = (LoginSessionProvider)service.getSourceProvider ( LoginSessionProvider.SESSION_STATE );
sessionSourceProvider.setLoginSession ( session );
}
super.setSession ( session );
}
@Override
public void updateExperimentState(final IScope scope, final String forcedState) {
// DEBUG.OUT("STATE: " + forcedState);
final ISourceProviderService service = WorkbenchHelper.getService(ISourceProviderService.class);
final ISimulationStateProvider stateProvider = (ISimulationStateProvider) service
.getSourceProvider("ummisco.gama.ui.experiment.SimulationRunningState");
if (stateProvider != null) {
WorkbenchHelper.run(() -> stateProvider.updateStateTo(forcedState));
}
}
public static ISourceProviderService getSourceProviderService() {
return (ISourceProviderService) getService(ISourceProviderService.class);
}
/**
* Retrieves a source provider providing the given source. This is used by
* clients who only need specific sources.
*
* @param sourceName The name of the source; must not be <code>null</code>.
*
* @return A source provider which provides the request source, or
* <code>null</code> if no such source exists.
*/
public static ISourceProvider getSourceProvider(String sourceName) {
ISourceProviderService sourceProviderService = getSourceProviderService();
if (sourceProviderService == null) {
return null;
}
return sourceProviderService.getSourceProvider(sourceName);
}