KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > schema > ui > nodes > schema > ChoiceNode


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.xml.schema.ui.nodes.schema;
21
22 import org.netbeans.modules.xml.schema.model.Cardinality;
23 import org.netbeans.modules.xml.schema.model.Choice;
24 import org.netbeans.modules.xml.schema.model.SchemaComponentReference;
25 import org.netbeans.modules.xml.schema.ui.basic.editors.MaxOccursEditor;
26 import org.netbeans.modules.xml.schema.ui.nodes.SchemaComponentNode;
27 import org.netbeans.modules.xml.schema.ui.nodes.SchemaModelFlushWrapper;
28 import org.netbeans.modules.xml.schema.ui.nodes.SchemaUIContext;
29 import org.netbeans.modules.xml.schema.ui.nodes.schema.properties.BaseSchemaProperty;
30 import org.netbeans.modules.xml.schema.ui.nodes.schema.properties.NonNegativeIntegerProperty;
31 import org.openide.nodes.Children;
32 import org.openide.nodes.Node.Property;
33 import org.openide.nodes.Sheet;
34 import org.openide.util.NbBundle;
35
36 /**
37  *
38  * @author Todd Fast, todd.fast@sun.com
39  * @author Jeri Lockhart
40  */

41 public class ChoiceNode extends SchemaComponentNode<Choice>
42 {
43     /**
44      *
45      *
46      */

47     public ChoiceNode(SchemaUIContext context,
48         SchemaComponentReference<Choice> reference,
49         Children children)
50     {
51         super(context,reference,children);
52
53         setIconBaseWithExtension(
54             "org/netbeans/modules/xml/schema/ui/nodes/resources/"+
55             "choice.png");
56
57         setDefaultExpanded(true);
58     }
59
60
61     /**
62      *
63      *
64      */

65     @Override JavaDoc
66     public String JavaDoc getTypeDisplayName()
67     {
68         return NbBundle.getMessage(ChoiceNode.class,
69             "LBL_ChoiceNode_TypeDisplayName"); // NOI18N
70
}
71                  
72     @Override JavaDoc
73     protected Sheet createSheet() {
74         Sheet sheet = null;
75         try {
76             sheet = super.createSheet();
77             Sheet.Set props = sheet.get(Sheet.PROPERTIES);
78             if (props == null) {
79                     props = Sheet.createPropertiesSet();
80                     sheet.put(props);
81             }
82     
83         Cardinality choiceCardinality = getReference().get().getCardinality();
84             
85         if (choiceCardinality != null) {
86         // minOccurs
87
Property minOccursProp = new NonNegativeIntegerProperty(
88             getReference().get(), // schema component
89
Choice.MIN_OCCURS_PROPERTY,
90             NbBundle.getMessage(ChoiceNode.class,"PROP_MinOccurs_DisplayName"), // display name
91
NbBundle.getMessage(ChoiceNode.class,"PROP_MinOccurs_ShortDescription") // descr
92
);
93         props.put(new SchemaModelFlushWrapper(getReference().get(), minOccursProp));
94         
95         // maxOccurs
96
Property maxOccursProp = new BaseSchemaProperty(
97             getReference().get(), // schema component
98
String JavaDoc.class,
99             Choice.MAX_OCCURS_PROPERTY,
100             NbBundle.getMessage(ChoiceNode.class,"PROP_MaxOccurs_DisplayName"), // display name
101
NbBundle.getMessage(ChoiceNode.class,"PROP_MaxOccurs_ShortDescription"), // descr
102
MaxOccursEditor.class
103             );
104         props.put(new SchemaModelFlushWrapper(getReference().get(), maxOccursProp));
105         }
106             
107         } catch (NoSuchMethodException JavaDoc ex) {
108             assert false : "properties should be defined";
109         }
110         return sheet;
111     }
112 }
113
Popular Tags