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.List; 26 import org.netbeans.modules.xml.schema.model.SchemaComponentReference; 27 import org.netbeans.modules.xml.schema.ui.basic.editors.GlobalReferenceEditor; 28 import org.netbeans.modules.xml.schema.ui.nodes.*; 29 import org.netbeans.modules.xml.schema.ui.nodes.schema.properties.GlobalReferenceProperty; 30 import org.openide.nodes.Children; 31 import org.openide.nodes.Node; 32 import org.openide.nodes.PropertySupport; 33 import org.openide.nodes.Sheet; 34 import org.openide.util.NbBundle; 35 39 public class ListNode extends SchemaComponentNode<List> 40 { 41 45 public ListNode(SchemaUIContext context, 46 SchemaComponentReference<List> reference, 47 Children children) 48 { 49 super(context,reference,children); 50 } 51 52 53 57 @Override 58 public String getTypeDisplayName() 59 { 60 return NbBundle.getMessage(ListNode.class, 61 "LBL_ListNode_TypeDisplayName"); } 63 64 @Override 65 protected Sheet createSheet() 66 { 67 Sheet 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 try { 74 Node.Property baseTypeProp = new GlobalReferenceProperty<GlobalSimpleType>( 76 getReference().get(), 77 List.TYPE_PROPERTY, 78 NbBundle.getMessage(ListNode.class, 79 "PROP_ItemType_DisplayName"), NbBundle.getMessage(ListNode.class, 81 "PROP_ItemType_ShortDesc"), getTypeDisplayName(), NbBundle.getMessage(ListNode.class, 84 "LBL_GlobalSimpleTypeNode_TypeDisplayName"), GlobalSimpleType.class 86 ) 87 { 88 public Object getValue() throws IllegalAccessException , InvocationTargetException 89 { 90 if(getReference().get().getType()!= null) 91 return super.getValue(); 92 return NbBundle.getMessage(ListNode.class, 93 "LBL_LocalDefinition"); 94 } 95 public boolean canWrite() 96 { 97 if(getReference().get().getType()!= null) 98 return super.canWrite(); 99 return false; 100 } 101 public java.beans.PropertyEditor getPropertyEditor() 102 { 103 if (getReference().get().getType()!= null) 104 return super.getPropertyEditor(); 105 return new PropertyEditorSupport (getReference().get()); 106 } 107 }; 108 props.put(new SchemaModelFlushWrapper(getReference().get(), baseTypeProp)); 109 } catch (NoSuchMethodException nsme) { 110 assert false : "properties should be defined"; 111 } 112 113 return sheet; 120 } 121 } 122 | Popular Tags |