X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.g3d.vtk%2Fsrc%2Forg%2Fsimantics%2Fg3d%2Fvtk%2Faction%2FRemoveAction.java;h=926a75de780740a81a33bf6e40cd5a8a2b4c0c8b;hb=f36bb7c63520639baddd1e8a37c054c27ad1e4a5;hp=9bbce07342402c2fbdcdf62035d4e19f34edf984;hpb=87b3241ec277ba3d8e414b26186a032c9cdcaeed;p=simantics%2F3d.git diff --git a/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/action/RemoveAction.java b/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/action/RemoveAction.java index 9bbce073..926a75de 100644 --- a/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/action/RemoveAction.java +++ b/org.simantics.g3d.vtk/src/org/simantics/g3d/vtk/action/RemoveAction.java @@ -1,42 +1,53 @@ -package org.simantics.g3d.vtk.action; - -import org.eclipse.jface.action.Action; -import org.simantics.g3d.scenegraph.IG3DNode; -import org.simantics.g3d.scenegraph.structural.IStructuralNode; -import org.simantics.g3d.vtk.Activator; -import org.simantics.g3d.vtk.common.VTKNodeMap; - -public class RemoveAction extends Action { - - private VTKNodeMap nodeMap; - protected IG3DNode node; - - public RemoveAction(VTKNodeMap nodeMap) { - setText("Remove"); - setImageDescriptor(Activator.imageDescriptorFromPlugin("com.famfamfam.silk", "icons/delete.png")); - this.nodeMap = nodeMap; - } - - public void setNode(IG3DNode node) { - this.node = node; - setEnabled(isRemovable(node)); - } - - public boolean isRemovable(IG3DNode node) { - if ((node instanceof IStructuralNode) && ((IStructuralNode)node).isPartOfInstantiatedModel() && !((IStructuralNode)node).isInstantiatedModelRoot()) - return false; - return true; - } - - @Override - public void run() { - - doRemove(node); - nodeMap.commit(); - node = null; - } - - protected void doRemove(IG3DNode node) { - node.remove(); - } -} +/******************************************************************************* + * Copyright (c) 2012, 2013 Association for Decentralized Information Management in + * Industry THTH ry. + * 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: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +package org.simantics.g3d.vtk.action; + +import org.eclipse.jface.action.Action; +import org.simantics.g3d.scenegraph.base.INode; +import org.simantics.g3d.scenegraph.structural.IStructuralNode; +import org.simantics.g3d.vtk.Activator; +import org.simantics.g3d.vtk.common.VTKNodeMap; + +public class RemoveAction extends Action { + + private VTKNodeMap nodeMap; + protected INode node; + + public RemoveAction(VTKNodeMap nodeMap) { + setText("Remove"); + setImageDescriptor(Activator.imageDescriptorFromPlugin("com.famfamfam.silk", "icons/delete.png")); + this.nodeMap = nodeMap; + } + + public void setNode(INode node) { + this.node = node; + setEnabled(isRemovable(node)); + } + + public boolean isRemovable(INode node) { + if ((node instanceof IStructuralNode) && ((IStructuralNode)node).isPartOfInstantiatedModel() && !((IStructuralNode)node).isInstantiatedModelRoot()) + return false; + return true; + } + + @Override + public void run() { + + doRemove(node); + nodeMap.commit("Remove"); + node = null; + } + + protected void doRemove(INode node) { + node.remove(); + } +}