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

  1. /*
  2.  * @(#ListPlusBeanInfo.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.  
  16. /**
  17.  * BeanInfo for the ListPlus component.
  18.  *
  19.  */
  20.  
  21. public class ListPlusBeanInfo extends SimpleBeanInfo {
  22.  
  23.     /**
  24.      * Constructs a ListPlusBeanInfo object.
  25.      */
  26.     public ListPlusBeanInfo() {
  27.     }
  28.  
  29.     /**
  30.      * Gets BeanInfo for the superclass of this bean.
  31.      * @return BeanInfo[] containing this bean's superclass BeanInfo
  32.      */
  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.setWinHelp("0x123D3");
  64.         // bd.setValue("VPO_Object", new Boolean(true));
  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("ListC16.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("ListC32.gif");
  90.             return img;
  91.         }
  92.  
  93.         return null;
  94.     }
  95.  
  96.     /**
  97.      * Gets an empty MethodDescriptor array.
  98.      * @return an empty array
  99.      */
  100.     public MethodDescriptor[] getMethodDescriptors() {
  101.         return new MethodDescriptor[0];
  102.     }
  103.  
  104.     /**
  105.      * Gets an array of descriptions of this bean's properties.
  106.      * @return property descriptions for this bean
  107.      */
  108.     public PropertyDescriptor[] getPropertyDescriptors() {
  109.         ResourceBundle prop = ResourceBundle.getBundle("symantec.itools.db.resources.PropBundle");
  110.  
  111.         try{
  112.  
  113.         PropertyDescriptor pd1 = new PropertyDescriptor("dataBinding", beanClass);
  114.         pd1.setBound(false);
  115.         pd1.setConstrained(false);
  116.         pd1.setDisplayName(prop.getString("dataBinding"));
  117.         pd1.setPropertyEditorClass(symantec.itools.db.beans.binding.NameEditor.class);
  118.  
  119.         PropertyDescriptor pd2 = new PropertyDescriptor("lookupName", beanClass);
  120.         pd2.setBound(false);
  121.         pd2.setConstrained(false);
  122.         pd2.setDisplayName(prop.getString("lookupName"));
  123.         pd2.setPropertyEditorClass(symantec.itools.db.beans.binding.NameEditor.class);
  124.  
  125.         PropertyDescriptor pd4 = new PropertyDescriptor("triggeringEvent", beanClass);
  126.         pd4.setBound(false);
  127.         pd4.setConstrained(false);
  128.         pd4.setDisplayName(prop.getString("triggeringEvent"));
  129.         pd4.setValue("ENUMERATION", "Focus_Event=1, Item_Event=5, Action_Event=0");
  130.  
  131.         PropertyDescriptor[] rv = {pd1, pd2, pd4};
  132.  
  133.         return rv;
  134.         } catch (IntrospectionException e) { throw new Error(e.toString()); }
  135.     }
  136.  
  137.     /**
  138.      * Returns the index of the property expected to be changed most often by the designer.
  139.      */
  140.     public int getDefaultPropertyIndex() {
  141.         return 0;    //  the index for our default property is always 0
  142.     }
  143.  
  144.     private final static Class beanClass = ListPlus.class;
  145.  
  146. }    //  end of class ListPlusBeanInfo|
  147.