Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/aspectj/tools/ajde/jbuilder/JBuilderIconRegistry.java


1   
2   /* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
3    *
4    * This file is part of the IDE support for the AspectJ(tm)
5    * programming language; see http://aspectj.org
6    *
7    * The contents of this file are subject to the Mozilla Public License
8    * Version 1.1 (the "License"); you may not use this file except in
9    * compliance with the License. You may obtain a copy of the License at
10   * either http://www.mozilla.org/MPL/ or http://aspectj.org/MPL/.
11   *
12   * Software distributed under the License is distributed on an "AS IS" basis,
13   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14   * for the specific language governing rights and limitations under the
15   * License.
16   *
17   * The Original Code is AspectJ.
18   *
19   * The Initial Developer of the Original Code is Xerox Corporation. Portions
20   * created by Xerox Corporation are Copyright (C) 1999-2002 Xerox Corporation.
21   * All Rights Reserved.
22   *
23   * Contributor(s):
24   */
25  
26  package org.aspectj.tools.ajde.jbuilder;
27  
28  import javax.swing.*;
29  import org.aspectj.ajde.ui.*;
30  import org.aspectj.ajde.ui.swing.*;
31  import com.borland.primetime.ide.BrowserIcons;
32  import com.borland.jbuilder.node.java.*;
33  import org.aspectj.asm.*;
34  
35  /**
36   * @author Mik Kersten
37   */
38  public class JBuilderIconRegistry extends IconRegistry {
39  
40      //public static final JBuilderIconRegistry INSTANCE = new JBuilderIcons();
41  
42    public static final String JBUILDER_RESOURCE_PATH = "org/aspectj/tools/ajde/jbuilder/resources/";
43  
44      private final Icon BUILD = makeJBuilderIcon("build.gif");
45      private final Icon DEBUG = makeJBuilderIcon("debug.gif");
46      private final Icon EXECUTE = makeJBuilderIcon("execute.gif");
47    private final Icon OPTIONS = makeJBuilderIcon("options.gif");
48  
49      public Icon getBuildIcon() { return BUILD; }
50      public Icon getDebugIcon() { return DEBUG; }
51      public Icon getExecuteIcon() { return EXECUTE; }
52    public Icon getBrowserOptionsIcon() { return OPTIONS; }
53  
54    private AbstractIcon wrapIcon(Icon icon) {
55      return new AbstractIcon(icon);  
56    }
57    
58      protected Icon makeJBuilderIcon(String iconPath) {
59          return new ImageIcon(ClassLoader.getSystemResource(JBUILDER_RESOURCE_PATH + iconPath));
60      }
61      
62    public Icon getStructureSwingIcon(ProgramElementNode.Kind kind) {     
63      return getStructureSwingIcon(kind, ProgramElementNode.Accessibility.PUBLIC);
64    }
65    
66    public AbstractIcon getStructureIcon(ProgramElementNode.Kind kind) { 
67      Icon icon = getStructureSwingIcon(kind);
68      if (icon == null) {
69        //System.err.println("> icon: " + super.getStructureIcon(kind));
70        return super.getStructureIcon(kind);
71      } else {
72        return new AbstractIcon(icon);  
73      }
74    }
75    
76    public Icon getStructureSwingIcon(ProgramElementNode.Kind kind, ProgramElementNode.Accessibility accessibility) {     
77      int accessibilityModifier;
78      if (accessibility == ProgramElementNode.Accessibility.PUBLIC) {
79        accessibilityModifier = JavaStructureIcons.PUBLIC;  
80      } else if (accessibility == ProgramElementNode.Accessibility.PACKAGE) {
81        accessibilityModifier = JavaStructureIcons.PACKAGE;  
82      } else if (accessibility == ProgramElementNode.Accessibility.PROTECTED) {
83        accessibilityModifier = JavaStructureIcons.PROTECTED;  
84      } else if (accessibility == ProgramElementNode.Accessibility.PRIVATE) {
85        accessibilityModifier = JavaStructureIcons.PRIVATE;  
86      } else {
87        accessibilityModifier = JavaStructureIcons.PUBLIC;
88      }
89      
90      if (kind == ProgramElementNode.Kind.METHOD) {
91        return JavaStructureIcons.ICONS_METHOD[accessibilityModifier];
92      } else if (kind == ProgramElementNode.Kind.CONSTRUCTOR) {
93        return JavaStructureIcons.ICONS_CONSTRUCTOR[accessibilityModifier];
94      } else if (kind == ProgramElementNode.Kind.FIELD) {
95        return JavaStructureIcons.ICONS_FIELD[accessibilityModifier];
96      } else if (kind == ProgramElementNode.Kind.INTERFACE) {
97        return JavaStructureIcons.ICONS_INTERFACE[accessibilityModifier];
98      } else if (kind == ProgramElementNode.Kind.CLASS) {
99        return JavaStructureIcons.ICONS_CLASS[accessibilityModifier];
100     } else if (kind == ProgramElementNode.Kind.FILE_JAVA) {
101       return BrowserIcons.ICON_FILEJAVA;
102     } else if (kind == ProgramElementNode.Kind.FILE_ASPECTJ) {
103       return BrowserIcons.ICON_FILEJAVA;
104     } else if (kind == ProgramElementNode.Kind.FILE_LST) {
105       return BrowserIcons.ICON_FILEBINARY;
106     } else if (kind == ProgramElementNode.Kind.PACKAGE) {
107       return BrowserIcons.ICON_PACKAGE;
108     //} else if (kind == ProgramElementNode.Kind.PROJECT) {
109     //  return BrowserIcons.ICON_JBPROJECT;
110     } else {
111       return null;//super.getStructureSwingIcon(kind, accessibility);
112     }
113   }
114   
115 //  public Icon getAccessibilitySwingIcon(ProgramElementNode.Accessibility accessibility) {
116 //    JavaStructureIcons.
117 //  }
118 }
119