1 19 20 package org.netbeans.modules.xml.schema.ui.nodes.schema; 21 22 import java.beans.PropertyEditorSupport ; 23 import java.lang.reflect.InvocationTargetException ; 24 import org.netbeans.modules.xml.schema.model.GlobalSimpleType; 25 import org.netbeans.modules.xml.schema.model.SimpleTypeRestriction; 26 import org.netbeans.modules.xml.schema.model.SchemaComponentReference; 27 import org.netbeans.modules.xml.schema.ui.nodes.*; 28 import org.netbeans.modules.xml.schema.ui.nodes.schema.properties.GlobalReferenceProperty; 29 import org.openide.nodes.Children; 30 import org.openide.nodes.Node; 31 import org.openide.nodes.PropertySupport; 32 import org.openide.nodes.Sheet; 33 import org.openide.util.NbBundle; 34 38 public class SimpleTypeRestrictionNode extends SchemaComponentNode<SimpleTypeRestriction> 39 { 40 44 public SimpleTypeRestrictionNode(SchemaUIContext context, 45 SchemaComponentReference<SimpleTypeRestriction> reference, 46 Children children) 47 { 48 super(context,reference,children); 49 } 50 51 52 56 @Override 57 public String getTypeDisplayName() 58 { 59 return NbBundle.getMessage(SimpleTypeRestrictionNode.class, 60 "LBL_SimpleTypeRestrictionNode_TypeDisplayName"); } 62 63 @Override 64 protected Sheet createSheet() { 65 Sheet sheet = null; 66 try { 67 sheet = super.createSheet(); 68 Sheet.Set props = sheet.get(Sheet.PROPERTIES); 69 if (props == null) { 70 props = Sheet.createPropertiesSet(); 71 sheet.put(props); 72 } 73 74 Node.Property baseTypeProp = new GlobalReferenceProperty<GlobalSimpleType>( 75 getReference().get(), 76 SimpleTypeRestriction.BASE_PROPERTY, 77 NbBundle.getMessage(SimpleTypeRestrictionNode.class, 78 "PROP_BaseType_DisplayName"), NbBundle.getMessage(SimpleTypeRestrictionNode.class, 80 "HINT_BaseType__SimpleContent_ShortDesc"), getTypeDisplayName(), NbBundle.getMessage(SimpleTypeRestrictionNode.class, 83 "LBL_GlobalSimpleTypeNode_TypeDisplayName"), GlobalSimpleType.class 85 ) 86 { 87 public Object getValue() throws IllegalAccessException , InvocationTargetException 88 { 89 if(getReference().get().getBase()!= null) 90 return super.getValue(); 91 return NbBundle.getMessage(ListNode.class, 92 "LBL_LocalDefinition"); 93 } 94 public boolean canWrite() 95 { 96 if(getReference().get().getBase()!= null) 97 return super.canWrite(); 98 return false; 99 } 100 public java.beans.PropertyEditor getPropertyEditor() 101 { 102 if (getReference().get().getBase()!= null) 103 return super.getPropertyEditor(); 104 return new PropertyEditorSupport (getReference().get()); 105 } 106 }; 107 props.put(new SchemaModelFlushWrapper(getReference().get(), baseTypeProp)); 108 } catch (NoSuchMethodException ex) { 109 assert false : "properties should be defined"; 110 } 111 return sheet; 112 } 113 114 } 115 | Popular Tags |