]> source.dussan.org Git - aspectj.git/commitdiff
formatter chewed on it
authoraclement <aclement>
Thu, 28 Aug 2008 15:36:24 +0000 (15:36 +0000)
committeraclement <aclement>
Thu, 28 Aug 2008 15:36:24 +0000 (15:36 +0000)
ajde/src/org/aspectj/ajde/ui/swing/StructureTreeManager.java

index 7cde2b7697badd583f5b8604c2c412a37f1e58ff..474ba1f60f92f6e28bc1f11afa67efb0a1a1d389 100644 (file)
@@ -12,7 +12,6 @@
  *     Helen Hawkins  Converted to new interface (bug 148190)  
  * ******************************************************************/
 
-     
 package org.aspectj.ajde.ui.swing;
 
 import java.awt.event.MouseListener;
@@ -22,7 +21,6 @@ import javax.swing.SwingUtilities;
 import javax.swing.event.TreeSelectionListener;
 import javax.swing.tree.DefaultMutableTreeNode;
 import javax.swing.tree.DefaultTreeModel;
-import javax.swing.tree.TreeModel;
 import javax.swing.tree.TreeNode;
 import javax.swing.tree.TreePath;
 
@@ -38,407 +36,405 @@ import org.aspectj.bridge.IMessage;
 import org.aspectj.bridge.Message;
 
 /**
- * @author  Mik Kersten
+ * @author Mik Kersten
  */
 class StructureTreeManager {
 
-    private StructureTree structureTree;
-    private SwingTreeViewNodeRenderer cellRenderer = null;
-    private TreeSelectionListener treeListener = null;
-
-    private final StructureTreeModel NO_STRUCTURE_MODEL
-        = new StructureTreeModel(new SwingTreeViewNode(IHierarchy.NO_STRUCTURE, new AbstractIcon(null), new ArrayList()));
-        
-    /**
-     * @todo   should probably avoid that MouseListener cast
-     */
-    public StructureTreeManager() { 
-        structureTree = new StructureTree();
-        structureTree.setModel(NO_STRUCTURE_MODEL);
-        cellRenderer = new SwingTreeViewNodeRenderer();
-        structureTree.setCellRenderer(cellRenderer);
-        //if (fileView) {
-               treeListener = new StructureViewTreeListener(structureTree);
-        //} else {
-        //     treeListener = new BrowserViewTreeListener(structureTree);
-        //}
-        structureTree.addTreeSelectionListener(treeListener);
-        structureTree.addMouseListener((MouseListener)treeListener);
-    }
+       private StructureTree structureTree;
+       private SwingTreeViewNodeRenderer cellRenderer = null;
+       private TreeSelectionListener treeListener = null;
+
+       private final StructureTreeModel NO_STRUCTURE_MODEL = new StructureTreeModel(new SwingTreeViewNode(IHierarchy.NO_STRUCTURE,
+                       new AbstractIcon(null), new ArrayList()));
+
+       /**
+        * @todo should probably avoid that MouseListener cast
+        */
+       public StructureTreeManager() {
+               structureTree = new StructureTree();
+               structureTree.setModel(NO_STRUCTURE_MODEL);
+               cellRenderer = new SwingTreeViewNodeRenderer();
+               structureTree.setCellRenderer(cellRenderer);
+               // if (fileView) {
+               treeListener = new StructureViewTreeListener(structureTree);
+               // } else {
+               // treeListener = new BrowserViewTreeListener(structureTree);
+               // }
+               structureTree.addTreeSelectionListener(treeListener);
+               structureTree.addMouseListener((MouseListener) treeListener);
+       }
 
        public void highlightNode(IProgramElement node) {
-               highlightNode((SwingTreeViewNode)structureTree.getModel().getRoot(), node);
+               highlightNode((SwingTreeViewNode) structureTree.getModel().getRoot(), node);
        }
 
-    public IProgramElement getSelectedIProgramElement() {
-        return (IProgramElement)((SwingTreeViewNode)structureTree.getLastSelectedPathComponent()).getUserObject();
-    }
-
-    public void scrollToHighlightedNode() {
-        structureTree.scrollPathToVisible(structureTree.getSelectionPath());
-    }
-
-    private void highlightNode(SwingTreeViewNode parent, IProgramElement node) {
-        for (int i = 0; i < parent.getChildCount(); i++) {
-            SwingTreeViewNode currNode = (SwingTreeViewNode)parent.getChildAt(i);
-            IProgramElement sNode = currNode.getStructureNode();
-            if (sNode != null && sNode.equals(node) && currNode.getKind() != IStructureViewNode.Kind.LINK) {
-                TreePath path = new TreePath(currNode.getPath());
-                structureTree.setSelectionPath(path);
-                int currRow = structureTree.getRowForPath(path);
-                structureTree.expandRow(currRow);
-                structureTree.scrollRowToVisible(currRow);
-            } else {
-                highlightNode(currNode, node);
-            }
-        }
-    }
-
-//     public void updateTree(StructureView structureView) {   
-//     displayTree(structureView, 10);
-//     }
-//
-//     public void updateTree(GlobalStructureView structureView) {
-//             displayTree(structureView, depth);              
-//     }
-  
-       public void updateTree(final StructureView structureView) {     
-               if (structureView == null) return;
+       public IProgramElement getSelectedIProgramElement() {
+               return (IProgramElement) ((SwingTreeViewNode) structureTree.getLastSelectedPathComponent()).getUserObject();
+       }
+
+       public void scrollToHighlightedNode() {
+               structureTree.scrollPathToVisible(structureTree.getSelectionPath());
+       }
+
+       private void highlightNode(SwingTreeViewNode parent, IProgramElement node) {
+               for (int i = 0; i < parent.getChildCount(); i++) {
+                       SwingTreeViewNode currNode = (SwingTreeViewNode) parent.getChildAt(i);
+                       IProgramElement sNode = currNode.getStructureNode();
+                       if (sNode != null && sNode.equals(node) && currNode.getKind() != IStructureViewNode.Kind.LINK) {
+                               TreePath path = new TreePath(currNode.getPath());
+                               structureTree.setSelectionPath(path);
+                               int currRow = structureTree.getRowForPath(path);
+                               structureTree.expandRow(currRow);
+                               structureTree.scrollRowToVisible(currRow);
+                       } else {
+                               highlightNode(currNode, node);
+                       }
+               }
+       }
+
+       // public void updateTree(StructureView structureView) {
+       // displayTree(structureView, 10);
+       // }
+       //
+       // public void updateTree(GlobalStructureView structureView) {
+       // displayTree(structureView, depth);
+       // }
+
+       public void updateTree(final StructureView structureView) {
+               if (structureView == null)
+                       return;
                Runnable update = new Runnable() {
-            public void run() {
-                structureTree.removeAll();
-//                SwingTreeViewNode currNode;
-                if (structureView.getRootNode() == null) {
-                       structureTree.setModel(NO_STRUCTURE_MODEL);     
-                } else {
-                       structureTree.setModel(new StructureTreeModel((SwingTreeViewNode)structureView.getRootNode()));
-                }
-
-                if (structureView instanceof GlobalStructureView) {
-                       GlobalStructureView view = (GlobalStructureView)structureView;
-                       if (view.getGlobalViewProperties().getHierarchy() == StructureViewProperties.Hierarchy.DECLARATION) {
-                               expandTreeToFiles(); 
-                       } else {
-                               expandTree(15); 
-                       }
-                } else {
-                       expandTree(10); 
-                }
-                       
-           }
-        };
-  
-        if (SwingUtilities.isEventDispatchThread()) {
-            update.run();
-        } else {
-            try {
-                SwingUtilities.invokeAndWait(update);
-            } catch (Exception e) {
-               Message msg = new Message("Could not update tree.",IMessage.ERROR,e,null);
-               Ajde.getDefault().getMessageHandler().handleMessage(msg);
-            }
-        }
+                       public void run() {
+                               structureTree.removeAll();
+                               // SwingTreeViewNode currNode;
+                               if (structureView.getRootNode() == null) {
+                                       structureTree.setModel(NO_STRUCTURE_MODEL);
+                               } else {
+                                       structureTree.setModel(new StructureTreeModel((SwingTreeViewNode) structureView.getRootNode()));
+                               }
+
+                               if (structureView instanceof GlobalStructureView) {
+                                       GlobalStructureView view = (GlobalStructureView) structureView;
+                                       if (view.getGlobalViewProperties().getHierarchy() == StructureViewProperties.Hierarchy.DECLARATION) {
+                                               expandTreeToFiles();
+                                       } else {
+                                               expandTree(15);
+                                       }
+                               } else {
+                                       expandTree(10);
+                               }
+
+                       }
+               };
+
+               if (SwingUtilities.isEventDispatchThread()) {
+                       update.run();
+               } else {
+                       try {
+                               SwingUtilities.invokeAndWait(update);
+                       } catch (Exception e) {
+                               Message msg = new Message("Could not update tree.", IMessage.ERROR, e, null);
+                               Ajde.getDefault().getMessageHandler().handleMessage(msg);
+                       }
+               }
+       }
+
+       StructureTree getStructureTree() {
+               return structureTree;
        }
 
-    StructureTree getStructureTree() {
-        return structureTree;
-    }
-
-    private void expandTreeToFiles() {
-        for (int i = 0; i < structureTree.getRowCount(); i++) {
-            TreePath path = structureTree.getPathForRow(i);
-            SwingTreeViewNode node = (SwingTreeViewNode)path.getLastPathComponent();
-            if (node.getUserObject() instanceof IProgramElement) {
-                   IProgramElement pNode = (IProgramElement)node.getUserObject();
-                   IProgramElement.Kind kind = pNode.getKind();
-                   if (kind == IProgramElement.Kind.PROJECT
-                                       || kind == IProgramElement.Kind.PACKAGE) {
-                       structureTree.expandPath(path);
-                   } else {
-                       structureTree.collapsePath(path);
-                   }
-            } else {
-               structureTree.collapsePath(path);
-            }
-        }
-        structureTree.expandPath(structureTree.getPathForRow(0));
-    }
-
-    private void expandTree(int depth) {
-        for (int i = 0; i < structureTree.getRowCount(); i++) {
-            TreePath path = structureTree.getPathForRow(i);
-            SwingTreeViewNode node = (SwingTreeViewNode)path.getLastPathComponent();
-            if (path.getPath().length-1 > depth || node.getKind() == IStructureViewNode.Kind.RELATIONSHIP) {
-                structureTree.collapsePath(path);
-            } else {
-                structureTree.expandPath(path);
-            }
-        }
-        structureTree.expandPath(structureTree.getPathForRow(0));
-    }
-
-    private static class StructureTreeModel extends DefaultTreeModel {
-        
+       private void expandTreeToFiles() {
+               for (int i = 0; i < structureTree.getRowCount(); i++) {
+                       TreePath path = structureTree.getPathForRow(i);
+                       SwingTreeViewNode node = (SwingTreeViewNode) path.getLastPathComponent();
+                       if (node.getUserObject() instanceof IProgramElement) {
+                               IProgramElement pNode = (IProgramElement) node.getUserObject();
+                               IProgramElement.Kind kind = pNode.getKind();
+                               if (kind == IProgramElement.Kind.PROJECT || kind == IProgramElement.Kind.PACKAGE) {
+                                       structureTree.expandPath(path);
+                               } else {
+                                       structureTree.collapsePath(path);
+                               }
+                       } else {
+                               structureTree.collapsePath(path);
+                       }
+               }
+               structureTree.expandPath(structureTree.getPathForRow(0));
+       }
+
+       private void expandTree(int depth) {
+               for (int i = 0; i < structureTree.getRowCount(); i++) {
+                       TreePath path = structureTree.getPathForRow(i);
+                       SwingTreeViewNode node = (SwingTreeViewNode) path.getLastPathComponent();
+                       if (path.getPath().length - 1 > depth || node.getKind() == IStructureViewNode.Kind.RELATIONSHIP) {
+                               structureTree.collapsePath(path);
+                       } else {
+                               structureTree.expandPath(path);
+                       }
+               }
+               structureTree.expandPath(structureTree.getPathForRow(0));
+       }
+
+       private static class StructureTreeModel extends DefaultTreeModel {
+
                private static final long serialVersionUID = 1L;
 
                public StructureTreeModel(TreeNode newRoot) {
-            super(newRoot);
-        }
-
-        public void valueForPathChanged(TreePath path, Object newValue) {
-            DefaultMutableTreeNode node = (DefaultMutableTreeNode)path.getLastPathComponent();
-            nodeChanged(node);
-        }
-    }
+                       super(newRoot);
+               }
+
+               public void valueForPathChanged(TreePath path, Object newValue) {
+                       DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
+                       nodeChanged(node);
+               }
+       }
 }
 
-//    /**
-//     * @param   node    if null assume root
-//     */
-//    public void navigationAction(ProgramElementNode node, boolean followedLink, boolean forward) {
-//        if (node == null) {
-//            structureTree.setSelectionRow(0);
-//            structureTree.scrollRowToVisible(0);
-//        } else if (node.getSourceLocation().getSourceFilePath() != null) {
-//            final String fileName = node.getSourceLocation().getSourceFilePath();
-//            final int lineNumber = node.getSourceLocation().getLineNumber();
-//            if (fileName != null && lineNumber > 0) {
-//                Runnable update = new Runnable() {
-//                    public void run() {
-//                        Ajde.getDefault().getEditorManager().showSourceLine(fileName, lineNumber, true);
-//                   }
-//                };
+// /**
+// * @param node if null assume root
+// */
+// public void navigationAction(ProgramElementNode node, boolean followedLink, boolean forward) {
+// if (node == null) {
+// structureTree.setSelectionRow(0);
+// structureTree.scrollRowToVisible(0);
+// } else if (node.getSourceLocation().getSourceFilePath() != null) {
+// final String fileName = node.getSourceLocation().getSourceFilePath();
+// final int lineNumber = node.getSourceLocation().getLineNumber();
+// if (fileName != null && lineNumber > 0) {
+// Runnable update = new Runnable() {
+// public void run() {
+// Ajde.getDefault().getEditorManager().showSourceLine(fileName, lineNumber, true);
+// }
+// };
 //
-//                if (SwingUtilities.isEventDispatchThread()) {
-//                    update.run();
-//                } else {
-//                    try {
-//                        SwingUtilities.invokeAndWait(update);
-//                    } catch (Exception ee) {
+// if (SwingUtilities.isEventDispatchThread()) {
+// update.run();
+// } else {
+// try {
+// SwingUtilities.invokeAndWait(update);
+// } catch (Exception ee) {
 //                        
-//                    }
-//                }
-//            }
-//            if (followedLink) {
-//                highlightNode((SwingTreeViewNode)structureTree.getModel().getRoot(), node);
-//            }
-//        }
-//    }
-
-
-//            if (node instanceof ProgramElementNode) {
-//                ProgramElementNode lexicalNode = (ProgramElementNode)node;
-//                setIcon(getProgramElementNodeIcon(lexicalNode));
-//            } else if (node instanceof RelationNode) {
-//                RelationNode relationNode = (RelationNode)node;
+// }
+// }
+// }
+// if (followedLink) {
+// highlightNode((SwingTreeViewNode)structureTree.getModel().getRoot(), node);
+// }
+// }
+// }
+
+// if (node instanceof ProgramElementNode) {
+// ProgramElementNode lexicalNode = (ProgramElementNode)node;
+// setIcon(getProgramElementNodeIcon(lexicalNode));
+// } else if (node instanceof RelationNode) {
+// RelationNode relationNode = (RelationNode)node;
 //                
-//                setIcon(icons.getAssociationSwingIcon(relationNode.getRelation()));
-//                     this.setFont(new Font(this.getFont().getName(), Font.ITALIC, this.getFont().getSize()));
+// setIcon(icons.getAssociationSwingIcon(relationNode.getRelation()));
+// this.setFont(new Font(this.getFont().getName(), Font.ITALIC, this.getFont().getSize()));
 //
-//            } else if (node instanceof LinkNode) {
-//                LinkNode link = (LinkNode)node;
-//                setIcon(getProgramElementNodeIcon(link.getProgramElementNode()));
-//            } else {
-//                if (node != null && ProgramElementNode.Kind.PACKAGE.equals(node.getKind())) {
-//                    setIcon(icons.getStructureSwingIcon(ProgramElementNode.Kind.PACKAGE));
-//                } else if (node != null && ProgramElementNode.Kind.PROJECT.equals(node.getKind())) {
-//                    setIcon(icons.getStructureSwingIcon(ProgramElementNode.Kind.PROJECT));
-//                } else if (node != null && ProgramElementNode.Kind.FILE.equals(node.getKind())) {
-//                    setIcon(icons.getStructureSwingIcon(ProgramElementNode.Kind.CLASS));
-//                } else {
-//                    setIcon(null);
-//                }
-//            }
-
-//    void updateTree(int depth, GlobalViewProperties properties) {
-//     this.hierarchy = properties.getHierarchy();
-//        displayTree(depth, null);
-//    }
+// } else if (node instanceof LinkNode) {
+// LinkNode link = (LinkNode)node;
+// setIcon(getProgramElementNodeIcon(link.getProgramElementNode()));
+// } else {
+// if (node != null && ProgramElementNode.Kind.PACKAGE.equals(node.getKind())) {
+// setIcon(icons.getStructureSwingIcon(ProgramElementNode.Kind.PACKAGE));
+// } else if (node != null && ProgramElementNode.Kind.PROJECT.equals(node.getKind())) {
+// setIcon(icons.getStructureSwingIcon(ProgramElementNode.Kind.PROJECT));
+// } else if (node != null && ProgramElementNode.Kind.FILE.equals(node.getKind())) {
+// setIcon(icons.getStructureSwingIcon(ProgramElementNode.Kind.CLASS));
+// } else {
+// setIcon(null);
+// }
+// }
+
+// void updateTree(int depth, GlobalViewProperties properties) {
+// this.hierarchy = properties.getHierarchy();
+// displayTree(depth, null);
+// }
 //
-//    void updateTree(String filePath, int depth, GlobalViewProperties properties) {
-//     this.hierarchy = properties.getHierarchy();
-//        if (filePath == null || filePath.equals("")) {
-//            structureTree.setModel(NO_FILE_SELECTED_MODEL);
-//        } else {
-//            structureTree.setRootFilePath(filePath);
-//            displayTree(depth, filePath);
-//        }
-//    }
-
-//            int accessibility = 0;
-//            if (pNode.getAccessibility().contains(ProgramElementNode.Accessibility.PUBLIC)) {
-//                accessibility = 1;
-//            } else if (pNode.getAccessibility().contains(ProgramElementNode.Accessibility.PROTECTED)) {
-//                accessibility = 2;
-//            } else if (pNode.getAccessibility().contains(ProgramElementNode.Accessibility.PRIVATE)) {
-//                accessibility = 3;
-//            } else if (pNode.getAccessibility().contains(ProgramElementNode.Accessibility.PRIVILEGED)) {
-//                accessibility = 3;
-//            }
+// void updateTree(String filePath, int depth, GlobalViewProperties properties) {
+// this.hierarchy = properties.getHierarchy();
+// if (filePath == null || filePath.equals("")) {
+// structureTree.setModel(NO_FILE_SELECTED_MODEL);
+// } else {
+// structureTree.setRootFilePath(filePath);
+// displayTree(depth, filePath);
+// }
+// }
+
+// int accessibility = 0;
+// if (pNode.getAccessibility().contains(ProgramElementNode.Accessibility.PUBLIC)) {
+// accessibility = 1;
+// } else if (pNode.getAccessibility().contains(ProgramElementNode.Accessibility.PROTECTED)) {
+// accessibility = 2;
+// } else if (pNode.getAccessibility().contains(ProgramElementNode.Accessibility.PRIVATE)) {
+// accessibility = 3;
+// } else if (pNode.getAccessibility().contains(ProgramElementNode.Accessibility.PRIVILEGED)) {
+// accessibility = 3;
+// }
 //
-//            if (pNode == null || pNode.getKind() == null) {
-//                return null;
-//            } else if (ProgramElementNode.Kind.PROJECT.equals(pNode.getKind())) {
-//                return icons.getStructureSwingIcon(ProgramElementNode.Kind.PROJECT);
-//            } else if (ProgramElementNode.Kind.PACKAGE.equals(pNode.getKind())) {
-//                return icons.getStructureSwingIcon(ProgramElementNode.Kind.PACKAGE);
-//            } else if (ProgramElementNode.Kind.FILE.equals(pNode.getKind())) {
-//                return icons.getStructureSwingIcon(ProgramElementNode.Kind.CLASS);
-//            } else if (ProgramElementNode.Kind.CLASS.equals(pNode.getKind())) {
-//                switch (accessibility) {
-//                    case 1: return icons.getClassPublicIcon();
-//                    case 2: return icons.getClassProtectedIcon();
-//                    case 3: return icons.getClassPrivateIcon();
-//                    default: return icons.getClassPackageIcon();
-//                }
-//            } else if (ProgramElementNode.Kind.INTERFACE.equals(pNode.getKind())) {
-//                switch (accessibility) {
-//                    case 1: return icons.getInterfacePublicIcon();
-//                    case 2: return icons.getInterfaceProtectedIcon();
-//                    case 3: return icons.getInterfacePrivateIcon();
-//                    default: return icons.getInterfacePackageIcon();
-//                }
-//            } else if (ProgramElementNode.Kind.ASPECT.equals(pNode.getKind())) {
-//                switch (accessibility) {
-//                    case 1: return icons.getAspectPublicIcon();
-//                    case 2: return icons.getAspectProtectedIcon();
-//                    case 3: return icons.getAspectPrivateIcon();
-//                    case 4: return icons.getAspectPrivilegedIcon();
-//                    default: return icons.getAspectPackageIcon();
-//                }
-//            } else if (ProgramElementNode.Kind.METHOD.equals(pNode.getKind())
-//                || ProgramElementNode.Kind.INITIALIZER.equals(pNode.getKind())
-//                || ProgramElementNode.Kind.CONSTRUCTOR.equals(pNode.getKind())) {
-//                switch (accessibility) {
-//                    case 1: return icons.getMethodPublicIcon();
-//                    case 2: return icons.getMethodProtectedIcon();
-//                    case 3: return icons.getMethodPrivateIcon();
-//                    default: return icons.getMethodPackageIcon();
-//                }
-//            } else if (ProgramElementNode.Kind.FIELD.equals(pNode.getKind())) {
-//                switch (accessibility) {
-//                    case 1: return icons.getFieldPublicIcon();
-//                    case 2: return icons.getFieldProtectedIcon();
-//                    case 3: return icons.getFieldPrivateIcon();
-//                    default: return icons.getFieldPackageIcon();
-//                }
-//            } else if (ProgramElementNode.Kind.INTRODUCTION.equals(pNode.getKind())) {
-//                switch (accessibility) {
-//                    case 1: return icons.getIntroductionPublicIcon();
-//                    case 2: return icons.getIntroductionProtectedIcon();
-//                    case 3: return icons.getIntroductionPrivateIcon();
-//                    default: return icons.getIntroductionPackageIcon();
-//                }
-//            } else if (ProgramElementNode.Kind.POINTCUT.equals(pNode.getKind())) {
-//                switch (accessibility) {
-//                    case 1: return icons.getJoinpointPublicIcon();
-//                    case 2: return icons.getJoinpointProtectedIcon();
-//                    case 3: return icons.getJoinpointPrivateIcon();
-//                    default: return icons.getJoinpointPackageIcon();
-//                }
-//            } else if (ProgramElementNode.Kind.ADVICE.equals(pNode.getKind())) {
-//               return icons.getAdviceIcon();
-//            } else if (ProgramElementNode.Kind.DECLARE_PARENTS.equals(pNode.getKind())) {
-//               return icons.getDeclareParentsIcon();
-//            } else if (ProgramElementNode.Kind.DECLARE_ERROR.equals(pNode.getKind())) {
-//               return icons.getDeclareErrorIcon();
-//            } else if (ProgramElementNode.Kind.DECLARE_WARNING.equals(pNode.getKind())) {
-//               return icons.getDeclareWarningIcon();
-//            } else if (ProgramElementNode.Kind.DECLARE_SOFT.equals(pNode.getKind())) {
-//               return icons.getDeclareSoftIcon();
-//            } else if (ProgramElementNode.Kind.CODE.equals(pNode.getKind())) {
-//               return icons.getCodeIcon();
-//            } else {
-//                return null;
-//            }
+// if (pNode == null || pNode.getKind() == null) {
+// return null;
+// } else if (ProgramElementNode.Kind.PROJECT.equals(pNode.getKind())) {
+// return icons.getStructureSwingIcon(ProgramElementNode.Kind.PROJECT);
+// } else if (ProgramElementNode.Kind.PACKAGE.equals(pNode.getKind())) {
+// return icons.getStructureSwingIcon(ProgramElementNode.Kind.PACKAGE);
+// } else if (ProgramElementNode.Kind.FILE.equals(pNode.getKind())) {
+// return icons.getStructureSwingIcon(ProgramElementNode.Kind.CLASS);
+// } else if (ProgramElementNode.Kind.CLASS.equals(pNode.getKind())) {
+// switch (accessibility) {
+// case 1: return icons.getClassPublicIcon();
+// case 2: return icons.getClassProtectedIcon();
+// case 3: return icons.getClassPrivateIcon();
+// default: return icons.getClassPackageIcon();
+// }
+// } else if (ProgramElementNode.Kind.INTERFACE.equals(pNode.getKind())) {
+// switch (accessibility) {
+// case 1: return icons.getInterfacePublicIcon();
+// case 2: return icons.getInterfaceProtectedIcon();
+// case 3: return icons.getInterfacePrivateIcon();
+// default: return icons.getInterfacePackageIcon();
+// }
+// } else if (ProgramElementNode.Kind.ASPECT.equals(pNode.getKind())) {
+// switch (accessibility) {
+// case 1: return icons.getAspectPublicIcon();
+// case 2: return icons.getAspectProtectedIcon();
+// case 3: return icons.getAspectPrivateIcon();
+// case 4: return icons.getAspectPrivilegedIcon();
+// default: return icons.getAspectPackageIcon();
+// }
+// } else if (ProgramElementNode.Kind.METHOD.equals(pNode.getKind())
+// || ProgramElementNode.Kind.INITIALIZER.equals(pNode.getKind())
+// || ProgramElementNode.Kind.CONSTRUCTOR.equals(pNode.getKind())) {
+// switch (accessibility) {
+// case 1: return icons.getMethodPublicIcon();
+// case 2: return icons.getMethodProtectedIcon();
+// case 3: return icons.getMethodPrivateIcon();
+// default: return icons.getMethodPackageIcon();
+// }
+// } else if (ProgramElementNode.Kind.FIELD.equals(pNode.getKind())) {
+// switch (accessibility) {
+// case 1: return icons.getFieldPublicIcon();
+// case 2: return icons.getFieldProtectedIcon();
+// case 3: return icons.getFieldPrivateIcon();
+// default: return icons.getFieldPackageIcon();
+// }
+// } else if (ProgramElementNode.Kind.INTRODUCTION.equals(pNode.getKind())) {
+// switch (accessibility) {
+// case 1: return icons.getIntroductionPublicIcon();
+// case 2: return icons.getIntroductionProtectedIcon();
+// case 3: return icons.getIntroductionPrivateIcon();
+// default: return icons.getIntroductionPackageIcon();
+// }
+// } else if (ProgramElementNode.Kind.POINTCUT.equals(pNode.getKind())) {
+// switch (accessibility) {
+// case 1: return icons.getJoinpointPublicIcon();
+// case 2: return icons.getJoinpointProtectedIcon();
+// case 3: return icons.getJoinpointPrivateIcon();
+// default: return icons.getJoinpointPackageIcon();
+// }
+// } else if (ProgramElementNode.Kind.ADVICE.equals(pNode.getKind())) {
+// return icons.getAdviceIcon();
+// } else if (ProgramElementNode.Kind.DECLARE_PARENTS.equals(pNode.getKind())) {
+// return icons.getDeclareParentsIcon();
+// } else if (ProgramElementNode.Kind.DECLARE_ERROR.equals(pNode.getKind())) {
+// return icons.getDeclareErrorIcon();
+// } else if (ProgramElementNode.Kind.DECLARE_WARNING.equals(pNode.getKind())) {
+// return icons.getDeclareWarningIcon();
+// } else if (ProgramElementNode.Kind.DECLARE_SOFT.equals(pNode.getKind())) {
+// return icons.getDeclareSoftIcon();
+// } else if (ProgramElementNode.Kind.CODE.equals(pNode.getKind())) {
+// return icons.getCodeIcon();
+// } else {
+// return null;
+// }
 
 //                
-//                if (relationNode.getKind().equals(org.aspectj.asm.associations.Advice.NAME) ||
-//                    relationNode.getKind().equals(org.aspectj.asm.associations.Introduction.NAME)) {
-//                    if (relationNode.getRelation().getBackNavigationName().equals(relationNode.getName()) ){
-//                        setIcon(icons.getRelationAdviceBackIcon());
-//                    } else {
-//                     setIcon(icons.getAssociationSwingIcon(relationNode.getRelation()));
-//                        setIcon(icons.getRelationAdviceForwardIcon());
-//                    }
-//                } else if (relationNode.getKind().equals(org.aspectj.asm.associations.Inheritance.NAME)) {
-//                    if (relationNode.getRelation().getBackNavigationName().equals(relationNode.getName()) ){
-//                        setIcon(icons.getRelationInheritanceBackIcon());
-//                    } else {
-//                        setIcon(icons.getRelationInheritanceForwardIcon());
-//                    }
-//                } else {
-//                    if (relationNode.getRelation().getBackNavigationName().equals(relationNode.getName()) ){
-//                        setIcon(icons.getRelationReferenceBackIcon());
-//                    } else {
-//                        setIcon(icons.getRelationReferenceForwardIcon());
-//                    }
-//                }
-
-//    public ProgramElementNode getRootProgramElementNode() {
-//        IProgramElement node = (IProgramElement)((SwingTreeViewNode)structureTree.getModel().getRoot()).getUserObject();
-//        if (node instanceof ProgramElementNode) {
-//            return (ProgramElementNode)node;
-//        } else {
-//            return null;
-//        }
-//    }
-
-//    /**
-//     * @todo    HACK: this is a workaround and can break
-//     */
-//    private static ProgramElementNode mapResult = null;
-//    private ProgramElementNode getNodeForLink(LinkNode node, IProgramElement rootNode) {
-//        ProgramElementNode result = null;
-//        if (rootNode instanceof ProgramElementNode &&
-//            ((ProgramElementNode)rootNode).getName().equals(node.getProgramElementNode().getName())) {
-//            mapResult = (ProgramElementNode)rootNode;
-//        } else {
-//            ProgramElementNode linkedNode = node.getProgramElementNode();
-//            for (Iterator it = rootNode.getChildren().iterator(); it.hasNext(); ) {
-//                IProgramElement child = (IProgramElement)it.next();
-//                getNodeForLink(node, child);
-//            }
-//        }
-//        return mapResult;
-//    }
-
-//    private void sortNodes(List nodes) {
-//        if (sortNodes) {
-//            Collections.sort(nodes, IProgramElementComparator);
-//        }
-//    }
-    
-//     private class IProgramElementComparator implements Comparator {
-//             public int compare(Object o1, Object o2) {
-//                     IProgramElement t1 = (IProgramElement) ((SwingTreeViewNode) o1).getUserObject();
-//                     IProgramElement t2 = (IProgramElement) ((SwingTreeViewNode) o2).getUserObject();
-//                     if (t1 instanceof ProgramElementNode && t2 instanceof ProgramElementNode) {
-//                             ProgramElementNode p1 = (ProgramElementNode) t1;
-//                             ProgramElementNode p2 = (ProgramElementNode) t2;
-//                             return p1.getName().compareTo(p2.getName());
-//                     } else {
-//                             return 0;
-//                     }
-//             }
-//     }
-
-//    private class StructureViewNodeAdapter extends DefaultMutableTreeNode {
+// if (relationNode.getKind().equals(org.aspectj.asm.associations.Advice.NAME) ||
+// relationNode.getKind().equals(org.aspectj.asm.associations.Introduction.NAME)) {
+// if (relationNode.getRelation().getBackNavigationName().equals(relationNode.getName()) ){
+// setIcon(icons.getRelationAdviceBackIcon());
+// } else {
+// setIcon(icons.getAssociationSwingIcon(relationNode.getRelation()));
+// setIcon(icons.getRelationAdviceForwardIcon());
+// }
+// } else if (relationNode.getKind().equals(org.aspectj.asm.associations.Inheritance.NAME)) {
+// if (relationNode.getRelation().getBackNavigationName().equals(relationNode.getName()) ){
+// setIcon(icons.getRelationInheritanceBackIcon());
+// } else {
+// setIcon(icons.getRelationInheritanceForwardIcon());
+// }
+// } else {
+// if (relationNode.getRelation().getBackNavigationName().equals(relationNode.getName()) ){
+// setIcon(icons.getRelationReferenceBackIcon());
+// } else {
+// setIcon(icons.getRelationReferenceForwardIcon());
+// }
+// }
+
+// public ProgramElementNode getRootProgramElementNode() {
+// IProgramElement node = (IProgramElement)((SwingTreeViewNode)structureTree.getModel().getRoot()).getUserObject();
+// if (node instanceof ProgramElementNode) {
+// return (ProgramElementNode)node;
+// } else {
+// return null;
+// }
+// }
+
+// /**
+// * @todo HACK: this is a workaround and can break
+// */
+// private static ProgramElementNode mapResult = null;
+// private ProgramElementNode getNodeForLink(LinkNode node, IProgramElement rootNode) {
+// ProgramElementNode result = null;
+// if (rootNode instanceof ProgramElementNode &&
+// ((ProgramElementNode)rootNode).getName().equals(node.getProgramElementNode().getName())) {
+// mapResult = (ProgramElementNode)rootNode;
+// } else {
+// ProgramElementNode linkedNode = node.getProgramElementNode();
+// for (Iterator it = rootNode.getChildren().iterator(); it.hasNext(); ) {
+// IProgramElement child = (IProgramElement)it.next();
+// getNodeForLink(node, child);
+// }
+// }
+// return mapResult;
+// }
+
+// private void sortNodes(List nodes) {
+// if (sortNodes) {
+// Collections.sort(nodes, IProgramElementComparator);
+// }
+// }
+
+// private class IProgramElementComparator implements Comparator {
+// public int compare(Object o1, Object o2) {
+// IProgramElement t1 = (IProgramElement) ((SwingTreeViewNode) o1).getUserObject();
+// IProgramElement t2 = (IProgramElement) ((SwingTreeViewNode) o2).getUserObject();
+// if (t1 instanceof ProgramElementNode && t2 instanceof ProgramElementNode) {
+// ProgramElementNode p1 = (ProgramElementNode) t1;
+// ProgramElementNode p2 = (ProgramElementNode) t2;
+// return p1.getName().compareTo(p2.getName());
+// } else {
+// return 0;
+// }
+// }
+// }
+
+// private class StructureViewNodeAdapter extends DefaultMutableTreeNode {
 // 
-//        private StructureViewNode nodeInfo = null;
+// private StructureViewNode nodeInfo = null;
 //
-//        public StructureViewNodeAdapter(StructureViewNode nodeInfo) {
-//            super(nodeInfo, true);
-//            this.nodeInfo = nodeInfo;
-//        }
+// public StructureViewNodeAdapter(StructureViewNode nodeInfo) {
+// super(nodeInfo, true);
+// this.nodeInfo = nodeInfo;
+// }
 //
-//        public String toString() {
-//            if (nodeInfo != null) {
-//                return nodeInfo.toString();
-//            } else {
-//                return "";
-//            }
-//        }
-//    }
-
+// public String toString() {
+// if (nodeInfo != null) {
+// return nodeInfo.toString();
+// } else {
+// return "";
+// }
+// }
+// }