/**
* Metaphase Editor - WYSIWYG HTML Editor Component
* Copyright (C) 2010 Rudolf Visagie
* Full text of license can be found in com/metaphaseeditor/LICENSE.txt
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* The author can be contacted at metaphase.editor@gmail.com.
*/
package com.metaphaseeditor;
import java.beans.BeanDescriptor;
import java.beans.EventSetDescriptor;
import java.beans.MethodDescriptor;
import java.beans.PropertyDescriptor;
import java.beans.SimpleBeanInfo;
/**
*
* @author Rudolf Visagie
*/
public class MetaphaseEditorBeanInfo extends SimpleBeanInfo {
// Bean descriptor information will be obtained from introspection.//GEN-FIRST:BeanDescriptor
private static BeanDescriptor beanDescriptor = null;
private static BeanDescriptor getBdescriptor() {
// GEN-HEADEREND:BeanDescriptor
// Here you can add code for customizing the BeanDescriptor.
return beanDescriptor;
}// GEN-LAST:BeanDescriptor
// Properties information will be obtained from introspection.//GEN-FIRST:Properties
private static PropertyDescriptor[] properties = null;
private static PropertyDescriptor[] getPdescriptor() {
// GEN-HEADEREND:Properties
// Here you can add code for customizing the properties array.
return properties;
}// GEN-LAST:Properties
// Event set information will be obtained from introspection.//GEN-FIRST:Events
private static EventSetDescriptor[] eventSets = null;
private static EventSetDescriptor[] getEdescriptor() {
// GEN-HEADEREND:Events
// Here you can add code for customizing the event sets array.
return eventSets;
}// GEN-LAST:Events
// Method information will be obtained from introspection.//GEN-FIRST:Methods
private static MethodDescriptor[] methods = null;
private static MethodDescriptor[] getMdescriptor() {
// 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 final String iconNameC16 = "/com/Icons/MetaphaseEditor/icons/metaphase16x16.png";
private static final String iconNameC32 = "/com/Icons/MetaphaseEditor/icons/metaphase32x32.png";
private static String iconNameM16 = null;
private static String iconNameM32 = null;// GEN-END:Icons
private static int defaultPropertyIndex = -1;// GEN-BEGIN:Idx
private static 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(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;
}
}
}