1 19 20 package org.netbeans.modules.xml.schema.ui.nodes.categorized; 21 22 import org.netbeans.modules.xml.schema.model.GlobalSimpleType; 23 import org.netbeans.modules.xml.schema.model.LocalAttribute; 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.AdvancedLocalAttributeCustomizer; 27 import org.netbeans.modules.xml.schema.ui.nodes.schema.LocalAttributeNode; 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 AdvancedLocalAttributeNode extends LocalAttributeNode 41 { 42 46 public AdvancedLocalAttributeNode(SchemaUIContext context, 47 SchemaComponentReference<LocalAttribute> 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 AdvancedLocalAttributeCustomizer(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 LocalAttribute la = getReference().get(); 85 NamedComponentReference<GlobalSimpleType> ref = la.getType(); 86 if (((AbstractDocumentComponent)la).isInDocumentModel() && 87 ref != null && ref.get() != null) 88 { 89 String supertypeLabel = NbBundle.getMessage( 90 AdvancedLocalAttributeNode.class, "LBL_InstanceOf", 91 getReference().get().getType().get().getName()); 92 retValue = retValue+"<font color='#999999'> ("+supertypeLabel+")</font>"; 93 } 94 return applyHighlights(retValue); 95 } 96 } 97 | Popular Tags |