diff options
Diffstat (limited to 'plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/util/EditorHelper.java')
-rw-r--r-- | plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/util/EditorHelper.java | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/util/EditorHelper.java b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/util/EditorHelper.java new file mode 100644 index 00000000000..01802f176fa --- /dev/null +++ b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/util/EditorHelper.java @@ -0,0 +1,71 @@ +/***************************************************************************** + * Copyright (c) 2012 CEA LIST. + * + * + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Vincent Lorenzo (CEA LIST) Vincent.Lorenzo@cea.fr - Initial API and implementation + * + *****************************************************************************/ +package org.eclipse.papyrus.infra.ui.util; + +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; + +/** + * + * a helper for the Editor + * + */ +public class EditorHelper { + + private EditorHelper() { + // nothing to do + } + + /** + * + * @return + * the current editor or <code>null</code> if not found + */ + public static final IEditorPart getCurrentEditor() { + final IWorkbench workbench = PlatformUI.getWorkbench(); + if (workbench != null) { + final IWorkbenchWindow activeWorkbench = workbench.getActiveWorkbenchWindow(); + if (activeWorkbench != null) { + final IWorkbenchPage activePage = activeWorkbench.getActivePage(); + if (activePage != null) { + return activePage.getActiveEditor(); + } + } + } + return null; + } + + /** + * + * @return + * the current active part or <code>null</code> if not found + */ + public static final IWorkbenchPart getActivePart() { + final IWorkbench workbench = PlatformUI.getWorkbench(); + if (workbench != null) { + final IWorkbenchWindow activeWorkbench = workbench.getActiveWorkbenchWindow(); + if (activeWorkbench != null) { + final IWorkbenchPage activePage = activeWorkbench.getActivePage(); + if (activePage != null) { + return activePage.getActivePart(); + } + } + } + return null; + } +} |