383 lines
15 KiB
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;
|
|
}
|
|
}
|
|
|
|
}
|