/* * Copyright (c) 2007 Borland Software Corporation * * 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: * Dmitry Stadnik (Borland) - initial API and implementation */ package org.eclipse.gmf.examples.taipan.port.diagram.part; import org.eclipse.emf.common.ui.URIEditorInput; import org.eclipse.emf.transaction.TransactionalEditingDomain; import org.eclipse.gef.palette.PaletteRoot; import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint; import org.eclipse.gmf.runtime.diagram.ui.actions.ActionIds; import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument; import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDocument; import org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDocumentProvider; import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor; import org.eclipse.ui.IEditorInput; /** * @generated */ public class PortDiagramEditor extends DiagramDocumentEditor { /** * @generated */ public static final String ID = "org.eclipse.gmf.examples.taipan.port.diagram.part.PortDiagramEditorID"; //$NON-NLS-1$ /** * @generated */ public static final String CONTEXT_ID = "org.eclipse.gmf.examples.taipan.port.diagram.ui.diagramContext"; //$NON-NLS-1$ /** * @generated */ public PortDiagramEditor() { super(true); } /** * @generated */ protected String getContextID() { return CONTEXT_ID; } /** * @generated */ protected PaletteRoot createPaletteRoot(PaletteRoot existingPaletteRoot) { PaletteRoot root = super.createPaletteRoot(existingPaletteRoot); new TaiPanPaletteFactory().fillPalette(root); return root; } /** * @generated */ protected PreferencesHint getPreferencesHint() { return PortDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT; } /** * @generated */ public String getContributorId() { return PortDiagramEditorPlugin.ID; } /** * @generated */ protected IDocumentProvider getDocumentProvider(IEditorInput input) { if (input instanceof URIEditorInput) { return PortDiagramEditorPlugin.getInstance().getDocumentProvider(); } return super.getDocumentProvider(input); } /** * @generated */ public TransactionalEditingDomain getEditingDomain() { IDocument document = getEditorInput() != null ? getDocumentProvider().getDocument(getEditorInput()) : null; if (document instanceof IDiagramDocument) { return ((IDiagramDocument) document).getEditingDomain(); } return super.getEditingDomain(); } /** * @generated */ protected void setDocumentProvider(IEditorInput input) { if (input instanceof URIEditorInput) { setDocumentProvider(PortDiagramEditorPlugin.getInstance().getDocumentProvider()); } else { super.setDocumentProvider(input); } } /** * @generated */ protected void configureGraphicalViewer() { super.configureGraphicalViewer(); DiagramEditorContextMenuProvider provider = new DiagramEditorContextMenuProvider(this, getDiagramGraphicalViewer()); getDiagramGraphicalViewer().setContextMenu(provider); getSite().registerContextMenu(ActionIds.DIAGRAM_EDITOR_CONTEXT_MENU, provider, getDiagramGraphicalViewer()); } }