1 19 20 package org.netbeans.modules.xml.schema.abe.nodes; 21 22 import java.awt.Image ; 23 import java.util.ArrayList ; 24 import java.util.List ; 25 import org.netbeans.modules.xml.axi.AXIDocument; 26 import org.netbeans.modules.xml.axi.ContentModel; 27 import org.netbeans.modules.xml.schema.model.GlobalComplexType; 28 import org.openide.nodes.AbstractNode; 29 import org.openide.nodes.Children; 30 import org.openide.nodes.Node; 31 import org.openide.util.NbBundle; 32 33 37 public class GlobalContentModelsNode extends AbstractNode { 38 39 40 public GlobalContentModelsNode(ABEUIContext context, AXIDocument document) { 41 super(new ContentModels(context, document)); 42 setName(NbBundle.getMessage(GlobalContentModelsNode.class, 43 "LBL_CategoryNode_GlobalContentModelsNode")); 44 } 45 46 public boolean canRename() 47 { 48 return false; 49 } 50 51 public boolean canDestroy() 52 { 53 return false; 54 } 55 56 public boolean canCut() 57 { 58 return false; 59 } 60 61 public boolean canCopy() 62 { 63 return false; 64 } 65 66 public Image getOpenedIcon(int i) { 67 return org.netbeans.modules.xml.schema.ui.nodes.categorized. 68 CategorizedChildren.getBadgedFolderIcon(i, GlobalComplexType.class); 69 } 70 71 public Image getIcon(int i) { 72 return org.netbeans.modules.xml.schema.ui.nodes.categorized. 73 CategorizedChildren.getOpenedBadgedFolderIcon(i, GlobalComplexType.class); 74 } 75 76 private static class ContentModels extends Children.Keys 77 { 78 ContentModels(ABEUIContext context, AXIDocument document) { 79 super(); 80 this.context = context; 81 this.document = document; 82 } 83 protected Node[] createNodes(Object key) 84 { 85 if(key instanceof ContentModel) 86 { 87 Node node = context.getFactory().createNode(getNode(), (ContentModel)key); 88 return new Node[] {node}; 89 } 90 assert false; 91 return new Node[]{}; 92 } 93 94 protected void addNotify() 95 { 96 List <ContentModel> list = document.getContentModels(); 97 List <ContentModel> list2 = new ArrayList <ContentModel>(); 98 for(ContentModel cm : list){ 99 if(cm.getType() == ContentModel.ContentModelType.COMPLEX_TYPE) 100 list2.add(cm); 101 } 102 setKeys(list2); 103 } 104 105 private AXIDocument document; 106 private ABEUIContext context; 107 } 108 109 } 110 | Popular Tags |