use of org.eclipse.ui.IEditorReference in project cubrid-manager by CUBRID.
the class LayoutUtil method closeAllCubridEditorAndView.
/**
*
* Close all opened editor and view part related with CUBRID Manager,not
* include query editor
*
*/
public static void closeAllCubridEditorAndView() {
IWorkbench workbench = PlatformUI.getWorkbench();
if (workbench == null) {
return;
}
IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
if (window == null) {
return;
}
IWorkbenchPage page = window.getActivePage();
if (page == null) {
return;
}
IEditorReference[] editorRefArr = page.getEditorReferences();
if (editorRefArr != null && editorRefArr.length > 0) {
for (IEditorReference editorRef : editorRefArr) {
try {
IEditorInput editorInput = editorRef.getEditorInput();
if (editorInput instanceof ICubridNode) {
window.getActivePage().closeEditor(editorRef.getEditor(false), true);
}
} catch (PartInitException e) {
LOGGER.error(e.getMessage());
}
}
}
IViewReference[] viewRefArr = page.getViewReferences();
if (viewRefArr != null && viewRefArr.length > 0) {
for (IViewReference viewRef : viewRefArr) {
IViewPart viewPart = viewRef.getView(false);
if (viewPart instanceof CubridViewPart) {
page.hideView(viewPart);
}
}
}
}
use of org.eclipse.ui.IEditorReference in project cubrid-manager by CUBRID.
the class LayoutUtil method getEditorPart.
/**
*
* Get the editor part of this CUBRID node and this editorId
*
* @param cubridNode the ICubridNode object
* @param editorId the editor id
* @return the IEditorPart object
*/
public static IEditorPart getEditorPart(ICubridNode cubridNode, String editorId) {
IWorkbenchPage page = getActivePage();
if (page == null) {
return null;
}
IEditorReference[] editorRefArr = page.getEditorReferences();
if (editorRefArr == null || editorRefArr.length == 0) {
return null;
}
for (IEditorReference editorRef : editorRefArr) {
try {
IEditorInput editorInput = editorRef.getEditorInput();
String id = editorRef.getId();
if (editorInput instanceof ICubridNode) {
ICubridNode node = (ICubridNode) editorInput;
if (node.getId().equals(cubridNode.getId()) && editorId.equals(id)) {
return editorRef.getEditor(false);
}
}
} catch (PartInitException e) {
LOGGER.error(e.getMessage());
}
}
return null;
}
use of org.eclipse.ui.IEditorReference in project cubrid-manager by CUBRID.
the class LayoutUtil method getEditorParts.
/**
*
* Get the editor parts of this CUBRID node
*
* @param cubridNode the ICubridNode object
* @return List<IEditorPart>
*/
public static List<IEditorPart> getEditorParts(ICubridNode cubridNode) {
List<IEditorPart> partList = new ArrayList<IEditorPart>();
IWorkbenchPage page = getActivePage();
if (page == null) {
return partList;
}
IEditorReference[] editorRefArr = page.getEditorReferences();
if (editorRefArr == null || editorRefArr.length == 0) {
return partList;
}
for (IEditorReference editorRef : editorRefArr) {
try {
IEditorInput editorInput = editorRef.getEditorInput();
if (editorInput instanceof ICubridNode) {
ICubridNode node = (ICubridNode) editorInput;
if (node.getId().equals(cubridNode.getId())) {
partList.add(editorRef.getEditor(false));
}
}
} catch (PartInitException e) {
LOGGER.error(e.getMessage());
}
}
return partList;
}
use of org.eclipse.ui.IEditorReference in project cubrid-manager by CUBRID.
the class LayoutUtil method checkAllQueryEditor.
/**
*
* When database logout or stop,check query editor whether some transaction
* are not commit
*
* @param databaseNode the CubridDatabase object
* @return <code>true</code> if transaction is commited;<code>false</code>
* otherwise
*/
public static boolean checkAllQueryEditor(CubridDatabase databaseNode) {
IWorkbenchPage page = getActivePage();
if (page == null) {
return true;
}
boolean isContinue = true;
IEditorReference[] editorRefArr = page.getEditorReferences();
if (editorRefArr == null || editorRefArr.length == 0) {
return true;
}
for (IEditorReference editorRef : editorRefArr) {
String editorId = editorRef.getId();
if (editorId != null && editorId.equals(QueryEditorPart.ID)) {
QueryEditorPart queryEditor = (QueryEditorPart) editorRef.getEditor(false);
CubridDatabase db = queryEditor.getSelectedDatabase();
if (db != null && db.getId().equals(databaseNode.getId())) {
isContinue = queryEditor.resetJDBCConnection();
}
}
}
return isContinue;
}
use of org.eclipse.ui.IEditorReference in project dbeaver by serge-rider.
the class NavigatorHandlerObjectBase method getCommandTarget.
protected static CommandTarget getCommandTarget(IWorkbenchWindow workbenchWindow, DBNContainer container, Class<?> childType, boolean openEditor) throws DBException {
final Object parentObject = container.getValueObject();
DBSObject objectToSeek = null;
if (parentObject instanceof DBSObject) {
final DBEStructEditor parentStructEditor = EntityEditorsRegistry.getInstance().getObjectManager(parentObject.getClass(), DBEStructEditor.class);
if (parentStructEditor != null && RuntimeUtils.isTypeSupported(childType, parentStructEditor.getChildTypes())) {
objectToSeek = (DBSObject) parentObject;
}
}
if (objectToSeek != null) {
for (final IEditorReference editorRef : workbenchWindow.getActivePage().getEditorReferences()) {
final IEditorPart editor = editorRef.getEditor(false);
if (editor instanceof IDatabaseEditor) {
final IDatabaseEditorInput editorInput = ((IDatabaseEditor) editor).getEditorInput();
if (editorInput.getDatabaseObject() == objectToSeek) {
workbenchWindow.getActivePage().activate(editor);
switchEditorFolder(container, editor);
return new CommandTarget((IDatabaseEditor) editor);
}
}
}
if (openEditor && container instanceof DBNDatabaseNode) {
final IDatabaseEditor editor = (IDatabaseEditor) NavigatorHandlerObjectOpen.openEntityEditor((DBNDatabaseNode) container, null, workbenchWindow);
if (editor != null) {
switchEditorFolder(container, editor);
return new CommandTarget(editor);
}
}
}
if (container instanceof DBNDatabaseNode) {
// No editor found - create new command context
DBPDataSource dataSource = ((DBNDatabaseNode) container).getObject().getDataSource();
if (dataSource != null) {
return new CommandTarget(new SimpleCommandContext(dataSource.getDefaultContext(true), !openEditor));
}
}
return new CommandTarget();
}
Aggregations