/******************************************************************************* * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others. 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 * *******************************************************************************/ package com.cisco.yangide.ext.model.editor.editors; import org.eclipse.gef.ContextMenuProvider; import org.eclipse.graphiti.ui.editor.DefaultPaletteBehavior; import org.eclipse.graphiti.ui.editor.DefaultPersistencyBehavior; import org.eclipse.graphiti.ui.editor.DefaultRefreshBehavior; import org.eclipse.graphiti.ui.editor.DiagramBehavior; import org.eclipse.graphiti.ui.editor.DiagramEditorContextMenuProvider; import org.eclipse.graphiti.ui.editor.IDiagramContainerUI; import org.eclipse.graphiti.ui.internal.action.RemoveAction; import org.eclipse.jface.action.IMenuManager; import org.eclipse.swt.graphics.Point; @SuppressWarnings("restriction") public class YangDiagramBehavior extends DiagramBehavior { private Point createPosition; public YangDiagramBehavior(IDiagramContainerUI diagramContainer) { super(diagramContainer); } @Override protected DefaultPersistencyBehavior createPersistencyBehavior() { return new YangDiagramPersistencyBehavior(this); } /** * @return the createPosition */ public Point getCreatePosition() { return createPosition; } /** * @param createPosition the createPosition to set */ public void setCreatePosition(Point createPosition) { this.createPosition = createPosition; } @Override protected DefaultRefreshBehavior createRefreshBehavior() { return new YangDiagramRefreshBehavior(this); } @Override protected ContextMenuProvider createContextMenuProvider() { return new DiagramEditorContextMenuProvider(getDiagramContainer().getGraphicalViewer(), getDiagramContainer().getActionRegistry(), getConfigurationProvider()) { @Override protected void addActionToMenuIfAvailable(IMenuManager manager, String actionId, String menuGroup) { if (RemoveAction.ACTION_ID.equals(actionId)) { return; } super.addActionToMenuIfAvailable(manager, actionId, menuGroup); } }; } @Override protected DefaultPaletteBehavior createPaletteBehaviour() { return new YangPaletteBehavior(this); } public YangPaletteBehavior getYangPaletteBehavior() { return (YangPaletteBehavior) getPaletteBehavior(); } }