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.Selector; 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 SelectorNode extends SchemaComponentNode<Selector> 36 { 37 41 public SelectorNode(SchemaUIContext context, 42 SchemaComponentReference<Selector> reference, 43 Children children) 44 { 45 super(context,reference,children); 46 setIconBaseWithExtension( 47 "org/netbeans/modules/xml/schema/ui/nodes/resources/selector.png"); 48 } 49 50 51 @Override 52 protected Sheet createSheet() 53 { 54 Sheet sheet = super.createSheet(); 55 Sheet.Set props = sheet.get(Sheet.PROPERTIES); 56 if (props == null) { 57 props = Sheet.createPropertiesSet(); 58 sheet.put(props); 59 } 60 try { 61 Node.Property xpathProp = new BaseSchemaProperty( 63 getReference().get(), String .class, 65 Selector.XPATH_PROPERTY, NbBundle.getMessage(SelectorNode.class,"PROP_XPath_DisplayName"), NbBundle.getMessage(SelectorNode.class,"PROP_XPath_ShortDescription"), null 69 ); 70 props.put(new SchemaModelFlushWrapper(getReference().get(), xpathProp)); 71 72 } catch (NoSuchMethodException nsme) { 73 assert false : "properties should be defined"; 74 } 75 76 return sheet; 77 } 78 79 83 @Override 84 public String getTypeDisplayName() 85 { 86 return NbBundle.getMessage(SelectorNode.class, 87 "LBL_SelectorNode_TypeDisplayName"); } 89 90 public void propertyChange(PropertyChangeEvent event) { 91 super.propertyChange(event); 92 if (isValid() && event.getSource() == getReference().get() && 93 Selector.XPATH_PROPERTY.equalsIgnoreCase(event.getPropertyName())) { 94 firePropertyChange(Selector.XPATH_PROPERTY,event.getOldValue(), 95 event.getNewValue()); 96 } 97 } 98 } 99 | Popular Tags |