View Javadoc

1   /* -------------------------------------------------------------------
2    * Java source file for the class TextureBeanInfo
3    * 
4    * Copyright (c), 2003, Masahiro Takatsuka.
5    * All Rights Researved.
6    * 
7    * Original Author: Masahiro Takatsuka (masa@jbeans.net)
8    * $Author: takatsukam $
9    * 
10   * $Date: 2004/03/03 11:53:06 $
11   * 
12   * $Id: TextureBeanInfo.java,v 1.3 2004/03/03 11:53:06 takatsukam Exp $
13   * 
14   * Reference:		Document no:
15   * ___				___
16   * 
17   * To Do:
18   * ___
19   * 
20  ------------------------------------------------------------------- */
21  
22  /* --------------------------- Package ---------------------------- */
23  package net.jbeans.j3d.scenegraph;
24  
25  /* ------------------ Import classes (packages) ------------------- *//package-summary/html">class="comment"> ------------------ Import classes (packages) ------------------- *//package-summary.html">class="comment">/* ------------------ Import classes (packages) ------------------- *//package-summary.html">class="comment"> ------------------ Import classes (packages) ------------------- */
26  import java.awt.*;
27  import java.awt.event.*;
28  import java.beans.*;
29  import javax.swing.event.*;
30  
31  import net.jbeans.bean.*;
32  
33  /*====================================================================
34                 Implementation of class TextureBeanInfo                
35  ====================================================================*/
36  /***
37   * generally describe TextureBeanInfo in here
38   * 
39   * @version $Revision: 1.3 $
40   * @author Masahiro Takatsuka (masa@jbeans.net)
41   * @see JBeansBeanInfo
42   */
43  
44  public final class TextureBeanInfo extends JBeansBeanInfo {
45      private final static Class beanClass = Texture.class;
46  	
47  	private static String iconColor16x16Filename = "resources/Texture/IconColor16.gif";
48  	private static String iconColor32x32Filename = "resources/Texture/IconColor32.gif";
49  	private static String iconMono16x16Filename;
50  	private static String iconMono32x32Filename;
51  	
52  	/***
53  	* Returns a icons of the specified size.
54  	* <PRE>
55  	* </PRE>
56  	* 
57  	* @param iconKind an ID (ICON_COLOR_16x16 or ICON_COLOR_32x32)
58  	* indicating the size of the icon.
59  	* @return Image
60  	*/
61  	public Image getIcon(int iconKind) {
62  		switch (iconKind) {
63  			case BeanInfo.ICON_COLOR_16x16:
64  			  return iconColor16x16Filename != null ? loadImage(iconColor16x16Filename) : null;
65  			case BeanInfo.ICON_COLOR_32x32:
66  			  return iconColor32x32Filename != null ? loadImage(iconColor32x32Filename) : null;
67  			case BeanInfo.ICON_MONO_16x16:
68  			  return iconMono16x16Filename != null ? loadImage(iconMono16x16Filename) : null;
69  			case BeanInfo.ICON_MONO_32x32:
70  			  return iconMono32x32Filename != null ? loadImage(iconMono32x32Filename) : null;
71  		}
72  		return null;
73  	}
74  
75      protected PropertyDescriptor createPropertyDescriptor(String s, Object aobj[]) {
76          return super.createPropertyDescriptor(beanClass, s, aobj);
77      }
78  
79  	/***
80  	* Returns a BeanDescriptor for AmbientLight bean.
81  	* <PRE>
82  	* </PRE>
83  	* 
84  	* @return BeanDescriptor
85  	*/
86      public BeanDescriptor getBeanDescriptor() {
87          BeanDescriptor bd = createBeanDescriptor(beanClass, new Object[] {
88              "preferred", Boolean.TRUE, "isContainer", Boolean.FALSE, "shortDescription", "An ambient light component."
89          });
90  		//bd.setValue("hidden-state", Boolean.TRUE);
91          bd.setValue("helpSetName", "net/jbeans/j3d/scenegraph/resources/Texture/jhelpset.hs");
92  		return bd;
93      }
94  	
95  	/***
96  	 * Returns PropertyDescriptors associated with a AmbientLight bean.
97  	 * <PRE>
98  	 * </PRE>
99  	 * 
100 	 * @return PropertyDescriptor[]
101 	 */
102    	public PropertyDescriptor[] getPropertyDescriptors() {
103   		Object magfilter[] = {
104 			"FASTEST", new Integer(Texture.FASTEST), "Texture.FASTEST",
105 			"NICEST", new Integer(Texture.NICEST), "Texture.NICEST",
106 			"BASE_LEVEL_POINT", new Integer(Texture.BASE_LEVEL_POINT), "Texture.BASE_LEVEL_POINT",
107 			"BASE_LEVEL_LINEAR", new Integer(Texture.BASE_LEVEL_LINEAR), "Texture.BASE_LEVEL_LINEAR"
108   		};
109   		Object minfilter[] = {
110 			"FASTEST", new Integer(Texture.FASTEST), "Texture.FASTEST",
111 			"NICEST", new Integer(Texture.NICEST), "Texture.NICEST",
112 			"BASE_LEVEL_POINT", new Integer(Texture.BASE_LEVEL_POINT), "Texture.BASE_LEVEL_POINT",
113 			"BASE_LEVEL_LINEAR", new Integer(Texture.BASE_LEVEL_LINEAR), "Texture.BASE_LEVEL_LINEAR",
114 			"MULTI_LEVEL_POINT", new Integer(Texture.MULTI_LEVEL_POINT), "Texture.MULTI_LEVEL_POINT",
115 			"MULTI_LEVEL_LINEAR", new Integer(Texture.MULTI_LEVEL_LINEAR), "Texture.MULTI_LEVEL_LINEAR"
116   		};
117   		Object mipmapmode[] = {
118 			"BASE_LEVEL", new Integer(Texture.BASE_LEVEL), "Texture.BASE_LEVEL",
119 			"MULTI_LEVEL_MIPMAP", new Integer(Texture.MULTI_LEVEL_MIPMAP), "Texture.MULTI_LEVEL_MIPMAP"
120   		};
121   		return (new PropertyDescriptor[] {
122   			createPropertyDescriptor("boundaryColor", new Object[] {
123   				BOUND, Boolean.TRUE, PREFERRED, Boolean.TRUE, "visualUpdate", Boolean.TRUE, "shortDescription", "Set the boundary color."}),
124   			createPropertyDescriptor("boundaryModeS", new Object[] {
125   				BOUND, Boolean.TRUE, PREFERRED, Boolean.TRUE, "visualUpdate", Boolean.TRUE, "shortDescription", "Set the boundaryModeS."}),
126   			createPropertyDescriptor("boundaryModeT", new Object[] {
127   				BOUND, Boolean.TRUE, PREFERRED, Boolean.TRUE, "visualUpdate", Boolean.TRUE, "shortDescription", "Set the boundaryModeT."}),
128   			createPropertyDescriptor("enable", new Object[] {
129   				BOUND, Boolean.TRUE, PREFERRED, Boolean.TRUE, "visualUpdate", Boolean.TRUE, "shortDescription", "Set the enable."}),
130   			createPropertyDescriptor("magFilter", new Object[] {
131   				BOUND, Boolean.TRUE, "enumerationValues", magfilter, PREFERRED, Boolean.TRUE, "visualUpdate", Boolean.TRUE, "shortDescription", "Set the diffuse color."}),
132   			createPropertyDescriptor("minFilter", new Object[] {
133   				BOUND, Boolean.TRUE, "enumerationValues", minfilter, PREFERRED, Boolean.TRUE, "visualUpdate", Boolean.TRUE, "shortDescription", "Set the diffuse color."}),
134   			createPropertyDescriptor("mipMapMode", new Object[] {
135   				BOUND, Boolean.TRUE, "enumerationValues", mipmapmode, PREFERRED, Boolean.TRUE, "visualUpdate", Boolean.TRUE, "shortDescription", "Set the diffuse color."})
136   		});
137   	}
138 
139 	/***
140 	 * Returns EventSetDescriptors associated with a AmbientLight bean.
141 	 * <PRE>
142 	 * </PRE>
143 	 * 
144 	 * @return EventSetDescriptor[]
145 	 */
146   	public EventSetDescriptor[] getEventSetDescriptors() {
147 		EventSetDescriptor[] rv = {};
148 		return rv;
149   	}	
150 }