home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 November / Chip_1998-11_cd.bin / tema / Cafe / prosrc.bin / RadioBoxBeanInfo.java < prev    next >
Text File  |  1998-03-18  |  4KB  |  137 lines

  1. /*
  2.  * @(#RadioBoxBeanInfo.java
  3.  *
  4.  * Copyright (c) 1997 Symantec Corporation. All Rights Reserved.
  5.  *
  6.  */
  7.  
  8. package symantec.itools.db.awt;
  9.  
  10. import java.beans.*;
  11. import symantec.itools.beans.*;
  12. import java.util.ResourceBundle;
  13.  
  14. /**
  15.  * BeanInfo for the RadioBox component.
  16.  *
  17.  */
  18.  
  19. public class RadioBoxBeanInfo extends SimpleBeanInfo {
  20.  
  21.     /**
  22.      * Constructs a RadioBoxBeanInfo object.
  23.      */
  24.     public RadioBoxBeanInfo() {
  25.     }
  26.  
  27.     /**
  28.      * Gets an array of BeanInfo on the superclasses of this object.
  29.      * The superclasses returned are all assignable from class Object
  30.      * (see isAssignableFrom).
  31.      * @return BeanInfo on this class's superclasses
  32.      * @see java.lang.Class#isAssignableFrom
  33.      */
  34.     public BeanInfo[] getAdditionalBeanInfo() {
  35.         try {
  36.             java.util.Vector v = new java.util.Vector();
  37.             BeanInfo[] rv;
  38.             BeanInfo b;
  39.             Class c = beanClass.getSuperclass();
  40.  
  41.             while (c.isAssignableFrom(Object.class) != true) {
  42.                 b = Introspector.getBeanInfo(c);
  43.                 v.addElement(b);
  44.                 c = c.getSuperclass();
  45.             }
  46.             rv = new BeanInfo[v.size()];
  47.             v.copyInto(rv);
  48.  
  49.             return rv;
  50.         }
  51.         catch (IntrospectionException e) { throw new Error(e.toString());}
  52.     }
  53.  
  54.     /**
  55.      * Gets the SymantecBeanDescriptor for this bean.
  56.      * @return an object of type SymantecBeanDescriptor
  57.      * @see symantec.itools.beans.SymantecBeanDescriptor
  58.      */
  59.     public BeanDescriptor getBeanDescriptor() {
  60.         SymantecBeanDescriptor bd = new SymantecBeanDescriptor(beanClass);
  61.         bd.setFolder("dbAWARE");
  62.         bd.setToolbar("dbAWARE");
  63.         bd.setValue("VPO_Object", new Boolean(true));
  64.         bd.setWinHelp("0x12527");
  65.  
  66.         return (BeanDescriptor) bd;
  67.     }
  68.  
  69.     /**
  70.      * Gets an image that may be used to visually represent this bean
  71.      * (in the toolbar, on a form, etc).
  72.      * @param iconKind the type of icon desired, one of: BeanInfo.ICON_MONO_16x16,
  73.      * BeanInfo.ICON_COLOR_16x16, BeanInfo.ICON_MONO_32x32, or BeanInfo.ICON_COLOR_32x32.
  74.      * @return an image for this bean, always color even if requested monochrome
  75.      * @see BeanInfo#ICON_MONO_16x16
  76.      * @see BeanInfo#ICON_COLOR_16x16
  77.      * @see BeanInfo#ICON_MONO_32x32
  78.      * @see BeanInfo#ICON_COLOR_32x32
  79.      */
  80.     public java.awt.Image getIcon(int iconKind) {
  81.         if (iconKind == BeanInfo.ICON_MONO_16x16 ||
  82.             iconKind == BeanInfo.ICON_COLOR_16x16) {
  83.             java.awt.Image img = loadImage("RadioBoxC16.gif");
  84.             return img;
  85.         }
  86.  
  87.         if (iconKind == BeanInfo.ICON_MONO_32x32 ||
  88.             iconKind == BeanInfo.ICON_COLOR_32x32) {
  89.             java.awt.Image img = loadImage("RadioBoxC32.gif");
  90.             return img;
  91.         }
  92.  
  93.         return null;
  94.     }
  95.  
  96.     /**
  97.      * Gets an array of descriptions of the methods used for "connections" by
  98.      * Visual CafΘ's Interaction Wizard.
  99.      * Included in each method description is a CONNECTIONS ConnectionDescriptor.
  100.      * @return method descriptions for this bean
  101.      * @see symantec.itools.beans.ConnectionDescriptor#CONNECTIONS
  102.      */
  103.     public MethodDescriptor[] getMethodDescriptors() {
  104.         java.util.Vector md = new java.util.Vector();
  105.         MethodDescriptor[] rv = new MethodDescriptor[md.size()];
  106.         return rv;
  107.     }
  108.  
  109.     /**
  110.      * Gets an array of descriptions of this bean's properties.
  111.      * @return property descriptions for this bean
  112.      */
  113.     public PropertyDescriptor[] getPropertyDescriptors() {
  114.         ResourceBundle prop = ResourceBundle.getBundle("symantec.itools.db.resources.PropBundle");
  115.  
  116.         try{
  117.         PropertyDescriptor pd1 = new PropertyDescriptor("dataBinding", beanClass);
  118.         pd1.setBound(false);
  119.         pd1.setConstrained(false);
  120.         pd1.setDisplayName(prop.getString("dataBinding"));
  121.         pd1.setPropertyEditorClass(symantec.itools.db.beans.binding.NameEditor.class);
  122.  
  123.         PropertyDescriptor pd3 = new PropertyDescriptor("emptyMeansNull", beanClass);
  124.         pd3.setBound(false);
  125.         pd3.setConstrained(false);
  126.         pd3.setDisplayName(prop.getString("emptyMeansNull"));
  127.  
  128.         PropertyDescriptor[] rv = {pd1, pd3};
  129.  
  130.         return rv;
  131.         } catch (IntrospectionException e) { throw new Error(e.toString()); }
  132.     }
  133.  
  134.     private final static Class beanClass = RadioBox.class;
  135.  
  136.     }    //  end of class RadioBoxBeanInfo|
  137.