/***************************************************************************** * Copyright (c) 2008 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: * Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation * *****************************************************************************/ package org.eclipse.papyrus.infra.core.editor; import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditDomain; import org.eclipse.papyrus.infra.core.services.ServicesRegistry; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorSite; import org.eclipse.ui.views.properties.IPropertySheetPage; /** * Interface implemented by the main multipage editor. This interface list the * methods available to diagram editors. Diagram editors can relies on this * interface to retrieve services from the main multi diagram editor. <br> * This interface should stay minimalist, as the editor is not designed to * handle the services itself. A service should be retrieved by using {@link #getServicesRegistry()}. * * * @author cedric dumoulin * * TODO remove extends IEditingDomainProvider. This interface should be * independant of any technology (EMF, GMF, ...). If the EditingDomain * is required, it can be retrieved by the registry. * */ public interface IMultiDiagramEditor extends IEditorPart { /** * Returns the service registry associated to the editor. * * @return the servicesRegistry The registry. */ public ServicesRegistry getServicesRegistry(); /** * Return the editor site. * * @return */ public IEditorSite getEditorSite(); /** * Get the editor input. * * @return */ public IEditorInput getEditorInput(); /** * Change the editor input. * * @param newInput * The new input. * @deprecated No replacement. Input can't be changed on multi editors. */ public void setEditorInput(IEditorInput newInput); /** * Returns the edit domain shared among editors * * @return the edit domain shared among editors * @deprecated Use {@link #getServicesRegistry()} or {@link #getAdapter(Class)} */ // FIXME Remove it (GMF dependency) public DiagramEditDomain getDiagramEditDomain(); /** * Get the currently active nested Editor. */ public IEditorPart getActiveEditor(); /** * Get the property sheet page associated to the Editor. * * @return the property sheet page associated to the Editor. * @deprecated Use {@link #getServicesRegistry()} or {@link #getAdapter(Class)} */ public IPropertySheetPage getPropertySheetPage(); }