1 19 20 28 29 package org.netbeans.modules.xml.schema.abe.nodes; 30 31 import java.awt.Image ; 32 import org.netbeans.modules.xml.axi.datatype.Datatype; 33 import org.netbeans.modules.xml.axi.datatype.DatatypeFactory; 34 import org.netbeans.modules.xml.schema.model.GlobalElement; 35 import org.openide.nodes.AbstractNode; 36 import org.openide.nodes.Children; 37 import org.openide.nodes.FilterNode; 38 import org.openide.nodes.Node; 39 import org.openide.util.NbBundle; 40 import org.netbeans.modules.xml.schema.model.GlobalSimpleType; 41 import org.netbeans.modules.xml.schema.model.SchemaModelFactory; 42 43 47 public class PrimitiveSimpleTypesNode extends AbstractNode 48 { 49 50 public PrimitiveSimpleTypesNode(ABEUIContext context) 51 { 52 super(new TypesChildren(context)); 53 setName(NbBundle.getMessage(PrimitiveSimpleTypesNode.class, 54 "LBL_CategoryNode_PrimitiveSimpleTypes")); 55 } 56 57 public boolean canRename() 58 { 59 return false; 60 } 61 62 public boolean canDestroy() 63 { 64 return false; 65 } 66 67 public boolean canCut() 68 { 69 return false; 70 } 71 72 public boolean canCopy() 73 { 74 return false; 75 } 76 77 public Image getOpenedIcon(int i) { 78 return org.netbeans.modules.xml.schema.ui.nodes.categorized. 79 CategorizedChildren.getBadgedFolderIcon(i, GlobalSimpleType.class); 80 } 81 82 public Image getIcon(int i) { 83 return org.netbeans.modules.xml.schema.ui.nodes.categorized. 84 CategorizedChildren.getOpenedBadgedFolderIcon(i, GlobalSimpleType.class); 85 } 86 87 private static class TypesChildren extends Children.Keys 88 { 89 TypesChildren(ABEUIContext context) { 90 super(); 91 this.context = context; 92 } 93 protected Node[] createNodes(Object key) 94 { 95 if(key instanceof GlobalSimpleType) 96 { 97 GlobalSimpleType gst = (GlobalSimpleType)key; 98 Datatype type = DatatypeFactory.getDefault(). 99 createPrimitive(((GlobalSimpleType)gst).getName()); 100 Node node = context.getFactory().createNode(getNode(), type); 101 return new Node[] {new TypeNode(node)}; 102 } 103 assert false; 104 return new Node[]{}; 105 } 106 107 protected void addNotify() 108 { 109 setKeys(SchemaModelFactory.getDefault().getPrimitiveTypesModel(). 110 getSchema().getSimpleTypes()); 111 } 112 113 private ABEUIContext context; 114 } 115 116 public static class TypeNode extends FilterNode { 117 118 private TypeNode(Node original) 119 { 120 super(original, Children.LEAF); 121 final String details = NbBundle.getMessage( 122 PrimitiveSimpleTypesNode.class,"MSG_"+getOriginal().getName()); 123 setShortDescription(details); 124 } 125 126 public String getHtmlDisplayName() 127 { 128 return null; 129 } 130 131 public Datatype getType() { 132 return ((DatatypeNode)getOriginal()).getType(); 133 } 134 } 135 136 } 137 | Popular Tags |