/* **********************************************************************
*
* Use, duplication, or disclosure by the Government is subject to
* restricted rights as set forth in the DFARS.
*
* BBNT Solutions LLC
* A Part of
* Verizon
* 10 Moulton Street
* Cambridge, MA 02138
* (617) 873-3000
*
* Copyright (C) 2002 by BBNT Solutions, LLC
* All Rights Reserved.
* ********************************************************************** */
package com.bbn.openmap.layer.beanbox;
import java.awt.Image;
import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.util.ArrayList;
import java.util.Arrays;
import com.bbn.openmap.tools.beanbox.BeanLayoutEditor;
/**
* A BeanInfo for the
* {@link com.bbn.openmap.layer.beanbox.SimpleBeanContainer}bean
*/
public class SimpleBeanContainerBeanInfo extends SimpleBeanObjectBeanInfo {
public PropertyDescriptor[] getPropertyDescriptors() {
ArrayList<PropertyDescriptor> list = new ArrayList<PropertyDescriptor>(8);
PropertyDescriptor[] pds = super.getPropertyDescriptors();
list.addAll(Arrays.asList(pds));
try {
list.add(new PropertyDescriptor("widthInNM", SimpleBeanContainer.class));
list.add(new PropertyDescriptor("heightInNM", SimpleBeanContainer.class));
PropertyDescriptor pd = new PropertyDescriptor("layoutClass", SimpleBeanContainer.class);
pd.setPropertyEditorClass(LayoutClassEditor.class);
list.add(pd);
pd = new PropertyDescriptor("layoutManager", SimpleBeanContainer.class, "getLayout", "setLayout");
// since layoutManager property is itself a bean
// (of type BeanLayoutManager), use the
// general purpose BeanLayoutEditor class provided in the
// tools.beanbox
// package as the editor class of this bean property.
pd.setPropertyEditorClass(BeanLayoutEditor.class);
list.add(pd);
} catch (IntrospectionException e) {
e.printStackTrace();
}
return list.toArray(new PropertyDescriptor[list.size()]);
}
public Image getIcon(int iconKind) {
Image image = loadImage("/com/bbn/openmap/layer/beanbox/simplebeancontainer.gif");
return image;
}
}