Package org.fusesource.ide.camel.editor.features.other

Source Code of org.fusesource.ide.camel.editor.features.other.MoveNodeFeature

/**
*
*/
/*******************************************************************************
* Copyright (c) 2013 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
*     Red Hat, Inc. - initial API and implementation
******************************************************************************/

package org.fusesource.ide.camel.editor.features.other;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.graphiti.features.IFeatureProvider;
import org.eclipse.graphiti.features.context.IMoveShapeContext;
import org.eclipse.graphiti.features.impl.DefaultMoveShapeFeature;
import org.eclipse.graphiti.mm.pictograms.Shape;

/**
* @author lhein
*
*/
public class MoveNodeFeature extends DefaultMoveShapeFeature {
 
  public MoveNodeFeature(IFeatureProvider fp) {
    super(fp);
  }

  @Override
  public boolean canMoveShape(IMoveShapeContext context) {
    boolean canMove = super.canMoveShape(context);

    // perform further check only if move allowed by default feature
    if (canMove) {
      // don't allow move if the class name has the length of 1
      Shape shape = context.getShape();
      Object bo = getBusinessObjectForPictogramElement(shape);
      if (bo instanceof EClass) {
        EClass c = (EClass) bo;
        if (c.getName() != null && c.getName().length() == 1) {
          canMove = false;
        }
      }
    }
    return canMove;
  }
}
TOP

Related Classes of org.fusesource.ide.camel.editor.features.other.MoveNodeFeature

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.