1 19 20 package org.netbeans.modules.xml.schema.ui.nodes.categorized; 21 22 import org.netbeans.modules.xml.schema.model.GlobalAttribute; 23 import org.netbeans.modules.xml.schema.model.GlobalSimpleType; 24 import org.netbeans.modules.xml.schema.model.SchemaComponentReference; 25 import org.netbeans.modules.xml.schema.ui.nodes.SchemaUIContext; 26 import org.netbeans.modules.xml.schema.ui.nodes.categorized.customizer.AdvancedGlobalAttributeCustomizer; 27 import org.netbeans.modules.xml.schema.ui.nodes.schema.GlobalAttributeNode; 28 import org.netbeans.modules.xml.xam.ComponentEvent; 29 import org.netbeans.modules.xml.xam.dom.AbstractDocumentComponent; 30 import org.netbeans.modules.xml.xam.dom.NamedComponentReference; 31 import org.netbeans.modules.xml.xam.ui.customizer.Customizer; 32 import org.netbeans.modules.xml.xam.ui.customizer.CustomizerProvider; 33 import org.openide.nodes.Children; 34 import org.openide.util.NbBundle; 35 36 40 public class AdvancedGlobalAttributeNode extends GlobalAttributeNode 41 { 42 46 public AdvancedGlobalAttributeNode(SchemaUIContext context, 47 SchemaComponentReference<GlobalAttribute> reference, 48 Children children) 49 { 50 super(context,reference,children); 51 } 52 53 54 @Override 55 public boolean hasCustomizer() 56 { 57 return isEditable(); 58 } 59 60 public CustomizerProvider getCustomizerProvider() 61 { 62 return new CustomizerProvider() 63 { 64 65 public Customizer getCustomizer() 66 { 67 return new AdvancedGlobalAttributeCustomizer(getReference()); 68 } 69 }; 70 } 71 72 public void valueChanged(ComponentEvent evt) 73 { 74 super.valueChanged(evt); 75 if(isValid() && evt.getSource()==getReference().get()) 76 { 77 fireDisplayNameChange(null,getDisplayName()); 78 } 79 } 80 81 public String getHtmlDisplayName() 82 { 83 String retValue = getDefaultDisplayName(); 84 String rawString = null; 85 GlobalAttribute ga = getReference().get(); 86 if(((AbstractDocumentComponent)ga).isInDocumentModel() && 87 ga.getType()!=null && 88 (rawString = ga.getType().getRefString()) !=null) { 89 int i = rawString!=null?rawString.indexOf(':'):-1; 90 if (i != -1 && i < rawString.length()) { 91 rawString = rawString.substring(i); 92 } 93 String supertypeLabel = NbBundle.getMessage( 94 AdvancedGlobalAttributeNode.class, "LBL_InstanceOf", 95 rawString); 96 retValue = retValue+"<font color='#999999'> ("+supertypeLabel+")</font>"; 97 } 98 return applyHighlights(retValue); 99 } 100 } 101 | Popular Tags |