diff options
Diffstat (limited to 'ajde')
-rw-r--r-- | ajde/src/org/aspectj/ajde/ui/swing/StructureTreeManager.java | 754 |
1 files changed, 375 insertions, 379 deletions
diff --git a/ajde/src/org/aspectj/ajde/ui/swing/StructureTreeManager.java b/ajde/src/org/aspectj/ajde/ui/swing/StructureTreeManager.java index 7cde2b769..474ba1f60 100644 --- a/ajde/src/org/aspectj/ajde/ui/swing/StructureTreeManager.java +++ b/ajde/src/org/aspectj/ajde/ui/swing/StructureTreeManager.java @@ -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 ""; +// } +// } +// } |