home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 February / VPR9802A.ISO / APP_DEMO / VC / SOURCE.BIN / StatusScrollerBeanInfo.java < prev    next >
Text File  |  1997-10-27  |  14KB  |  392 lines

  1. package symantec.itools.awt.util;
  2.  
  3. import java.beans.*;
  4. import symantec.itools.beans.*;
  5.  
  6. /**
  7.  * BeanInfo for StatusScroller.
  8.  *
  9.  */
  10.  
  11. public class StatusScrollerBeanInfo extends SimpleBeanInfo {
  12.  
  13.     /**
  14.      * Constructs a StatusScrollerBeanInfo object.
  15.      */
  16.     public StatusScrollerBeanInfo() {
  17.     }
  18.  
  19.     /**
  20.      * Gets a BeanInfo for the superclass of this bean.
  21.      * @return BeanInfo[] containing this bean's superclass BeanInfo
  22.      */
  23.     public BeanInfo[] getAdditionalBeanInfo() {
  24.         try {
  25.             BeanInfo[] bi = new BeanInfo[1];
  26.             bi[0] = Introspector.getBeanInfo(beanClass.getSuperclass());
  27.             return bi;
  28.         }
  29.         catch (IntrospectionException e) { throw new Error(e.toString());}
  30.     }
  31.  
  32.     /**
  33.      * Gets the SymantecBeanDescriptor for this bean.
  34.      * @return an object of type SymantecBeanDescriptor
  35.      * @see symantec.itools.beans.SymantecBeanDescriptor
  36.      */
  37.     public BeanDescriptor getBeanDescriptor() {
  38.         SymantecBeanDescriptor bd = new SymantecBeanDescriptor(beanClass);
  39.         bd.setFolder("ユーティリティ");
  40.         bd.setToolbar("ユーティリティ");
  41. //        bd.setFolder("Utility");
  42. //        bd.setToolbar("Utility");
  43.         bd.setWinHelp("0x12396");
  44.  
  45.         return (BeanDescriptor) bd;
  46.     }
  47.  
  48.     /**
  49.      * Gets an image that may be used to visually represent this bean
  50.      * (in the toolbar, on a form, etc).
  51.      * @param iconKind the type of icon desired, one of: BeanInfo.ICON_MONO_16x16,
  52.      * BeanInfo.ICON_COLOR_16x16, BeanInfo.ICON_MONO_32x32, or BeanInfo.ICON_COLOR_32x32.
  53.      * @return an image for this bean, always color even if requested monochrome
  54.      * @see BeanInfo#ICON_MONO_16x16
  55.      * @see BeanInfo#ICON_COLOR_16x16
  56.      * @see BeanInfo#ICON_MONO_32x32
  57.      * @see BeanInfo#ICON_COLOR_32x32
  58.      */
  59.     public java.awt.Image getIcon(int iconKind) {
  60.         if (iconKind == BeanInfo.ICON_MONO_16x16 ||
  61.             iconKind == BeanInfo.ICON_COLOR_16x16) {
  62.             java.awt.Image img = loadImage("StatusScrollerC16.gif");
  63.             return img;
  64.         }
  65.  
  66.         if (iconKind == BeanInfo.ICON_MONO_32x32 ||
  67.             iconKind == BeanInfo.ICON_COLOR_32x32) {
  68.             java.awt.Image img = loadImage("StatusScrollerC32.gif");
  69.             return img;
  70.         }
  71.  
  72.         return null;
  73.     }
  74.  
  75.     /**
  76.      * Gets an array of descriptions of the methods used for "connections" by
  77.      * Visual Caf's Interaction Wizard.
  78.      * Included in each method description is a CONNECTIONS ConnectionDescriptor.
  79.      * @return method descriptions for this bean
  80.      * @see symantec.itools.beans.ConnectionDescriptor#CONNECTIONS
  81.      */
  82.     public MethodDescriptor[] getMethodDescriptors() {
  83.         Class[] args;
  84.         ConnectionDescriptor connection;
  85.         java.util.Vector connections;
  86.         java.util.Vector md = new java.util.Vector();
  87.  
  88.         try{
  89.             args = null;
  90.             MethodDescriptor isScrollClean = new MethodDescriptor(beanClass.getMethod("isScrollClean", args));
  91.  
  92.             connections = new java.util.Vector();
  93.             connection = new ConnectionDescriptor("output", "boolean", "",
  94.                                     "%name%.isScrollClean()",
  95.                                     "クリーンスクロールの方法を取得する");
  96. //                                    "Get Scroll Clean mode");
  97.             connections.addElement(connection);
  98.  
  99.             isScrollClean.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  100.             md.addElement(isScrollClean);
  101.         } catch (Exception e) { throw new Error("isScrollClean:: " + e.toString()); }
  102.  
  103.         try{
  104.             args = new Class[1];
  105.             args[0] = java.lang.Boolean.TYPE ;
  106.             MethodDescriptor setScrollClean = new MethodDescriptor(beanClass.getMethod("setScrollClean", args));
  107.  
  108.             connections = new java.util.Vector();
  109.             connection = new ConnectionDescriptor("input", "boolean", "",
  110.                                     "%name%.setScrollClean(%arg%);",
  111.                                     "クリーンスクロールの方法を設定する");
  112. //                                    "Set Scroll Clean mode");
  113.             connections.addElement(connection);
  114.  
  115.             setScrollClean.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  116.             md.addElement(setScrollClean);
  117.         } catch (Exception e) { throw new Error("setScrollClean:: " + e.toString()); }
  118.  
  119.         try{
  120.             args = new Class[1];
  121.             args[0] = java.lang.String.class ;
  122.             MethodDescriptor setString = new MethodDescriptor(beanClass.getMethod("setString", args));
  123.  
  124.             connections = new java.util.Vector();
  125.             connection = new ConnectionDescriptor("input", "String", "",
  126.                                     "%name%.setString(%arg%);",
  127.                                     "スクロール文字列を設定する");
  128. //                                    "Set the Scrolling String");
  129.             connections.addElement(connection);
  130.  
  131.             setString.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  132.             md.addElement(setString);
  133.         } catch (Exception e) { throw new Error("setString:: " + e.toString()); }
  134.  
  135.         try{
  136.             args = null;
  137.             MethodDescriptor isRightToLeft = new MethodDescriptor(beanClass.getMethod("isRightToLeft", args));
  138.  
  139.             connections = new java.util.Vector();
  140.             connection = new ConnectionDescriptor("output", "boolean", "",
  141.                                     "%name%.isRightToLeft()",
  142.                                     "スクロール方向(右から左)を取得する");
  143. //                                    "Get Right To Left mode");
  144.             connections.addElement(connection);
  145.  
  146.             isRightToLeft.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  147.             md.addElement(isRightToLeft);
  148.         } catch (Exception e) { throw new Error("isRightToLeft:: " + e.toString()); }
  149.  
  150.         try{
  151.             args = new Class[1];
  152.             args[0] = java.lang.Boolean.TYPE ;
  153.             MethodDescriptor setRightToLeft = new MethodDescriptor(beanClass.getMethod("setRightToLeft", args));
  154.  
  155.             connections = new java.util.Vector();
  156.             connection = new ConnectionDescriptor("input", "void", "",
  157.                                     "%name%.setRightToLeft(%name%.getRightToLeft());",
  158.                                     "スクロール方向を逆転する");
  159. //                                    "Reverse direction");
  160.             connections.addElement(connection);
  161.  
  162.             connection = new ConnectionDescriptor("input", "boolean", "",
  163.                                     "%name%.setRightToLeft(%arg%);",
  164.                                     "スクロール方向(右から左)を設定する");
  165. //                                    "Set Right To Left mode");
  166.             connections.addElement(connection);
  167.  
  168.             setRightToLeft.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  169.             md.addElement(setRightToLeft);
  170.         } catch (Exception e) { throw new Error("setRightToLeft:: " + e.toString()); }
  171.  
  172.         try{
  173.             args = null;
  174.             MethodDescriptor isAutoStart = new MethodDescriptor(beanClass.getMethod("isAutoStart", args));
  175.  
  176.             connections = new java.util.Vector();
  177.             connection = new ConnectionDescriptor("output", "boolean", "",
  178.                                     "%name%.isAutoStart()",
  179.                                     "自動実行の方法を取得する");
  180. //                                    "Get Auto Start mode");
  181.             connections.addElement(connection);
  182.  
  183.             isAutoStart.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  184.             md.addElement(isAutoStart);
  185.         } catch (Exception e) { throw new Error("isAutoStart:: " + e.toString()); }
  186.  
  187.         try{
  188.             args = new Class[1];
  189.             args[0] = java.lang.Integer.TYPE ;
  190.             MethodDescriptor setDelay = new MethodDescriptor(beanClass.getMethod("setDelay", args));
  191.  
  192.             connections = new java.util.Vector();
  193.             connection = new ConnectionDescriptor("input", "int", "",
  194.                                     "%name%.setDelay(%arg%);",
  195.                                     "遅延時間を設定する");
  196. //                                    "Set the delay amount");
  197.             connections.addElement(connection);
  198.  
  199.             setDelay.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  200.             md.addElement(setDelay);
  201.         } catch (Exception e) { throw new Error("setDelay:: " + e.toString()); }
  202.  
  203.         try{
  204.             args = null;
  205.             MethodDescriptor stop = new MethodDescriptor(beanClass.getMethod("stop", args));
  206.  
  207.             connections = new java.util.Vector();
  208.             connection = new ConnectionDescriptor("input", "void", "",
  209.                                     "%name%.stop();",
  210.                                     "スクロールを中止する");
  211. //                                    "Stop scrolling");
  212.             connections.addElement(connection);
  213.  
  214.             stop.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  215.             md.addElement(stop);
  216.         } catch (Exception e) { throw new Error("stop:: " + e.toString()); }
  217.  
  218.         try{
  219.             args = new Class[1];
  220.             args[0] = java.lang.Boolean.TYPE ;
  221.             MethodDescriptor setRepeat = new MethodDescriptor(beanClass.getMethod("setRepeat", args));
  222.  
  223.             connections = new java.util.Vector();
  224.             connection = new ConnectionDescriptor("input", "boolean", "",
  225.                                     "%name%.setRepeat(%arg%);",
  226.                                     "繰り返し状態を設定する");
  227. //                                    "Set Repeat mode");
  228.             connections.addElement(connection);
  229.  
  230.             setRepeat.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  231.             md.addElement(setRepeat);
  232.         } catch (Exception e) { throw new Error("setRepeat:: " + e.toString()); }
  233.  
  234.         try{
  235.             args = null;
  236.             MethodDescriptor isRepeat = new MethodDescriptor(beanClass.getMethod("isRepeat", args));
  237.  
  238.             connections = new java.util.Vector();
  239.             connection = new ConnectionDescriptor("output", "boolean", "",
  240.                                     "%name%.isRepeat()",
  241.                                     "繰り返し状態を取得する");
  242. //                                    "Get Repeat mode");
  243.             connections.addElement(connection);
  244.  
  245.             isRepeat.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  246.             md.addElement(isRepeat);
  247.         } catch (Exception e) { throw new Error("isRepeat:: " + e.toString()); }
  248.  
  249.         try{
  250.             args = null;
  251.             MethodDescriptor getString = new MethodDescriptor(beanClass.getMethod("getString", args));
  252.  
  253.             connections = new java.util.Vector();
  254.             connection = new ConnectionDescriptor("output", "String", "",
  255.                                     "%name%.getString()",
  256.                                     "スクロール文字列を取得する");
  257. //                                    "Get the Scrolling String");
  258.             connections.addElement(connection);
  259.  
  260.             getString.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  261.             md.addElement(getString);
  262.         } catch (Exception e) { throw new Error("getString:: " + e.toString()); }
  263.  
  264.         try{
  265.             args = null;
  266.             MethodDescriptor getDelay = new MethodDescriptor(beanClass.getMethod("getDelay", args));
  267.  
  268.             connections = new java.util.Vector();
  269.             connection = new ConnectionDescriptor("output", "int", "",
  270.                                     "%name%.getDelay()",
  271.                                     "遅延時間を取得する");
  272. //                                    "Get the delay amount");
  273.             connections.addElement(connection);
  274.  
  275.             getDelay.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  276.             md.addElement(getDelay);
  277.         } catch (Exception e) { throw new Error("getDelay:: " + e.toString()); }
  278.  
  279.         try{
  280.             args = null;
  281.             MethodDescriptor clear = new MethodDescriptor(beanClass.getMethod("clear", args));
  282.  
  283.             connections = new java.util.Vector();
  284.             connection = new ConnectionDescriptor("input", "void", "",
  285.                                     "%name%.clear();",
  286.                                     "ステータスエリアをクリアする");
  287. //                                    "Clear the Status Area");
  288.             connections.addElement(connection);
  289.  
  290.             clear.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  291.             md.addElement(clear);
  292.         } catch (Exception e) { throw new Error("clear:: " + e.toString()); }
  293.  
  294.         try{
  295.             args = null;
  296.             MethodDescriptor start = new MethodDescriptor(beanClass.getMethod("start", args));
  297.  
  298.             connections = new java.util.Vector();
  299.             connection = new ConnectionDescriptor("input", "void", "",
  300.                                     "%name%.start();",
  301.                                     "スクロールを開始する");
  302. //                                    "Start scrolling");
  303.             connections.addElement(connection);
  304.  
  305.             start.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  306.             md.addElement(start);
  307.         } catch (Exception e) { throw new Error("start:: " + e.toString()); }
  308.  
  309.         try{
  310.             args = new Class[1];
  311.             args[0] = java.lang.Boolean.TYPE ;
  312.             MethodDescriptor setAutoStart = new MethodDescriptor(beanClass.getMethod("setAutoStart", args));
  313.  
  314.             connections = new java.util.Vector();
  315.             connection = new ConnectionDescriptor("input", "boolean", "",
  316.                                     "%name%.setAutoStart(%arg%);",
  317.                                     "自動実行の方法を設定する");
  318. //                                    "Set Auto Start mode");
  319.             connections.addElement(connection);
  320.  
  321.             setAutoStart.setValue(ConnectionDescriptor.CONNECTIONS, connections);
  322.             md.addElement(setAutoStart);
  323.         } catch (Exception e) { throw new Error("setAutoStart:: " + e.toString()); }
  324.  
  325.         MethodDescriptor[] rv = new MethodDescriptor[md.size()];
  326.         md.copyInto(rv);
  327.  
  328.         return rv;
  329.     }
  330.  
  331.     /**
  332.      * Returns descriptions of this bean's properties.
  333.      */
  334.     public PropertyDescriptor[] getPropertyDescriptors() {
  335.         try{
  336.         PropertyDescriptor defProperty = new PropertyDescriptor("string", beanClass);
  337.         defProperty.setBound(true);
  338.         defProperty.setConstrained(true);
  339.         defProperty.setDisplayName("文字列");
  340. //        defProperty.setDisplayName("String");
  341.  
  342.         PropertyDescriptor delay = new PropertyDescriptor("delay", beanClass);
  343.         delay.setBound(true);
  344.         delay.setConstrained(true);
  345.         delay.setDisplayName("遅延時間");
  346. //        delay.setDisplayName("Delay");
  347.  
  348.         PropertyDescriptor repeat = new PropertyDescriptor("repeat", beanClass);
  349.         repeat.setBound(true);
  350.         repeat.setConstrained(true);
  351.         repeat.setDisplayName("繰り返し");
  352. //        repeat.setDisplayName("Repeat");
  353.  
  354.         PropertyDescriptor rightToLeft = new PropertyDescriptor("rightToLeft", beanClass);
  355.         rightToLeft.setBound(true);
  356.         rightToLeft.setConstrained(true);
  357.         rightToLeft.setDisplayName("スクロール方向(右から左)");
  358. //        rightToLeft.setDisplayName("Right To Left");
  359.  
  360.         PropertyDescriptor scrollClean = new PropertyDescriptor("scrollClean", beanClass);
  361.         scrollClean.setBound(true);
  362.         scrollClean.setConstrained(true);
  363.         scrollClean.setDisplayName("クリーンスクロール");
  364. //        scrollClean.setDisplayName("Scroll Clean");
  365.  
  366.         PropertyDescriptor autoStart = new PropertyDescriptor("autoStart", beanClass);
  367.         autoStart.setBound(true);
  368.         autoStart.setConstrained(true);
  369.         autoStart.setDisplayName("自動実行");
  370. //        autoStart.setDisplayName("Auto Start");
  371.  
  372.         PropertyDescriptor[] rv = {
  373.             defProperty,
  374.             delay,
  375.             repeat,
  376.             rightToLeft,
  377.             scrollClean,
  378.             autoStart};
  379.         return rv;
  380.         } catch (IntrospectionException e) { throw new Error(e.toString()); }
  381.     }
  382.  
  383.     /**
  384.      * Returns the index of the property expected to be changed most often by the designer.
  385.      */
  386.     public int getDefaultPropertyIndex() {
  387.         return 0;    //  the index for our default property is always 0
  388.     }
  389.  
  390.     private final static Class beanClass = StatusScroller.class;
  391.  
  392.     }    //  end of class StatusScrollerBeanInfo