CaRMtl/net/java/dev/colorchooser/ColorChooserBeanInfo.java

383 lines
15 KiB
Java

/*DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright 2006-2008. Tim Boudreau. All rights reserved.
*
* The contents of this file are subject to the terms of either the GNU
* General Public License Version 2 only ("GPL") or the Common
* Development and Distribution License("CDDL") (collectively, the
* "License"). You may not use this file except in compliance with the
* License. You can obtain a copy of the License at
* http://www.netbeans.org/cddl-gplv2.html. See the License for the
* specific language governing permissions and limitations under the
* License. When distributing the software, include this License Header
* Notice in each file and include the License file at
* nbbuild/licenses/CDDL-GPL-2-CP. This particular file is designated
* as subject to the "Classpath" exception as provided
* in the GPL Version 2 section of the License file that
* accompanied this code.
*/
package net.java.dev.colorchooser;
import java.beans.BeanDescriptor;
import java.beans.EventSetDescriptor;
import java.beans.IntrospectionException;
import java.beans.MethodDescriptor;
import java.beans.PropertyDescriptor;
import java.beans.SimpleBeanInfo;
public class ColorChooserBeanInfo extends SimpleBeanInfo {
// Bean descriptor//GEN-FIRST:BeanDescriptor
/* lazy BeanDescriptor */
private static BeanDescriptor getBdescriptor() {
final BeanDescriptor beanDescriptor = new BeanDescriptor(
net.java.dev.colorchooser.ColorChooser.class, null); // NOI18N//GEN-HEADEREND:BeanDescriptor
// Here you can add code for customizing the BeanDescriptor.
return beanDescriptor;
}// GEN-LAST:BeanDescriptor
// Property identifiers//GEN-FIRST:Properties
private static final int PROPERTY_color = 0;
private static final int PROPERTY_continuousPalettePreferred = 1;
private static final int PROPERTY_cursor = 2;
private static final int PROPERTY_enabled = 3;
private static final int PROPERTY_height = 4;
private static final int PROPERTY_maximumSize = 5;
private static final int PROPERTY_minimumSize = 6;
private static final int PROPERTY_name = 7;
private static final int PROPERTY_preferredSize = 8;
private static final int PROPERTY_toolTipText = 9;
private static final int PROPERTY_transientColor = 10;
private static final int PROPERTY_visible = 11;
private static final int PROPERTY_width = 12;
private static final int PROPERTY_x = 13;
private static final int PROPERTY_y = 14;
// Property array
/* lazy PropertyDescriptor */
private static PropertyDescriptor[] getPdescriptor() {
final PropertyDescriptor[] properties = new PropertyDescriptor[15];
try {
properties[PROPERTY_color] = new PropertyDescriptor("color",
net.java.dev.colorchooser.ColorChooser.class, "getColor",
"setColor"); // NOI18N
properties[PROPERTY_color].setPreferred(true);
properties[PROPERTY_continuousPalettePreferred] = new PropertyDescriptor(
"continuousPalettePreferred",
net.java.dev.colorchooser.ColorChooser.class,
"isContinuousPalettePreferred",
"setContinuousPalettePreferred"); // NOI18N
properties[PROPERTY_continuousPalettePreferred].setPreferred(true);
properties[PROPERTY_cursor] = new PropertyDescriptor("cursor",
net.java.dev.colorchooser.ColorChooser.class, "getCursor",
"setCursor"); // NOI18N
properties[PROPERTY_enabled] = new PropertyDescriptor("enabled",
net.java.dev.colorchooser.ColorChooser.class, "isEnabled",
"setEnabled"); // NOI18N
properties[PROPERTY_height] = new PropertyDescriptor("height",
net.java.dev.colorchooser.ColorChooser.class, "getHeight",
null); // NOI18N
properties[PROPERTY_maximumSize] = new PropertyDescriptor(
"maximumSize",
net.java.dev.colorchooser.ColorChooser.class,
"getMaximumSize", "setMaximumSize"); // NOI18N
properties[PROPERTY_minimumSize] = new PropertyDescriptor(
"minimumSize",
net.java.dev.colorchooser.ColorChooser.class,
"getMinimumSize", "setMinimumSize"); // NOI18N
properties[PROPERTY_name] = new PropertyDescriptor("name",
net.java.dev.colorchooser.ColorChooser.class, "getName",
"setName"); // NOI18N
properties[PROPERTY_preferredSize] = new PropertyDescriptor(
"preferredSize",
net.java.dev.colorchooser.ColorChooser.class,
"getPreferredSize", "setPreferredSize"); // NOI18N
properties[PROPERTY_toolTipText] = new PropertyDescriptor(
"toolTipText",
net.java.dev.colorchooser.ColorChooser.class,
"getToolTipText", "setToolTipText"); // NOI18N
properties[PROPERTY_transientColor] = new PropertyDescriptor(
"transientColor",
net.java.dev.colorchooser.ColorChooser.class,
"getTransientColor", null); // NOI18N
properties[PROPERTY_transientColor].setExpert(true);
properties[PROPERTY_visible] = new PropertyDescriptor("visible",
net.java.dev.colorchooser.ColorChooser.class, "isVisible",
"setVisible"); // NOI18N
properties[PROPERTY_width] = new PropertyDescriptor("width",
net.java.dev.colorchooser.ColorChooser.class, "getWidth",
null); // NOI18N
properties[PROPERTY_x] = new PropertyDescriptor("x",
net.java.dev.colorchooser.ColorChooser.class, "getX", null); // NOI18N
properties[PROPERTY_y] = new PropertyDescriptor("y",
net.java.dev.colorchooser.ColorChooser.class, "getY", null); // NOI18N
} catch (final IntrospectionException e) {
e.printStackTrace();
}// GEN-HEADEREND:Properties
// Here you can add code for customizing the properties array.
return properties;
}// GEN-LAST:Properties
// EventSet identifiers//GEN-FIRST:Events
private static final int EVENT_actionListener = 0;
private static final int EVENT_componentListener = 1;
private static final int EVENT_focusListener = 2;
private static final int EVENT_hierarchyBoundsListener = 3;
private static final int EVENT_inputMethodListener = 4;
private static final int EVENT_keyListener = 5;
private static final int EVENT_mouseListener = 6;
private static final int EVENT_mouseMotionListener = 7;
private static final int EVENT_propertyChangeListener = 8;
// EventSet array
/* lazy EventSetDescriptor */
private static EventSetDescriptor[] getEdescriptor() {
final EventSetDescriptor[] eventSets = new EventSetDescriptor[9];
try {
eventSets[EVENT_actionListener] = new EventSetDescriptor(
net.java.dev.colorchooser.ColorChooser.class,
"actionListener", java.awt.event.ActionListener.class,
new String[] { "actionPerformed" }, "addActionListener",
"removeActionListener"); // NOI18N
eventSets[EVENT_actionListener].setPreferred(true);
eventSets[EVENT_componentListener] = new EventSetDescriptor(
net.java.dev.colorchooser.ColorChooser.class,
"componentListener",
java.awt.event.ComponentListener.class, new String[] {
"componentHidden", "componentMoved",
"componentResized", "componentShown" },
"addComponentListener", "removeComponentListener"); // NOI18N
eventSets[EVENT_focusListener] = new EventSetDescriptor(
net.java.dev.colorchooser.ColorChooser.class,
"focusListener", java.awt.event.FocusListener.class,
new String[] { "focusGained", "focusLost" },
"addFocusListener", "removeFocusListener"); // NOI18N
eventSets[EVENT_hierarchyBoundsListener] = new EventSetDescriptor(
net.java.dev.colorchooser.ColorChooser.class,
"hierarchyBoundsListener",
java.awt.event.HierarchyBoundsListener.class, new String[] {
"ancestorMoved", "ancestorResized" },
"addHierarchyBoundsListener",
"removeHierarchyBoundsListener"); // NOI18N
eventSets[EVENT_inputMethodListener] = new EventSetDescriptor(
net.java.dev.colorchooser.ColorChooser.class,
"inputMethodListener",
java.awt.event.InputMethodListener.class, new String[] {
"caretPositionChanged", "inputMethodTextChanged" },
"addInputMethodListener", "removeInputMethodListener"); // NOI18N
eventSets[EVENT_keyListener] = new EventSetDescriptor(
net.java.dev.colorchooser.ColorChooser.class,
"keyListener", java.awt.event.KeyListener.class,
new String[] { "keyPressed", "keyReleased", "keyTyped" },
"addKeyListener", "removeKeyListener"); // NOI18N
eventSets[EVENT_mouseListener] = new EventSetDescriptor(
net.java.dev.colorchooser.ColorChooser.class,
"mouseListener", java.awt.event.MouseListener.class,
new String[] { "mouseClicked", "mouseEntered",
"mouseExited", "mousePressed", "mouseReleased" },
"addMouseListener", "removeMouseListener"); // NOI18N
eventSets[EVENT_mouseMotionListener] = new EventSetDescriptor(
net.java.dev.colorchooser.ColorChooser.class,
"mouseMotionListener",
java.awt.event.MouseMotionListener.class, new String[] {
"mouseDragged", "mouseMoved" },
"addMouseMotionListener", "removeMouseMotionListener"); // NOI18N
eventSets[EVENT_propertyChangeListener] = new EventSetDescriptor(
net.java.dev.colorchooser.ColorChooser.class,
"propertyChangeListener",
java.beans.PropertyChangeListener.class,
new String[] { "propertyChange" },
"addPropertyChangeListener", "removePropertyChangeListener"); // NOI18N
} catch (final IntrospectionException e) {
e.printStackTrace();
}// GEN-HEADEREND:Events
// Here you can add code for customizing the event sets array.
return eventSets;
}// GEN-LAST:Events
// Method identifiers//GEN-FIRST:Methods
// Method array
/* lazy MethodDescriptor */
private static MethodDescriptor[] getMdescriptor() {
final MethodDescriptor[] methods = new MethodDescriptor[0];// GEN-HEADEREND:Methods
// Here you can add code for customizing the methods array.
return methods;
}// GEN-LAST:Methods
private static java.awt.Image iconColor16 = null;// GEN-BEGIN:IconsDef
private static java.awt.Image iconColor32 = null;
private static java.awt.Image iconMono16 = null;
private static java.awt.Image iconMono32 = null;// GEN-END:IconsDef
private static String iconNameC16 = "/org/netbeans/swing/colorchooser/chooserIcon.gif";// GEN-BEGIN:Icons
private static String iconNameC32 = "/org/netbeans/swing/colorchooser/chooserIcon32.gif";
private static String iconNameM16 = null;
private static String iconNameM32 = null;// GEN-END:Icons
private static final int defaultPropertyIndex = -1;// GEN-BEGIN:Idx
private static final int defaultEventIndex = -1;// GEN-END:Idx
// GEN-FIRST:Superclass
// Here you can add code for customizing the Superclass BeanInfo.
// GEN-LAST:Superclass
/**
* Gets the bean's <code>BeanDescriptor</code>s.
*
* @return BeanDescriptor describing the editable properties of this bean.
* May return null if the information should be obtained by
* automatic analysis.
*/
@Override
public BeanDescriptor getBeanDescriptor() {
return getBdescriptor();
}
/**
* Gets the bean's <code>PropertyDescriptor</code>s.
*
* @return An array of PropertyDescriptors describing the editable
* properties supported by this bean. May return null if the
* information should be obtained by automatic analysis.
* <p>
* If a property is indexed, then its entry in the result array will
* belong to the IndexedPropertyDescriptor subclass of
* PropertyDescriptor. A client of getPropertyDescriptors can use
* "instanceof" to check if a given PropertyDescriptor is an
* IndexedPropertyDescriptor.
*/
@Override
public PropertyDescriptor[] getPropertyDescriptors() {
return getPdescriptor();
}
/**
* Gets the bean's <code>EventSetDescriptor</code>s.
*
* @return An array of EventSetDescriptors describing the kinds of events
* fired by this bean. May return null if the information should be
* obtained by automatic analysis.
*/
@Override
public EventSetDescriptor[] getEventSetDescriptors() {
return getEdescriptor();
}
/**
* Gets the bean's <code>MethodDescriptor</code>s.
*
* @return An array of MethodDescriptors describing the methods implemented
* by this bean. May return null if the information should be
* obtained by automatic analysis.
*/
@Override
public MethodDescriptor[] getMethodDescriptors() {
return getMdescriptor();
}
/**
* A bean may have a "default" property that is the property that will
* mostly commonly be initially chosen for update by human's who are
* customizing the bean.
*
* @return Index of default property in the PropertyDescriptor array
* returned by getPropertyDescriptors.
* <P>
* Returns -1 if there is no default property.
*/
@Override
public int getDefaultPropertyIndex() {
return defaultPropertyIndex;
}
/**
* A bean may have a "default" event that is the event that will mostly
* commonly be used by human's when using the bean.
*
* @return Index of default event in the EventSetDescriptor array returned
* by getEventSetDescriptors.
* <P>
* Returns -1 if there is no default event.
*/
@Override
public int getDefaultEventIndex() {
return defaultEventIndex;
}
/**
* This method returns an image object that can be used to represent the
* bean in toolboxes, toolbars, etc. Icon images will typically be GIFs, but
* may in future include other formats.
* <p>
* Beans aren't required to provide icons and may return null from this
* method.
* <p>
* There are four possible flavors of icons (16x16 color, 32x32 color, 16x16
* mono, 32x32 mono). If a bean choses to only support a single icon we
* recommend supporting 16x16 color.
* <p>
* We recommend that icons have a "transparent" background so they can be
* rendered onto an existing background.
*
* @param iconKind
* The kind of icon requested. This should be one of the constant
* values ICON_COLOR_16x16, ICON_COLOR_32x32, ICON_MONO_16x16, or
* ICON_MONO_32x32.
* @return An image object representing the requested icon. May return null
* if no suitable icon is available.
*/
@Override
public java.awt.Image getIcon(final int iconKind) {
switch (iconKind) {
case ICON_COLOR_16x16:
if (iconNameC16 == null)
return null;
else {
if (iconColor16 == null)
iconColor16 = loadImage(iconNameC16);
return iconColor16;
}
case ICON_COLOR_32x32:
if (iconNameC32 == null)
return null;
else {
if (iconColor32 == null)
iconColor32 = loadImage(iconNameC32);
return iconColor32;
}
case ICON_MONO_16x16:
if (iconNameM16 == null)
return null;
else {
if (iconMono16 == null)
iconMono16 = loadImage(iconNameM16);
return iconMono16;
}
case ICON_MONO_32x32:
if (iconNameM32 == null)
return null;
else {
if (iconMono32 == null)
iconMono32 = loadImage(iconNameM32);
return iconMono32;
}
default:
return null;
}
}
}