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:
20: package org.netbeans.modules.xslt.mapper.model.nodes.actions;
21:
22: import java.awt.event.ActionEvent;
23: import javax.swing.Icon;
24: import javax.swing.ImageIcon;
25: import org.netbeans.modules.soa.ui.axinodes.NodeType;
26: import org.netbeans.modules.soa.ui.axinodes.NodeType.BadgeModificator;
27: import org.netbeans.modules.xml.axi.Element;
28: import org.netbeans.modules.xslt.mapper.model.BranchConstructor;
29: import org.netbeans.modules.xslt.mapper.model.nodes.TreeNode;
30: import org.netbeans.modules.xslt.mapper.view.XsltMapper;
31: import org.netbeans.modules.xslt.model.XslComponent;
32:
33: /**
34: *
35: * @author nk160297
36: */
37: public class AddNestedAxiElement extends XsltNodeAction {
38: private static final long serialVersionUID = 1L;
39:
40: protected Element myNewAxiElement;
41:
42: public AddNestedAxiElement(XsltMapper xsltMapper, TreeNode node,
43: Element element) {
44: super (xsltMapper, node);
45: myNewAxiElement = element;
46: setEnabled(isEnabled());
47: postInit();
48: }
49:
50: @Override
51: public String getDisplayName() {
52: return myNewAxiElement.getName();
53: }
54:
55: @Override
56: public Icon getIcon() {
57: Icon icon = new ImageIcon(NodeType.ELEMENT
58: .getImage(BadgeModificator.SINGLE));
59: return icon;
60: }
61:
62: @Override
63: public boolean isEnabled() {
64: Object dataObject = myTreeNode.getDataObject();
65: if ((dataObject != null)
66: && (dataObject instanceof XslComponent)) {
67: XslComponent parentComponent = (XslComponent) dataObject;
68: return (!BranchConstructor.containsXslElementOrAttribute(
69: parentComponent, myNewAxiElement, getMapper()));
70: }
71: return false;
72: }
73:
74: public void actionPerformed(ActionEvent e) {
75: Object dataObject = myTreeNode.getDataObject();
76: if (dataObject != null && dataObject instanceof XslComponent) {
77: XslComponent parentComp = (XslComponent) dataObject;
78: BranchConstructor.createXslElementOrAttribute(parentComp,
79: myNewAxiElement, getMapper());
80: }
81: }
82: }
|