01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19: package org.netbeans.modules.xslt.tmap.nodes.actions;
20:
21: import org.netbeans.modules.xslt.tmap.model.api.TMapComponent;
22: import org.netbeans.modules.xslt.tmap.model.api.TMapComponentContainer;
23: import org.netbeans.modules.xslt.tmap.model.api.TransformMap;
24: import org.openide.util.NbBundle;
25:
26: /**
27: *
28: * @author Vitaly Bychkov
29: * @version 1.0
30: */
31: public class DeleteAction extends TMapAbstractNodeAction {
32:
33: @Override
34: protected String getBundleName() {
35: return NbBundle.getMessage(TMapAbstractNodeAction.class,
36: "CTL_DeleteAction");
37: }
38:
39: @Override
40: public ActionType getType() {
41: return ActionType.REMOVE;
42: }
43:
44: @Override
45: protected void performAction(TMapComponent[] tmapComponents) {
46: if (!enable(tmapComponents)) {
47: return;
48: }
49:
50: TMapComponent component2remove = tmapComponents[0];
51: TMapComponentContainer parent = (TMapComponentContainer) component2remove
52: .getParent();
53: assert parent != null;
54:
55: parent.remove(component2remove);
56: }
57:
58: @Override
59: protected boolean enable(TMapComponent[] tmapComponents) {
60: return super .enable(tmapComponents)
61: && !(tmapComponents[0] instanceof TransformMap);
62: }
63:
64: }
|