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