/**
SpagoBI, the Open Source Business Intelligence suite
Copyright (C) 2012 Engineering Ingegneria Informatica S.p.A. - SpagoBI Competency Center
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this file,
You can obtain one at http://mozilla.org/MPL/2.0/.
**/
package it.eng.spagobi.studio.core.util;
import it.eng.spagobi.studio.core.views.ResourceNavigator;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IEditorReference;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IViewReference;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.internal.EditorReference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SWTComponentUtilities {
private static Logger logger = LoggerFactory.getLogger(SWTComponentUtilities.class);
public static IEditorPart getEditorReference(String editorId){
logger.debug("IN");
IEditorPart toReturn=null;
IWorkbenchWindow a=PlatformUI.getWorkbench().getWorkbenchWindows()[0];
IWorkbenchPage aa=a.getActivePage();
if(aa != null){
IEditorReference[] editors=aa.findEditors(null, editorId, IWorkbenchPage.MATCH_ID);
if(editors!=null && editors.length>0){
EditorReference editorReference=(EditorReference)editors[0];
toReturn=(IEditorPart)editorReference.getPart(false);
}
}
logger.debug("OUT");
return toReturn;
}
public static IEditorPart getNavigatorReference(String navigatorId){
logger.debug("IN");
IEditorPart toReturn=null;
IWorkbenchWindow a=PlatformUI.getWorkbench().getWorkbenchWindows()[0];
IWorkbenchPage aa=a.getActivePage();
if(aa != null){
IViewReference navigator=aa.findViewReference(navigatorId);
IViewPart navigatorView=aa.findView(navigatorId);
if(navigatorView!=null && navigatorView instanceof ResourceNavigator){
ResourceNavigator resourceNavigator = (ResourceNavigator)navigatorView;
resourceNavigator.getCommonViewer().refresh();
}
}
logger.debug("OUT");
return toReturn;
}
}