KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > beaninfo > DataLoaderBeanInfo


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-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.beaninfo;
21
22 import java.awt.Component JavaDoc;
23 import java.awt.Image JavaDoc;
24 import java.beans.*;
25
26 import org.openide.awt.Actions;
27 import org.openide.explorer.propertysheet.ExPropertyEditor;
28 import org.openide.explorer.propertysheet.PropertyEnv;
29 import org.openide.loaders.DataLoader;
30 import org.openide.util.Exceptions;
31 import org.openide.util.NbBundle;
32 import org.openide.util.actions.SystemAction;
33 import org.openide.util.Utilities;
34
35 /** BeanInfo for {@link DataLoader}. */
36 public class DataLoaderBeanInfo extends SimpleBeanInfo {
37
38     public PropertyDescriptor[] getPropertyDescriptors () {
39         try {
40             PropertyDescriptor representationClass = new PropertyDescriptor ("representationClassName", DataLoader.class, "getRepresentationClassName", null); // NOI18N
41
representationClass.setDisplayName (NbBundle.getBundle (DataLoaderBeanInfo.class).getString ("PROP_representationClass"));
42             representationClass.setShortDescription (NbBundle.getBundle (DataLoaderBeanInfo.class).getString ("HINT_representationClass"));
43             representationClass.setExpert (true);
44             PropertyDescriptor actions = new PropertyDescriptor ("actions", DataLoader.class); // NOI18N
45
actions.setDisplayName (NbBundle.getBundle (DataLoaderBeanInfo.class).getString ("PROP_actions"));
46             actions.setShortDescription (NbBundle.getBundle (DataLoaderBeanInfo.class).getString ("HINT_actions"));
47             actions.setPropertyEditorClass (ActionsEditor.class);
48             actions.setValue ("canEditAsText", Boolean.FALSE); // NOI18N
49
return new PropertyDescriptor[] { actions, representationClass };
50         } catch (IntrospectionException ie) {
51             Exceptions.printStackTrace(ie);
52             return null;
53         }
54     }
55
56     /**
57     * Return the icon
58     */

59     public Image JavaDoc getIcon(int type) {
60         if ((type == java.beans.BeanInfo.ICON_COLOR_16x16) || (type == java.beans.BeanInfo.ICON_MONO_16x16))
61             return Utilities.loadImage("org/netbeans/core/resources/objectTypes.gif"); // NOI18N
62
else
63             return Utilities.loadImage("org/netbeans/core/resources/objectTypes32.gif"); // NOI18N
64
}
65
66     public static class ActionsEditor extends PropertyEditorSupport
67     implements ExPropertyEditor {
68
69         private PropertyEnv env;
70
71         public boolean supportsCustomEditor () {
72             return true;
73         }
74
75         public Component JavaDoc getCustomEditor () {
76             return new LoaderActionsPanel (this, env);
77         }
78         
79         public String JavaDoc getAsText () {
80             SystemAction[] actions = (SystemAction[]) getValue ();
81             if (actions == null) return ""; // NOI18N
82
StringBuffer JavaDoc buf = new StringBuffer JavaDoc(actions.length * 15 + 1);
83             for (int i = 0; i < actions.length; i++) {
84                 if (actions[i] == null) continue;
85                 if (i > 0) buf.append (", "); // I18N?
86
buf.append (Actions.cutAmpersand (actions[i].getName ()));
87             }
88             return buf.toString ();
89         }
90         
91         public void setAsText (String JavaDoc text) throws IllegalArgumentException JavaDoc {
92             throw new IllegalArgumentException JavaDoc ();
93         }
94
95         public void attachEnv(PropertyEnv env) {
96             this.env = env;
97         }
98
99     }
100
101 }
102
Popular Tags