/** * 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; } } }