Update of /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing
In directory sc8-pr-cvs1:/tmp/cvs-serv12630/src/java/xdoclet/gui/swing

Modified Files:
        BeanContextConfigurationPanel.java BeanTreeCellRenderer.java 
        MethodAction.java MethodPanel.java MethodSheet.java 
        PropertySheet.java PropertyText.java 
        SwingValueHolderFactory.java 
Log Message:
Removed the need for xdoclet-plugin.xml. All metadata is now in generated BeanInfo.

Index: BeanContextConfigurationPanel.java
===================================================================
RCS file: 
/cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/BeanContextConfigurationPanel.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** BeanContextConfigurationPanel.java  13 Mar 2003 18:20:38 -0000      1.1
--- BeanContextConfigurationPanel.java  16 Mar 2003 17:06:56 -0000      1.2
***************
*** 5,13 ****
  
  import javax.swing.*;
- import javax.swing.event.TreeSelectionListener;
  import javax.swing.event.TreeSelectionEvent;
  import java.awt.*;
! import java.util.Map;
  import java.util.HashMap;
  
  /**
--- 5,15 ----
  
  import javax.swing.*;
  import javax.swing.event.TreeSelectionEvent;
+ import javax.swing.event.TreeSelectionListener;
+ 
  import java.awt.*;
! 
  import java.util.HashMap;
+ import java.util.Map;
  
  /**
***************
*** 20,24 ****
  public class BeanContextConfigurationPanel extends JPanel {
      private final BeanContextSupportEx _xdocletContainer;
- 
      private final CardLayout _cards = new CardLayout();
      private final JPanel _propertySheets = new JPanel(_cards);
--- 22,25 ----
***************
*** 32,36 ****
          _xdocletContainer = xdocletContainer;
  
!         setLayout(new GridLayout( 1, 0 ));
  
          BeanContextTreeModel treeModel = new BeanContextTreeModel(_xdocletContainer);
--- 33,37 ----
          _xdocletContainer = xdocletContainer;
  
!         setLayout(new GridLayout(1, 0));
  
          BeanContextTreeModel treeModel = new BeanContextTreeModel(_xdocletContainer);
***************
*** 42,62 ****
          // Add a listener that listens for tree selections.
          tree.addTreeSelectionListener(new TreeSelectionListener() {
!             /**
!              * When a node (bean) is selected we want to display editors for
!              * all properties. We're using BeanInfo to figure out what editors
!              * to display.
!              *
!              * @param e
!              */
!             public void valueChanged(TreeSelectionEvent e) {
!                 Object bean = e.getPath().getLastPathComponent();
!                 // Get the property sheet for that bean
! 
!                 PropertySheet propertySheet = getPropertySheet(bean);
!                 showPropertySheet(propertySheet);
!             }
!         });
  
          JScrollPane scroll = new JScrollPane(tree);
          add(scroll);
  
--- 43,65 ----
          // Add a listener that listens for tree selections.
          tree.addTreeSelectionListener(new TreeSelectionListener() {
!                 /**
!                  * When a node (bean) is selected we want to display editors for
!                  * all properties. We're using BeanInfo to figure out what editors
!                  * to display.
!                  *
!                  * @param e
!                  */
!                 public void valueChanged(TreeSelectionEvent e) {
!                     Object bean = e.getPath().getLastPathComponent();
! 
!                     // Get the property sheet for that bean
!                     PropertySheet propertySheet = getPropertySheet(bean);
! 
!                     showPropertySheet(propertySheet);
!                 }
!             });
  
          JScrollPane scroll = new JScrollPane(tree);
+ 
          add(scroll);
  
***************
*** 70,81 ****
       * @param propertySheet
       */
!     private void addPropertySheet( PropertySheet propertySheet ) {
          // JOptionPane.showMessageDialog(null, "Adding propertySheet: " + 
propertySheet.getName() );
!         _propertySheets.add( propertySheet.getName(), propertySheet );
      }
  
!     private void showPropertySheet( PropertySheet propertySheet ) {
          // JOptionPane.showMessageDialog(null, "Showing propertySheet: " + 
propertySheet.getName() );
!         _cards.show( _propertySheets, propertySheet.getName() );
      }
  
--- 73,84 ----
       * @param propertySheet
       */
!     private void addPropertySheet(PropertySheet propertySheet) {
          // JOptionPane.showMessageDialog(null, "Adding propertySheet: " + 
propertySheet.getName() );
!         _propertySheets.add(propertySheet.getName(), propertySheet);
      }
  
!     private void showPropertySheet(PropertySheet propertySheet) {
          // JOptionPane.showMessageDialog(null, "Showing propertySheet: " + 
propertySheet.getName() );
!         _cards.show(_propertySheets, propertySheet.getName());
      }
  
***************
*** 88,96 ****
      private PropertySheet getPropertySheet(Object bean) {
          PropertySheet propertySheet = (PropertySheet) _propertySheetMap.get(bean);
!         if( propertySheet == null ) {
!             propertySheet = new PropertySheet( bean );
!             _propertySheetMap.put( bean, propertySheet );
              addPropertySheet(propertySheet);
          }
          return propertySheet;
      }
--- 91,101 ----
      private PropertySheet getPropertySheet(Object bean) {
          PropertySheet propertySheet = (PropertySheet) _propertySheetMap.get(bean);
! 
!         if (propertySheet == null) {
!             propertySheet = new PropertySheet(bean);
!             _propertySheetMap.put(bean, propertySheet);
              addPropertySheet(propertySheet);
          }
+ 
          return propertySheet;
      }

Index: BeanTreeCellRenderer.java
===================================================================
RCS file: 
/cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/BeanTreeCellRenderer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** BeanTreeCellRenderer.java   13 Mar 2003 18:20:41 -0000      1.1
--- BeanTreeCellRenderer.java   16 Mar 2003 17:06:56 -0000      1.2
***************
*** 1,10 ****
  package xdoclet.gui.swing;
  
- import javax.swing.tree.DefaultTreeCellRenderer;
  import javax.swing.*;
  import java.awt.*;
  import java.beans.BeanInfo;
- import java.beans.Introspector;
  import java.beans.IntrospectionException;
  
  /**
--- 1,12 ----
  package xdoclet.gui.swing;
  
  import javax.swing.*;
+ import javax.swing.tree.DefaultTreeCellRenderer;
+ 
  import java.awt.*;
+ 
  import java.beans.BeanInfo;
  import java.beans.IntrospectionException;
+ import java.beans.Introspector;
  
  /**
***************
*** 15,52 ****
   */
  class BeanTreeCellRenderer extends DefaultTreeCellRenderer {
! 
!     public Component getTreeCellRendererComponent(
!         JTree tree,
!         Object value,
!         boolean sel,
!         boolean expanded,
!         boolean leaf,
!         int row,
!         boolean hasFocus
!     ) {
          // Let the superclass do the dirty work.
!         JLabel result = (JLabel) super.getTreeCellRendererComponent(
!         tree,
!         value,
!         sel,
!         expanded,
!         leaf,
!         row,
!         hasFocus
!         );
  
          try {
              BeanInfo beanInfo = Introspector.getBeanInfo(value.getClass());
  
! //            JOptionPane.showMessageDialog(null,"BeanTreeCellRenderer Got BeanInfo 
for " + value.getClass() + ":" + beanInfo.getClass().getName());
! 
              Image image = beanInfo.getIcon(BeanInfo.ICON_COLOR_16x16);
!             if( image != null ) {
                  result.setIcon(new ImageIcon(image));
              }
              result.setText(beanInfo.getBeanDescriptor().getName());
          } catch (IntrospectionException e) {
!             e.printStackTrace();  //To change body of catch statement use Options | 
File Templates.
          }
          return result;
      }
--- 17,40 ----
   */
  class BeanTreeCellRenderer extends DefaultTreeCellRenderer {
!     public Component getTreeCellRendererComponent(JTree tree, Object value, boolean 
sel, boolean expanded,
!         boolean leaf, int row, boolean hasFocus) {
          // Let the superclass do the dirty work.
!         JLabel result = (JLabel) super.getTreeCellRendererComponent(tree, value, 
sel, expanded, leaf, row, hasFocus);
  
          try {
              BeanInfo beanInfo = Introspector.getBeanInfo(value.getClass());
  
!             //            JOptionPane.showMessageDialog(null,"BeanTreeCellRenderer 
Got BeanInfo for " + value.getClass() + ":" + beanInfo.getClass().getName());
              Image image = beanInfo.getIcon(BeanInfo.ICON_COLOR_16x16);
! 
!             if (image != null) {
                  result.setIcon(new ImageIcon(image));
              }
+ 
              result.setText(beanInfo.getBeanDescriptor().getName());
          } catch (IntrospectionException e) {
!             e.printStackTrace(); //To change body of catch statement use Options | 
File Templates.
          }
+ 
          return result;
      }

Index: MethodAction.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/MethodAction.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** MethodAction.java   13 Mar 2003 18:20:42 -0000      1.1
--- MethodAction.java   16 Mar 2003 17:06:56 -0000      1.2
***************
*** 4,8 ****
--- 4,10 ----
  
  import javax.swing.*;
+ 
  import java.awt.event.ActionEvent;
+ 
  import java.beans.MethodDescriptor;
  
***************
*** 17,25 ****
      private final ValueHolder[] _valueHolders;
  
!     public MethodAction( Object bean, MethodDescriptor methodDescriptor, 
ValueHolder[] valueHolders ) {
          _bean = bean;
          _methodDescriptor = methodDescriptor;
          _valueHolders = valueHolders;
          putValue(Action.NAME, _methodDescriptor.getName());
          //putValue(Action.SMALL_ICON, _methodDescriptor.xxx());
      }
--- 19,28 ----
      private final ValueHolder[] _valueHolders;
  
!     public MethodAction(Object bean, MethodDescriptor methodDescriptor, 
ValueHolder[] valueHolders) {
          _bean = bean;
          _methodDescriptor = methodDescriptor;
          _valueHolders = valueHolders;
          putValue(Action.NAME, _methodDescriptor.getName());
+ 
          //putValue(Action.SMALL_ICON, _methodDescriptor.xxx());
      }
***************
*** 28,42 ****
          try {
              _methodDescriptor.getMethod().invoke(_bean, getArguments());
!         } catch( Exception e ) {
!             JOptionPane.showMessageDialog(null, e.getStackTrace(), e.getMessage(), 
JOptionPane.ERROR_MESSAGE );
          }
      }
  
      private Object[] getArguments() {
!         if( _valueHolders != null ) {
              Object[] arguments = new Object[_valueHolders.length];
!             for( int i = 0; i < arguments.length; i++ ) {
!                 arguments[ i ] = _valueHolders[ i ].getValue();
              }
              return arguments;
          } else {
--- 31,47 ----
          try {
              _methodDescriptor.getMethod().invoke(_bean, getArguments());
!         } catch (Exception e) {
!             JOptionPane.showMessageDialog(null, e.getStackTrace(), e.getMessage(), 
JOptionPane.ERROR_MESSAGE);
          }
      }
  
      private Object[] getArguments() {
!         if (_valueHolders != null) {
              Object[] arguments = new Object[_valueHolders.length];
! 
!             for (int i = 0; i < arguments.length; i++) {
!                 arguments[i] = _valueHolders[i].getValue();
              }
+ 
              return arguments;
          } else {

Index: MethodPanel.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/MethodPanel.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** MethodPanel.java    13 Mar 2003 18:20:44 -0000      1.1
--- MethodPanel.java    16 Mar 2003 17:06:56 -0000      1.2
***************
*** 1,12 ****
  package xdoclet.gui.swing;
  
- import xdoclet.gui.swing.MethodAction;
  import xdoclet.gui.ValueHolder;
  
  import javax.swing.*;
  import java.beans.MethodDescriptor;
  import java.beans.ParameterDescriptor;
  import java.lang.reflect.Method;
- import java.awt.*;
  
  /**
--- 1,15 ----
  package xdoclet.gui.swing;
  
  import xdoclet.gui.ValueHolder;
+ import xdoclet.gui.swing.MethodAction;
  
  import javax.swing.*;
+ 
+ import java.awt.*;
+ 
  import java.beans.MethodDescriptor;
  import java.beans.ParameterDescriptor;
+ 
  import java.lang.reflect.Method;
  
  /**
***************
*** 16,22 ****
   */
  class MethodPanel extends JPanel {
- 
      public MethodPanel(Object bean, MethodDescriptor methodDescriptor) {
!         setLayout(new GridLayout(0,1));
          Method method = methodDescriptor.getMethod();
  
--- 19,25 ----
   */
  class MethodPanel extends JPanel {
      public MethodPanel(Object bean, MethodDescriptor methodDescriptor) {
!         setLayout(new GridLayout(0, 1));
! 
          Method method = methodDescriptor.getMethod();
  
***************
*** 31,41 ****
              for (int p = 0; p < parameterTypes.length; p++) {
                  valueHolders[p] = 
SwingValueHolderFactory.createValueHolder(parameterTypes[p], null);
!                 add( (Component) valueHolders[p] );
              }
          }
  
          MethodAction methodAction = new MethodAction(bean, methodDescriptor, 
valueHolders);
          methodAction.putValue(Action.NAME, methodDescriptor.getDisplayName());
          JButton methodButton = new JButton(methodAction);
          add(methodButton);
      }
--- 34,47 ----
              for (int p = 0; p < parameterTypes.length; p++) {
                  valueHolders[p] = 
SwingValueHolderFactory.createValueHolder(parameterTypes[p], null);
!                 add((Component) valueHolders[p]);
              }
          }
  
          MethodAction methodAction = new MethodAction(bean, methodDescriptor, 
valueHolders);
+ 
          methodAction.putValue(Action.NAME, methodDescriptor.getDisplayName());
+ 
          JButton methodButton = new JButton(methodAction);
+ 
          add(methodButton);
      }

Index: MethodSheet.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/MethodSheet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** MethodSheet.java    13 Mar 2003 18:20:45 -0000      1.1
--- MethodSheet.java    16 Mar 2003 17:06:56 -0000      1.2
***************
*** 3,18 ****
  import xdoclet.gui.swing.MethodPanel;
  
- import java.awt.event.ItemListener;
- import java.awt.event.ItemEvent;
- import java.awt.CardLayout;
- import java.awt.BorderLayout;
  import javax.swing.*;
  import java.beans.BeanInfo;
- import java.beans.Introspector;
  import java.beans.IntrospectionException;
  import java.beans.MethodDescriptor;
  import java.util.ArrayList;
- import java.util.List;
  import java.util.Iterator;
  
  /**
--- 3,21 ----
  import xdoclet.gui.swing.MethodPanel;
  
  import javax.swing.*;
+ 
+ import java.awt.BorderLayout;
+ import java.awt.CardLayout;
+ import java.awt.event.ItemEvent;
+ import java.awt.event.ItemListener;
+ 
  import java.beans.BeanInfo;
  import java.beans.IntrospectionException;
+ import java.beans.Introspector;
  import java.beans.MethodDescriptor;
+ 
  import java.util.ArrayList;
  import java.util.Iterator;
+ import java.util.List;
  
  /**
***************
*** 43,48 ****
--- 46,53 ----
      public MethodSheet(Object bean) {
          setLayout(new BorderLayout());
+ 
          // Populate the sheet with components
          BeanInfo beanInfo = null;
+ 
          try {
              beanInfo = Introspector.getBeanInfo(bean.getClass());
***************
*** 53,57 ****
  
          // JOptionPane.showMessageDialog(null,"PropertySheet Got BeanInfo for " + 
bean.getClass() + ":" + beanInfo.getClass().getName());
- 
          // Set the name on this panel. Needed for CardLayout to work.
          setName(beanInfo.getBeanDescriptor().getName());
--- 58,61 ----
***************
*** 63,70 ****
          // (It will be hidden if it doesn't have @bean.method tags)
          List nonHiddenMethodDescriptors = new ArrayList();
          for (int m = 0; m < methodDescriptors.length; m++) {
!             if( !methodDescriptors[m].isHidden() ) {
                  MethodPanel methodPanel = new MethodPanel(bean, 
methodDescriptors[m]);
!                 _methodPanels.add( "" + m, methodPanel);
                  nonHiddenMethodDescriptors.add(methodDescriptors[m]);
              }
--- 67,76 ----
          // (It will be hidden if it doesn't have @bean.method tags)
          List nonHiddenMethodDescriptors = new ArrayList();
+ 
          for (int m = 0; m < methodDescriptors.length; m++) {
!             if (!methodDescriptors[m].isHidden()) {
                  MethodPanel methodPanel = new MethodPanel(bean, 
methodDescriptors[m]);
! 
!                 _methodPanels.add("" + m, methodPanel);
                  nonHiddenMethodDescriptors.add(methodDescriptors[m]);
              }
***************
*** 72,95 ****
  
          final MethodComboModel model = new 
MethodComboModel(nonHiddenMethodDescriptors);
!         JComboBox methodCombo = new JComboBox( model );
!         add( methodCombo, BorderLayout.NORTH );
!         add( _methodPanels, BorderLayout.CENTER );
  
  
          // Add a selection listener to the combo so we can show the appropriate
          // MethodPanel when it changes.
!         methodCombo.addItemListener( new ItemListener() {
!             public void itemStateChanged(ItemEvent evt) {
!                 int itemIndex = model.getIndexOf(evt.getItem());
!                 _cards.show( _methodPanels, "" + itemIndex );
!             }
!         });
      }
  
      private class MethodComboModel extends DefaultComboBoxModel {
!         public MethodComboModel( List methodDescriptors ) {
!             for( Iterator i = methodDescriptors.iterator(); i.hasNext(); ) {
                  MethodDescriptor md = (MethodDescriptor) i.next();
!                 addElement( md.getDisplayName() );
              }
          }
--- 78,103 ----
  
          final MethodComboModel model = new 
MethodComboModel(nonHiddenMethodDescriptors);
!         JComboBox methodCombo = new JComboBox(model);
  
+         add(methodCombo, BorderLayout.NORTH);
+         add(_methodPanels, BorderLayout.CENTER);
  
          // Add a selection listener to the combo so we can show the appropriate
          // MethodPanel when it changes.
!         methodCombo.addItemListener(new ItemListener() {
!                 public void itemStateChanged(ItemEvent evt) {
!                     int itemIndex = model.getIndexOf(evt.getItem());
! 
!                     _cards.show(_methodPanels, "" + itemIndex);
!                 }
!             });
      }
  
      private class MethodComboModel extends DefaultComboBoxModel {
!         public MethodComboModel(List methodDescriptors) {
!             for (Iterator i = methodDescriptors.iterator(); i.hasNext();) {
                  MethodDescriptor md = (MethodDescriptor) i.next();
! 
!                 addElement(md.getDisplayName());
              }
          }

Index: PropertySheet.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/PropertySheet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** PropertySheet.java  13 Mar 2003 18:20:47 -0000      1.1
--- PropertySheet.java  16 Mar 2003 17:06:56 -0000      1.2
***************
*** 5,12 ****
  
  import javax.swing.*;
  import java.awt.*;
  import java.beans.*;
! import java.lang.reflect.Method;
  import java.lang.reflect.InvocationTargetException;
  
  /**
--- 5,15 ----
  
  import javax.swing.*;
+ 
  import java.awt.*;
+ 
  import java.beans.*;
! 
  import java.lang.reflect.InvocationTargetException;
+ import java.lang.reflect.Method;
  
  /**
***************
*** 19,26 ****
          setLayout(new GridLayout(0, 1));
  
!         JPanel props = new JPanel(new GridLayout(0,1));
  
          // Populate the sheet with components
          BeanInfo beanInfo = null;
          try {
              beanInfo = Introspector.getBeanInfo(bean.getClass());
--- 22,30 ----
          setLayout(new GridLayout(0, 1));
  
!         JPanel props = new JPanel(new GridLayout(0, 1));
  
          // Populate the sheet with components
          BeanInfo beanInfo = null;
+ 
          try {
              beanInfo = Introspector.getBeanInfo(bean.getClass());
***************
*** 31,35 ****
  
          // JOptionPane.showMessageDialog(null,"PropertySheet Got BeanInfo for " + 
bean.getClass() + ":" + beanInfo.getClass().getName());
- 
          // Set the name on this panel. Needed for CardLayout to work.
          setName(beanInfo.getBeanDescriptor().getName());
--- 35,38 ----
***************
*** 37,44 ****
          // Make property editors
          PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
          for (int i = 0; i < propertyDescriptors.length; i++) {
              try {
                  Component editor = createEditorComponent(propertyDescriptors[i], 
bean);
! //                    JOptionPane.showMessageDialog(null,"Adding editor for " +  
propertyDescriptors[i].getPropertyType().getName() + " " + 
propertyDescriptors[i].getName() + ":" + editor.getClass().getName());
                  props.add(new JLabel(propertyDescriptors[i].getName()));
                  props.add(editor);
--- 40,49 ----
          // Make property editors
          PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
+ 
          for (int i = 0; i < propertyDescriptors.length; i++) {
              try {
                  Component editor = createEditorComponent(propertyDescriptors[i], 
bean);
! 
!                 //                    JOptionPane.showMessageDialog(null,"Adding 
editor for " +  propertyDescriptors[i].getPropertyType().getName() + " " + 
propertyDescriptors[i].getName() + ":" + editor.getClass().getName());
                  props.add(new JLabel(propertyDescriptors[i].getName()));
                  props.add(editor);
***************
*** 46,84 ****
                  System.out.println(e.getMessage());
              } catch (HeadlessException e) {
!                 e.printStackTrace();  //To change body of catch statement use 
Options | File Templates.
              }
          }
  
          add(props);
!         add( new MethodSheet(bean));
      }
  
!     private Component createEditorComponent(PropertyDescriptor propertyDescriptor, 
Object bean) throws IntrospectionException {
          // Instantiate a new editor.
          PropertyEditor propertyEditor = 
PropertyEditorManager.findEditor(propertyDescriptor.getPropertyType());
  
          if (propertyEditor == null) {
!             throw new IntrospectionException("No property editor found for type " + 
propertyDescriptor.getPropertyType().getName());
          }
  
          // Ask the bean for its current value.
          Method getter = propertyDescriptor.getReadMethod();
          if (getter != null) {
              try {
                  Object value = getter.invoke(bean, null);
                  propertyEditor.setValue(value);
              } catch (IllegalAccessException e) {
!                 e.printStackTrace();  //To change body of catch statement use 
Options | File Templates.
                  // JOptionPane.showMessageDialog(null,"IllegalAccessException: " + 
e.getMessage());
                  throw new IntrospectionException(e.getMessage());
              } catch (IllegalArgumentException e) {
!                 e.printStackTrace();  //To change body of catch statement use 
Options | File Templates.
                  // JOptionPane.showMessageDialog(null,"IllegalArgumentException: " + 
e.getMessage());
                  throw new IntrospectionException(e.getMessage());
              } catch (InvocationTargetException e) {
!                 e.printStackTrace();  //To change body of catch statement use 
Options | File Templates.
                  // JOptionPane.showMessageDialog(null,"InvocationTargetException: " 
+ e.getMessage());
                  throw new IntrospectionException(e.getMessage());
              }
              // Now figure out how to display it...
              if (propertyEditor.isPaintable() && 
propertyEditor.supportsCustomEditor()) {
--- 51,97 ----
                  System.out.println(e.getMessage());
              } catch (HeadlessException e) {
!                 e.printStackTrace(); //To change body of catch statement use Options 
| File Templates.
              }
          }
  
          add(props);
!         add(new MethodSheet(bean));
      }
  
!     private Component createEditorComponent(PropertyDescriptor propertyDescriptor, 
Object bean)
!         throws IntrospectionException {
          // Instantiate a new editor.
          PropertyEditor propertyEditor = 
PropertyEditorManager.findEditor(propertyDescriptor.getPropertyType());
  
          if (propertyEditor == null) {
!             throw new IntrospectionException("No property editor found for type "
!                 + propertyDescriptor.getPropertyType().getName());
          }
  
          // Ask the bean for its current value.
          Method getter = propertyDescriptor.getReadMethod();
+ 
          if (getter != null) {
              try {
                  Object value = getter.invoke(bean, null);
+ 
                  propertyEditor.setValue(value);
              } catch (IllegalAccessException e) {
!                 e.printStackTrace(); //To change body of catch statement use Options 
| File Templates.
! 
                  // JOptionPane.showMessageDialog(null,"IllegalAccessException: " + 
e.getMessage());
                  throw new IntrospectionException(e.getMessage());
              } catch (IllegalArgumentException e) {
!                 e.printStackTrace(); //To change body of catch statement use Options 
| File Templates.
! 
                  // JOptionPane.showMessageDialog(null,"IllegalArgumentException: " + 
e.getMessage());
                  throw new IntrospectionException(e.getMessage());
              } catch (InvocationTargetException e) {
!                 e.printStackTrace(); //To change body of catch statement use Options 
| File Templates.
! 
                  // JOptionPane.showMessageDialog(null,"InvocationTargetException: " 
+ e.getMessage());
                  throw new IntrospectionException(e.getMessage());
              }
+ 
              // Now figure out how to display it...
              if (propertyEditor.isPaintable() && 
propertyEditor.supportsCustomEditor()) {
***************
*** 91,95 ****
              }
          }
!         throw new IntrospectionException("Property \"" + 
propertyDescriptor.getName() + "\" has non-displayabale editor.");
      }
  }
--- 104,110 ----
              }
          }
! 
!         throw new IntrospectionException("Property \"" + propertyDescriptor.getName()
!             + "\" has non-displayabale editor.");
      }
  }

Index: PropertyText.java
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/PropertyText.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** PropertyText.java   13 Mar 2003 18:20:48 -0000      1.1
--- PropertyText.java   16 Mar 2003 17:06:56 -0000      1.2
***************
*** 2,10 ****
  
  import javax.swing.*;
! import java.beans.PropertyEditor;
! import java.awt.event.KeyEvent;
  import java.awt.event.FocusEvent;
- import java.awt.event.KeyListener;
  import java.awt.event.FocusListener;
  
  /**
--- 2,12 ----
  
  import javax.swing.*;
! 
  import java.awt.event.FocusEvent;
  import java.awt.event.FocusListener;
+ import java.awt.event.KeyEvent;
+ import java.awt.event.KeyListener;
+ 
+ import java.beans.PropertyEditor;
  
  /**
***************
*** 19,22 ****
--- 21,25 ----
          super();
          _propertyEditor = propertyEditor;
+ 
          //addKeyListener(this);
          //addFocusListener(this);
***************
*** 34,38 ****
      //----------------------------------------------------------------------
      // Focus listener methods.
- 
      public void focusGained(FocusEvent e) {
      }
--- 37,40 ----
***************
*** 44,48 ****
      //----------------------------------------------------------------------
      // Keyboard listener methods.
- 
      public void keyReleased(KeyEvent e) {
          if (e.getKeyCode() == KeyEvent.VK_ENTER) {
--- 46,49 ----

Index: SwingValueHolderFactory.java
===================================================================
RCS file: 
/cvsroot/xdoclet/xdoclet2/src/java/xdoclet/gui/swing/SwingValueHolderFactory.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** SwingValueHolderFactory.java        13 Mar 2003 18:20:49 -0000      1.1
--- SwingValueHolderFactory.java        16 Mar 2003 17:06:56 -0000      1.2
***************
*** 5,8 ****
--- 5,9 ----
  
  import javax.swing.*;
+ 
  import java.beans.FeatureDescriptor;
  



-------------------------------------------------------
This SF.net email is sponsored by:Crypto Challenge is now open! 
Get cracking and register here for some mind boggling fun and 
the chance of winning an Apple iPod:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to