| /********************************************************************* |
| * Copyright (c) 2005, 2019 SAP SE |
| * |
| * This program and the accompanying materials are made |
| * available under the terms of the Eclipse Public License 2.0 |
| * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * Contributors: |
| * SAP SE - initial API, implementation and documentation |
| * Ali Akar, mwenz - Bug 348420 - Opening a user contributed editor |
| * Bug 336488 - DiagramEditor API |
| * pjpaulin - Bug 352120 - Now uses IDiagramContainerUI interface |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| **********************************************************************/ |
| package org.eclipse.graphiti.ui.internal.services; |
| |
| import org.eclipse.graphiti.mm.pictograms.Diagram; |
| import org.eclipse.graphiti.platform.IDiagramContainer; |
| import org.eclipse.graphiti.ui.editor.IDiagramContainerUI; |
| import org.eclipse.jface.action.IStatusLineManager; |
| import org.eclipse.jface.action.StatusLineManager; |
| import org.eclipse.swt.widgets.Shell; |
| import org.eclipse.ui.IWorkbenchWindow; |
| |
| /** |
| * @noimplement This interface is not intended to be implemented by clients. |
| * @noextend This class is not intended to be subclassed by clients. |
| */ |
| public interface IWorkbenchService { |
| |
| /** |
| * Method returns the current {@link StatusLineManager}. If no |
| * StatusLineManager is available, a new StatusLineManager will be created |
| * and returned. In most cases this will not have any effect and will not be |
| * able to display status info, but it makes null pointer checks when |
| * calling the method obsolete |
| * |
| * @return the status line manager of the active part or a new one if there |
| * is no such part |
| */ |
| public IStatusLineManager getActiveStatusLineManager(); |
| |
| /** |
| * @return the active workbench window, or the first one if there is no |
| * active window |
| */ |
| public IWorkbenchWindow getActiveOrFirstWorkbenchWindow(); |
| |
| /** |
| * Opens the given diagram in the diagram editor. |
| * |
| * @param diagram |
| * which should be opened |
| * @param domain |
| * @return the editor instance |
| */ |
| public IDiagramContainer openDiagramEditor(Diagram diagram); |
| |
| /** |
| * Opens the given diagram in the diagram editor. |
| * |
| * @param diagram |
| * which should be opened |
| * @param domain |
| * @param providerId |
| * the unique provider id of a diagram type provider which will |
| * be used by the editor. |
| * @return the editor instance |
| */ |
| public IDiagramContainer openDiagramEditor(Diagram diagram, String providerId); |
| |
| /** |
| * Opens the given diagram in the diagram editor with the given id. |
| * |
| * @param diagram |
| * which should be opened |
| * @param domain |
| * @param providerId |
| * the unique provider id of a diagram type provider which will |
| * be used by the editor. |
| * @param editorId |
| * the unique Eclipse editor id of the diagram editor to open. |
| * This id must belong to a subclass of {@link IDiagramContainerUI} . |
| * @return the editor instance |
| * @since 0.8.0 |
| */ |
| public IDiagramContainer openDiagramEditor(Diagram diagram, String providerId, String editorId); |
| |
| /** |
| * Returns the shell of the active workbench window. |
| * |
| * @return the shell |
| */ |
| public Shell getShell(); |
| |
| } |