You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by me...@locus.apache.org on 2000/11/16 22:46:29 UTC

cvs commit: jakarta-ant/src/antidote/org/apache/tools/ant/gui AntTreeCellRenderer.java ResourceManager.java

metasim     00/11/16 13:46:29

  Modified:    src/antidote/org/apache/tools/ant/gui
                        AntTreeCellRenderer.java ResourceManager.java
  Log:
  Added icons to project tree view.
  
  Revision  Changes    Path
  1.2       +20 -3     jakarta-ant/src/antidote/org/apache/tools/ant/gui/AntTreeCellRenderer.java
  
  Index: AntTreeCellRenderer.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/AntTreeCellRenderer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AntTreeCellRenderer.java	2000/11/09 23:14:10	1.1
  +++ AntTreeCellRenderer.java	2000/11/16 21:46:29	1.2
  @@ -56,12 +56,15 @@
   import org.apache.tools.ant.gui.acs.ACSElement;
   import javax.swing.tree.DefaultTreeCellRenderer;
   import javax.swing.JTree;
  +import javax.swing.ImageIcon;
   import java.awt.Component;
  +import java.awt.Image;
  +import java.beans.*;
   
   /**
    * Cell renderer for displaying the Ant XML file in a JTree.
    * 
  - * @version $Revision: 1.1 $ 
  + * @version $Revision: 1.2 $ 
    * @author Simeon Fitch 
    */
   public class AntTreeCellRenderer extends DefaultTreeCellRenderer {
  @@ -75,9 +78,23 @@
                                                     boolean hasFocus) {
           super.getTreeCellRendererComponent(tree, value, sel, expanded,
                                              leaf, row, hasFocus);
  -        if(value instanceof ACSElement) {
  -            setText(((ACSElement)value).getDisplayName());
  +
  +        try {
  +            BeanInfo info = Introspector.getBeanInfo(value.getClass());
  +            Image icon = info.getIcon(BeanInfo.ICON_COLOR_16x16);
  +            setIcon(new ImageIcon(icon));
  +            if(value instanceof ACSElement) {
  +                setText(((ACSElement)value).getDisplayName());
  +            }
  +            else {
  +               setText(info.getBeanDescriptor().getDisplayName());
  +            }
  +        }
  +        catch(IntrospectionException ex) {
  +            // XXX log me.
  +            ex.printStackTrace();
           }
  +
           return this;
       }
   }
  
  
  
  1.4       +15 -1     jakarta-ant/src/antidote/org/apache/tools/ant/gui/ResourceManager.java
  
  Index: ResourceManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/src/antidote/org/apache/tools/ant/gui/ResourceManager.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ResourceManager.java	2000/11/10 20:41:09	1.3
  +++ ResourceManager.java	2000/11/16 21:46:29	1.4
  @@ -63,7 +63,7 @@
    * Singleton class for accessing various resources by the application.
    * Relies on the resource bundles for resource values.
    *
  - * @version $Revision: 1.3 $ 
  + * @version $Revision: 1.4 $ 
    * @author Simeon H.K. Fitch 
    */
   public class ResourceManager {
  @@ -163,6 +163,18 @@
       }
   
   	/** 
  +	 * Get the image as an ImageIcon assigned to the given class with the
  +     * given key.
  +	 * 
  +     * @param clazz The class to load icon for.
  +     * @param key The key for looking up the icon.
  +	 * @return Image as an ImageIcon, or null if not found.
  +	 */
  +    public ImageIcon getImageIcon(Class clazz, String key) {
  +        return getImageIcon(getString(clazz, key));
  +    }
  +
  +	/** 
   	 * Get the image as an ImageIcon with the given file name. 
        * For example "open.gif". The image is loaded from the resources package.
   	 * 
  @@ -170,6 +182,8 @@
   	 * @return Image as an ImageIcon, or null if not found.
   	 */
       public ImageIcon getImageIcon(String fileName) {
  +        if(fileName == null) return null;
  +
           ImageIcon icon = null;
   
           URL location = getClass().getResource("resources/" + fileName);