1 19 20 package org.netbeans.modules.xml.schema.ui.nodes.schema; 21 22 import java.beans.PropertyChangeEvent ; 23 import org.netbeans.modules.xml.schema.model.Field; 24 import org.netbeans.modules.xml.schema.model.SchemaComponentReference; 25 import org.netbeans.modules.xml.schema.ui.nodes.*; 26 import org.netbeans.modules.xml.schema.ui.nodes.schema.properties.BaseSchemaProperty; 27 import org.openide.nodes.Children; 28 import org.openide.nodes.Node; 29 import org.openide.nodes.Sheet; 30 import org.openide.util.NbBundle; 31 35 public class FieldNode extends SchemaComponentNode<Field> 36 { 37 41 public FieldNode(SchemaUIContext context, 42 SchemaComponentReference<Field> reference, 43 Children children) 44 { 45 super(context,reference,children); 46 setIconBaseWithExtension( 47 "org/netbeans/modules/xml/schema/ui/nodes/resources/field.png"); 48 } 49 50 @Override 51 protected Sheet createSheet() 52 { 53 Sheet sheet = super.createSheet(); 54 Sheet.Set props = sheet.get(Sheet.PROPERTIES); 55 if (props == null) { 56 props = Sheet.createPropertiesSet(); 57 sheet.put(props); 58 } 59 try { 60 Node.Property xpathProp = new BaseSchemaProperty( 62 getReference().get(), String .class, 64 Field.XPATH_PROPERTY, NbBundle.getMessage(FieldNode.class,"PROP_XPath_DisplayName"), NbBundle.getMessage(FieldNode.class,"PROP_XPath_ShortDescription"), null 68 ); 69 props.put(new SchemaModelFlushWrapper(getReference().get(), xpathProp)); 70 71 } catch (NoSuchMethodException nsme) { 72 assert false : "properties should be defined"; 73 } 74 75 return sheet; 76 } 77 78 82 @Override 83 public String getTypeDisplayName() 84 { 85 return NbBundle.getMessage(FieldNode.class, 86 "LBL_FieldNode_TypeDisplayName"); } 88 89 public void propertyChange(PropertyChangeEvent event) { 90 super.propertyChange(event); 91 if (isValid() && event.getSource() == getReference().get() && 92 Field.XPATH_PROPERTY.equalsIgnoreCase(event.getPropertyName())) { 93 firePropertyChange(Field.XPATH_PROPERTY,event.getOldValue(), 94 event.getNewValue()); 95 } 96 } 97 } 98 | Popular Tags |