1 19 20 package org.netbeans.modules.xml.wsdl.ui.view.treeeditor; 21 22 import java.awt.Image ; 23 import java.util.ArrayList ; 24 25 import org.netbeans.modules.xml.wsdl.model.Types; 26 import org.netbeans.modules.xml.wsdl.model.WSDLComponent; 27 import org.netbeans.modules.xml.wsdl.ui.view.treeeditor.newtype.DocumentationNewType; 28 import org.netbeans.modules.xml.wsdl.ui.view.treeeditor.newtype.ImportSchemaNewType; 29 import org.netbeans.modules.xml.wsdl.ui.view.treeeditor.newtype.NewTypesFactory; 30 import org.netbeans.modules.xml.wsdl.ui.view.treeeditor.newtype.SchemaNewType; 31 import org.openide.util.HelpCtx; 32 import org.openide.util.NbBundle; 33 import org.openide.util.Utilities; 34 import org.openide.util.datatransfer.NewType; 35 36 37 38 44 public class TypesNode extends WSDLElementNode { 45 46 private static final Image ICON = Utilities.loadImage 47 ("org/netbeans/modules/xml/wsdl/ui/view/resources/schema_folder_badge_var3.png"); 48 49 protected Types mWSDLConstruct; 50 51 public TypesNode(Types wsdlConstruct) { 52 super(new GenericWSDLComponentChildren(wsdlConstruct), wsdlConstruct, new TypesNewTypesFactory()); 53 mWSDLConstruct = wsdlConstruct; 54 55 this.setDisplayName(NbBundle.getMessage(TypesNode.class, "TYPES_NODE_NAME")); 56 } 57 58 @Override 59 public Image getIcon(int type) { 60 Image folderIcon = FolderNode.FolderIcon.getClosedIcon(); 61 if (ICON != null) { 62 return Utilities.mergeImages(folderIcon, ICON, 8, 8); 63 } 64 65 return folderIcon; 66 } 67 68 @Override 69 public Image getOpenedIcon(int type) { 70 Image folderIcon = FolderNode.FolderIcon.getOpenedIcon(); 71 if (ICON != null) { 72 return Utilities.mergeImages(folderIcon, ICON, 8, 8); 73 } 74 75 return folderIcon; 76 } 77 78 public Object getWSDLConstruct() { 79 return mWSDLConstruct; 80 } 81 82 @Override 83 public HelpCtx getHelpCtx() { 84 return new HelpCtx(TypesNode.class); 85 } 86 87 public static final class TypesNewTypesFactory implements NewTypesFactory{ 88 89 public NewType[] getNewTypes(WSDLComponent def) { 90 Types types = (Types) def; 91 ArrayList <NewType> list = new ArrayList <NewType>(); 92 if (def.getDocumentation() == null) { 93 list.add(new DocumentationNewType(def)); 94 } 95 96 list.add(new SchemaNewType(types)); 97 list.add(new ImportSchemaNewType(types)); 98 99 return list.toArray(new NewType[list.size()]); 100 } 101 } 102 103 @Override 104 public String getTypeDisplayName() { 105 return NbBundle.getMessage(TypesNode.class, "LBL_TypesNode_TypeDisplayName"); 106 } 107 108 } 109 | Popular Tags |