diff options
author | mkersten <mkersten> | 2003-07-25 15:07:57 +0000 |
---|---|---|
committer | mkersten <mkersten> | 2003-07-25 15:07:57 +0000 |
commit | bbd832b4800bc0d7c54d65b2d9d690316e97c6a6 (patch) | |
tree | 89d0dec27daee5980d288214a230a5e93baacd3d /ajde/src | |
parent | bcf8d044c05fb716e1161abddd18da04d2fc2364 (diff) | |
download | aspectj-bbd832b4800bc0d7c54d65b2d9d690316e97c6a6.tar.gz aspectj-bbd832b4800bc0d7c54d65b2d9d690316e97c6a6.zip |
Fix for bug#40771
De-coupled AJDE APIs from javax.swing, and moved browser-specific funtionality into the the ajbrowser module.
Diffstat (limited to 'ajde/src')
11 files changed, 74 insertions, 511 deletions
diff --git a/ajde/src/org/aspectj/ajde/Ajde.java b/ajde/src/org/aspectj/ajde/Ajde.java index b1a473d7e..f75e3de82 100644 --- a/ajde/src/org/aspectj/ajde/Ajde.java +++ b/ajde/src/org/aspectj/ajde/Ajde.java @@ -16,7 +16,6 @@ package org.aspectj.ajde; import org.aspectj.ajde.internal.AspectJBuildManager; import org.aspectj.ajde.internal.LstBuildConfigManager; -import org.aspectj.ajde.ui.EditorManager; import org.aspectj.ajde.ui.IdeUIAdapter; import org.aspectj.ajde.ui.StructureSearchManager; import org.aspectj.ajde.ui.StructureViewManager; @@ -36,14 +35,15 @@ import java.util.List; * * @author Mik Kersten */ -public class Ajde { +public class Ajde { private static final Ajde INSTANCE = new Ajde(); private static final String NOT_INITIALIZED_MESSAGE = "Ajde is not initialized."; private static boolean isInitialized = false; private BuildManager buildManager; - private EditorManager editorManager; +// private EditorManager editorManager; + private EditorAdapter editorAdapter; private StructureViewManager structureViewManager; private StructureSearchManager structureSearchManager; private BuildConfigManager configurationManager ; @@ -77,7 +77,8 @@ public class Ajde { INSTANCE.projectProperties = projectProperties; INSTANCE.errorHandler = errorHandler; INSTANCE.taskListManager = taskListManager; - INSTANCE.editorManager = new EditorManager(editorAdapter); +// INSTANCE.editorManager = new EditorManager(editorAdapter); + INSTANCE.editorAdapter = editorAdapter; INSTANCE.buildManager = new AspectJBuildManager( taskListManager, compileProgressMonitor, @@ -117,9 +118,13 @@ public class Ajde { return buildManager; } - public EditorManager getEditorManager() { - return editorManager; - } +// public EditorManager getEditorManager() { +// return editorManager; +// } + + public EditorAdapter getEditorAdapter() { + return editorAdapter; + } public StructureViewManager getStructureViewManager() { return structureViewManager; @@ -171,7 +176,7 @@ public class Ajde { * instead. */ public StructureModelManager getStructureModelManager() { - return StructureModelManager.INSTANCE; + return StructureModelManager.getDefault(); } public void logEvent(String message) { @@ -302,7 +307,7 @@ public class Ajde { public void compileFinished(String buildConfig, int buildTime, boolean succeeded, boolean warnings) { String configFilePath = projectProperties.getDefaultBuildConfigFile(); if (!succeeded) { - StructureModelManager.INSTANCE.fireModelUpdated(); + StructureModelManager.getDefault().fireModelUpdated(); } } @@ -355,6 +360,9 @@ public class Ajde { this.valid = valid; } } + + + } diff --git a/ajde/src/org/aspectj/ajde/ui/EditorManager.java b/ajde/src/org/aspectj/ajde/ui/EditorManager.java deleted file mode 100644 index e47728dc7..000000000 --- a/ajde/src/org/aspectj/ajde/ui/EditorManager.java +++ /dev/null @@ -1,174 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 1999-2001 Xerox Corporation, - * 2002 Palo Alto Research Center, Incorporated (PARC). - * All rights reserved. - * This program and the accompanying materials are made available - * under the terms of the Common Public License v1.0 - * which accompanies this distribution and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * Xerox/PARC initial implementation - * ******************************************************************/ - - -package org.aspectj.ajde.ui; - -import java.awt.BorderLayout; -import java.awt.event.KeyEvent; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Vector; - -import javax.swing.Box; -import javax.swing.JPanel; -import javax.swing.SwingUtilities; - -import org.aspectj.ajde.Ajde; -import org.aspectj.ajde.EditorAdapter; -import org.aspectj.ajde.EditorListener; -import org.aspectj.ajde.ui.swing.BasicEditor; -import org.aspectj.bridge.ISourceLocation; - -/** - * Responsible for controlling the editor. - * - * @todo remove coupling to <CODE>BasicEditor</CODE> - * @author Mik Kersten - */ -public class EditorManager { - - /** @return true if input modifiers have shift down */ - public static boolean isShiftDown(int modifiers) { - return (0 != (modifiers & KeyEvent.SHIFT_MASK)); - } - - private EditorAdapter editor = null; - private BasicEditor basicEditor = null; - private ArrayList editorListeners = new ArrayList(); - private Vector editors = new Vector(); - private JPanel editor_panel = null; - private Box editors_box = Box.createVerticalBox(); - - public EditorManager(EditorAdapter ajdeEditor) { - if (ajdeEditor instanceof BasicEditor) { - this.basicEditor = (BasicEditor)ajdeEditor; - editors.add(basicEditor); - editors_box.add(basicEditor.getPanel()); - editor_panel = new JPanel(new BorderLayout()); - editor_panel.add(editors_box, BorderLayout.CENTER); - } else { - editors.add(ajdeEditor); - this.editor = ajdeEditor; - } - } - - public void addListener(EditorListener editorListener) { - editorListeners.add(editorListener); - } - - public void removeListener(EditorListener editorListener) { - editorListeners.remove(editorListener); - } - - public void notifyCurrentFileChanged(String filePath) { - for (Iterator it = editorListeners.iterator(); it.hasNext(); ) { - ((EditorListener)it.next()).currentFileChanged(filePath); - } - } - - public void addViewForSourceLine(final String filePath, final int lineNumber) { - if (basicEditor == null) return; - editors_box.remove(basicEditor.getPanel()); - final BasicEditor newEditor = new BasicEditor(); - editors.add(newEditor); - - Runnable update = new Runnable() { - public void run() { - editors_box.add(newEditor.getPanel()); - newEditor.showSourceLine(filePath, lineNumber, true); - //AjdeUIManager.getDefault().getIdeUIAdapter().resetGUI(); - } - }; - - if (SwingUtilities.isEventDispatchThread()) { - update.run(); - } else { - try { - SwingUtilities.invokeAndWait(update); - } catch (Exception e) { - Ajde.getDefault().getErrorHandler().handleError("Could not add view for source line.", e); - } - } - } - - public String getCurrFile() { - if (basicEditor != null) { - return basicEditor.getCurrFile(); - } else { - return editor.getCurrFile(); - } - } - - - public void showSourceLine(ISourceLocation sourceLocation, boolean highlight) { - if (sourceLocation != null) { - showSourceLine( - sourceLocation.getSourceFile().getAbsolutePath(), - sourceLocation.getLine(), - highlight); - } - } - - /** - * @todo remove "instanceof AjdeManager" hack - */ - public void showSourceLine(String filePath, int lineNumber, boolean highlight) { - if (editors.size() > 1) { - editors_box.removeAll(); - editors_box.add(basicEditor.getPanel()); - //AjdeUIManager.getDefault().getIdeUIAdapter().resetGUI(); - editors.removeAllElements(); - editors.add(basicEditor); - } - - if (basicEditor != null) { - basicEditor.showSourceLine(filePath, lineNumber, highlight); - } else { - editor.showSourceLine(filePath, lineNumber, highlight); - } - } - - public void pasteToCaretPos(String text) { - if (basicEditor != null) { - basicEditor.pasteToCaretPos(text); - } else { - editor.pasteToCaretPos(text); - } - } - - public void showSourcelineAnnotation(String filePath, int lineNumber, java.util.List items) { - editor.showSourcelineAnnotation(filePath, lineNumber, items); - } - - public void saveContents() { - try { - for (Iterator it = editors.iterator(); it.hasNext(); ) { - ((EditorAdapter)it.next()).saveContents(); - } - } catch (IOException ioe) { - Ajde.getDefault().getErrorHandler().handleError("Editor could not save the current file.", ioe); - } - } - - public JPanel getEditorPanel() { - if (editor_panel != null) { - return editor_panel; - } else { - return basicEditor.getPanel(); - } - } -} - - diff --git a/ajde/src/org/aspectj/ajde/ui/StructureModelUtil.java b/ajde/src/org/aspectj/ajde/ui/StructureModelUtil.java index 8415b6dfe..81d33f75c 100644 --- a/ajde/src/org/aspectj/ajde/ui/StructureModelUtil.java +++ b/ajde/src/org/aspectj/ajde/ui/StructureModelUtil.java @@ -52,7 +52,7 @@ public class StructureModelUtil { public static Map getLinesToAspectMap(String sourceFilePath) { Map annotationsMap = - StructureModelManager.INSTANCE.getInlineAnnotations( + StructureModelManager.getDefault().getInlineAnnotations( sourceFilePath, true, true); diff --git a/ajde/src/org/aspectj/ajde/ui/StructureViewManager.java b/ajde/src/org/aspectj/ajde/ui/StructureViewManager.java index a6a13a522..ad2be9c79 100644 --- a/ajde/src/org/aspectj/ajde/ui/StructureViewManager.java +++ b/ajde/src/org/aspectj/ajde/ui/StructureViewManager.java @@ -50,10 +50,10 @@ public class StructureViewManager { public final StructureModelListener VIEW_LISTENER = new StructureModelListener() { public void modelUpdated(StructureModel model) { Ajde.getDefault().logEvent("updating structure views: " + structureViews); - - if (defaultFileView != null) { - defaultFileView.setSourceFile(Ajde.getDefault().getEditorManager().getCurrFile()); - } +// +// if (defaultFileView != null) { +// defaultFileView.setSourceFile(Ajde.getDefault().getEditorManager().getCurrFile()); +// } for (Iterator it = structureViews.iterator(); it.hasNext(); ) { treeViewBuilder.buildView((StructureView)it.next(), (StructureModel)model); @@ -67,7 +67,7 @@ public class StructureViewManager { public StructureViewManager(StructureViewNodeFactory nodeFactory) { treeViewBuilder = new TreeStructureViewBuilder(nodeFactory); - StructureModelManager.INSTANCE.addListener(VIEW_LISTENER); + StructureModelManager.getDefault().addListener(VIEW_LISTENER); } public void fireNavigateBackAction(StructureView view) { @@ -138,7 +138,7 @@ public class StructureViewManager { if (defaultFileView.getSourceFile() != null && !defaultFileView.getSourceFile().equals(newFilePath)) { defaultFileView.setSourceFile(newFilePath); - treeViewBuilder.buildView(defaultFileView, StructureModelManager.INSTANCE.getStructureModel()); + treeViewBuilder.buildView(defaultFileView, StructureModelManager.getDefault().getStructureModel()); } } @@ -206,7 +206,7 @@ public class StructureViewManager { if (properties == null) properties = DEFAULT_VIEW_PROPERTIES; FileStructureView view = new FileStructureView(properties); view.setSourceFile(sourceFilePath); - treeViewBuilder.buildView(view, StructureModelManager.INSTANCE.getStructureModel()); + treeViewBuilder.buildView(view, StructureModelManager.getDefault().getStructureModel()); structureViews.add(view); return view; } @@ -222,6 +222,10 @@ public class StructureViewManager { this.defaultFileView = defaultFileView; } + public FileStructureView getDefaultFileView() { + return defaultFileView; + } + static { AVAILABLE_RELATIONS = new ArrayList(); AVAILABLE_RELATIONS.add(AdviceAssociation.METHOD_CALL_SITE_RELATION); @@ -242,6 +246,7 @@ public class StructureViewManager { DEFAULT_VIEW_PROPERTIES = new StructureViewProperties(); DEFAULT_VIEW_PROPERTIES.setRelations(AVAILABLE_RELATIONS); } + } // this.multiFileViewMode = multiFileViewMode; diff --git a/ajde/src/org/aspectj/ajde/ui/swing/AjdeUIManager.java b/ajde/src/org/aspectj/ajde/ui/swing/AjdeUIManager.java index 6fe610e00..f7228aea2 100644 --- a/ajde/src/org/aspectj/ajde/ui/swing/AjdeUIManager.java +++ b/ajde/src/org/aspectj/ajde/ui/swing/AjdeUIManager.java @@ -16,16 +16,8 @@ package org.aspectj.ajde.ui.swing; import java.awt.Frame; -import org.aspectj.ajde.Ajde; -import org.aspectj.ajde.BuildListener; -import org.aspectj.ajde.BuildProgressMonitor; -import org.aspectj.ajde.EditorAdapter; -import org.aspectj.ajde.ErrorHandler; -import org.aspectj.ajde.ProjectPropertiesAdapter; -import org.aspectj.ajde.TaskListManager; -import org.aspectj.ajde.ui.FileStructureView; -import org.aspectj.ajde.ui.IdeUIAdapter; -import org.aspectj.ajde.ui.UserPreferencesAdapter; +import org.aspectj.ajde.*; +import org.aspectj.ajde.ui.*; import org.aspectj.ajde.ui.internal.AjcBuildOptions; /** @@ -45,7 +37,6 @@ public class AjdeUIManager { private OptionsFrame optionsFrame = null; private Frame rootFrame = null; - private StructureViewPanel fileStructurePanel = null; /** * Order of initialization is critical here. @@ -57,8 +48,7 @@ public class AjdeUIManager { UserPreferencesAdapter userPreferencesAdapter, IdeUIAdapter ideUIAdapter, IconRegistry iconRegistry, - Frame rootFrame, - boolean useFileView) { + Frame rootFrame) { try { BuildProgressMonitor compileProgress = new DefaultBuildProgressMonitor(rootFrame); ErrorHandler errorHandler = new AjdeErrorHandler(); @@ -82,15 +72,6 @@ public class AjdeUIManager { Ajde.getDefault().getBuildManager().addListener(STATUS_TEXT_UPDATER); //Ajde.getDefault().setConfigurationManager(configManager); - if (useFileView) { - FileStructureView structureView = Ajde.getDefault().getStructureViewManager().createViewForSourceFile( - Ajde.getDefault().getEditorManager().getCurrFile(), - Ajde.getDefault().getStructureViewManager().getDefaultViewProperties() - ); - Ajde.getDefault().getStructureViewManager().setDefaultFileView(structureView); - fileStructurePanel = new StructureViewPanel(structureView); - } - viewManager = new BrowserViewManager(); optionsFrame = new OptionsFrame(iconRegistry); @@ -161,10 +142,6 @@ public class AjdeUIManager { return buildConfigEditor; } - public StructureViewPanel getFileStructurePanel() { - return fileStructurePanel; - } - public IconRegistry getIconRegistry() { return iconRegistry; } diff --git a/ajde/src/org/aspectj/ajde/ui/swing/BasicEditor.java b/ajde/src/org/aspectj/ajde/ui/swing/BasicEditor.java deleted file mode 100644 index 7d0a46959..000000000 --- a/ajde/src/org/aspectj/ajde/ui/swing/BasicEditor.java +++ /dev/null @@ -1,182 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 1999-2001 Xerox Corporation, - * 2002 Palo Alto Research Center, Incorporated (PARC). - * All rights reserved. - * This program and the accompanying materials are made available - * under the terms of the Common Public License v1.0 - * which accompanies this distribution and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * Xerox/PARC initial implementation - * ******************************************************************/ - - -package org.aspectj.ajde.ui.swing; - -import java.awt.BorderLayout; -import java.awt.Font; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.net.URL; - -import javax.swing.JEditorPane; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.text.BadLocationException; -import javax.swing.text.DefaultHighlighter; - -import org.aspectj.ajde.Ajde; -import org.aspectj.ajde.EditorAdapter; -import org.aspectj.bridge.ISourceLocation; - -/** - * Bare-bones editor implementation used when the framework is being used - * standalone. - * - * @author Mik Kersten - */ -public class BasicEditor implements EditorAdapter { - - private String NO_FILE = "<no file selected>"; - private String filePath = NO_FILE; - private JPanel editor_panel = new JPanel(); - - // @todo get rid of these - private int currHighlightStart = 0; - private int currHighlightEnd = 0; - - private BorderLayout borderLayout1 = new BorderLayout(); - private JScrollPane jScrollPane1 = new JScrollPane(); - private JEditorPane editorPane = new JEditorPane(); - - public BasicEditor() { - try { - editorPane.setEditable(true); - editorPane.setContentType("text/plain"); - editorPane.setFont(new Font("Monospaced", 0, 11)); - editor_panel.add(editorPane); - jbInit(); - } - catch(Exception e) { - Ajde.getDefault().getErrorHandler().handleError("Could not initialize GUI.", e); - } - } - - public String getCurrFile() { - return filePath; - } - - public void showSourceLine(ISourceLocation sourceLocation, boolean highlight) { - showSourceLine(sourceLocation.getSourceFile().getAbsolutePath(), sourceLocation.getLine(), highlight); - } - - public void showSourceLine(int lineNumber, boolean highlight) { - showSourceLine(filePath, lineNumber, highlight); - } - - public void pasteToCaretPos(String text) { - if (currHighlightEnd < 1) return; - String contents = editorPane.getText(); - String pasted = contents.substring(0, currHighlightEnd) + - text + contents.substring(currHighlightEnd, contents.length()); - editorPane.setText(pasted); - } - - public void showSourceLine(String filePath, int lineNumber, boolean highlight) { - //AjdeUIManager.getDefault().getIdeUIAdapter().resetEditor(); - - String oldPath = this.filePath; - this.filePath = filePath; -// if (oldPath != filePath && !Ajde.INSTANCE.BROWSER_MANAGER.isGlobalMode()) { -// Ajde.INSTANCE.BROWSER_MANAGER.updateView(); -// } - -// Ajde.IDE_MANAGER.setEditorStatusText(filePath); - - currHighlightStart = 0; - currHighlightEnd = 0; - editorPane.setText(readFile(filePath, lineNumber)); - try { - editorPane.getHighlighter().addHighlight(currHighlightStart, currHighlightEnd, DefaultHighlighter.DefaultPainter); - editorPane.setCaretPosition(currHighlightStart); - } catch (BadLocationException ble) { - Ajde.getDefault().getErrorHandler().handleError("Could not highlight location.", ble); - } - Ajde.getDefault().getEditorManager().notifyCurrentFileChanged(filePath); - } - - /** - * Not implemented. - */ - public void showSourcelineAnnotation(String filePath, int lineNumber, java.util.List items) { } - - public void addEditorViewForSourceLine(String filePath, int lineNumber) { - - } - - public void saveContents() throws IOException { - if (filePath != NO_FILE && filePath != "" && editorPane.getText() != "") { - BufferedWriter writer = new BufferedWriter(new FileWriter(filePath)); - writer.write(editorPane.getText()); - writer.flush(); - } - } - - public JPanel getPanel() { - return editor_panel; - } - - public void showSourceForFile(String filePath) { } - - public void showSourceForLine(int lineNumber, boolean highlight) { } - - public void showSourceForSourceLine(String filePath, int lineNumber, boolean highlight) { } - - public String getCurrSourceFilePath() { return null; } - - public void setBreakpointRequest(String filePath, int lineNumber, boolean isDeferred) { } - - public void clearBreakpointRequest(String filePath, int lineNumber) { } - - private String readFile(String filePath, int lineNumber) { - try { - URL url = ClassLoader.getSystemResource(filePath); - File file = new File(filePath); - if (!file.exists()) { - return "ERROR: file \"" + filePath + "\" does not exist."; - } - BufferedReader reader = new BufferedReader(new FileReader(file)); - StringBuffer contents = new StringBuffer(); - String line = reader.readLine(); - int numChars = 0; - int numLines = 0; - while (line != null) { - numLines++; - if (numLines < lineNumber) { - currHighlightStart += line.length()+1; - } - if (numLines == lineNumber) { - currHighlightEnd = currHighlightStart + line.length(); - } - contents.append(line); - contents.append('\n'); - line = reader.readLine(); - } - return contents.toString(); - } catch (IOException ioe) { - return "ERROR: could not read file \"" + filePath + "\", make sure that you have mounted /project/aop on X:\\"; - } - } - - private void jbInit() throws Exception { - editor_panel.setFont(new java.awt.Font("DialogInput", 1, 12)); - editor_panel.setLayout(borderLayout1); - editor_panel.add(jScrollPane1, BorderLayout.CENTER); - jScrollPane1.getViewport().add(editorPane, null); - } -} diff --git a/ajde/src/org/aspectj/ajde/ui/swing/BrowserViewManager.java b/ajde/src/org/aspectj/ajde/ui/swing/BrowserViewManager.java index a1798c125..2e21a3631 100644 --- a/ajde/src/org/aspectj/ajde/ui/swing/BrowserViewManager.java +++ b/ajde/src/org/aspectj/ajde/ui/swing/BrowserViewManager.java @@ -14,20 +14,11 @@ package org.aspectj.ajde.ui.swing; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Stack; +import java.util.*; import org.aspectj.ajde.Ajde; -import org.aspectj.ajde.ui.GlobalStructureView; -import org.aspectj.ajde.ui.GlobalViewProperties; -import org.aspectj.ajde.ui.StructureViewProperties; -import org.aspectj.asm.AdviceAssociation; -import org.aspectj.asm.InheritanceAssociation; -import org.aspectj.asm.LinkNode; -import org.aspectj.asm.ProgramElementNode; -import org.aspectj.asm.StructureNode; -import org.aspectj.bridge.ISourceLocation; +import org.aspectj.ajde.ui.*; +import org.aspectj.asm.*; /** * Responsible for displaying and controlling the configuration and output of a @@ -66,24 +57,6 @@ public class BrowserViewManager { return browserPanel; } - public void showSourcesNodes(java.util.List nodes) { - for (Iterator it = nodes.iterator(); it.hasNext(); ) { - ProgramElementNode currNode = null; - StructureNode structureNode = (StructureNode)it.next(); - if (structureNode instanceof LinkNode) { - currNode = ((LinkNode)structureNode).getProgramElementNode(); - } else { - currNode = (ProgramElementNode)structureNode; - } - ISourceLocation sourceLoc = currNode.getSourceLocation(); - if (null != sourceLoc) { - Ajde.getDefault().getEditorManager().addViewForSourceLine( - sourceLoc.getSourceFile().getAbsolutePath(), - sourceLoc.getLine()); - } - } - } - public void extractAndInsertSignatures(java.util.List signatures, boolean calls) { PointcutWizard pointcutWizard = new PointcutWizard(signatures); pointcutWizard.setVisible(true); diff --git a/ajde/src/org/aspectj/ajde/ui/swing/BrowserViewTreeListener.java b/ajde/src/org/aspectj/ajde/ui/swing/BrowserViewTreeListener.java index 2dbc95fa4..814d48e04 100644 --- a/ajde/src/org/aspectj/ajde/ui/swing/BrowserViewTreeListener.java +++ b/ajde/src/org/aspectj/ajde/ui/swing/BrowserViewTreeListener.java @@ -119,6 +119,25 @@ class BrowserViewTreeListener implements TreeSelectionListener, MouseListener { showSourcesItem.addActionListener(new AbstractAction() { public void actionPerformed(ActionEvent e) { //AjdeUIManager.getDefault().getViewManager().showSourcesNodes(signatures); + // USED THE FOLLOWING FROM: BrowserViewManager: +// public void showSourcesNodes(java.util.List nodes) { +// for (Iterator it = nodes.iterator(); it.hasNext(); ) { +// ProgramElementNode currNode = null; +// StructureNode structureNode = (StructureNode)it.next(); +// if (structureNode instanceof LinkNode) { +// currNode = ((LinkNode)structureNode).getProgramElementNode(); +// } else { +// currNode = (ProgramElementNode)structureNode; +// } +// ISourceLocation sourceLoc = currNode.getSourceLocation(); +// if (null != sourceLoc) { +// Ajde.getDefault().getEditorManager().addViewForSourceLine( +// sourceLoc.getSourceFile().getAbsolutePath(), +// sourceLoc.getLine()); +// } +// } +// } + } }); popup.add(showSourcesItem); diff --git a/ajde/src/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java b/ajde/src/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java deleted file mode 100644 index 97904a5dc..000000000 --- a/ajde/src/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java +++ /dev/null @@ -1,54 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 1999-2001 Xerox Corporation, - * 2002 Palo Alto Research Center, Incorporated (PARC). - * All rights reserved. - * This program and the accompanying materials are made available - * under the terms of the Common Public License v1.0 - * which accompanies this distribution and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * Xerox/PARC initial implementation - * ******************************************************************/ - - -package org.aspectj.ajde.ui.swing; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.Iterator; - -import javax.swing.AbstractAction; -import javax.swing.Icon; -import javax.swing.JMenuItem; -import javax.swing.JPopupMenu; - -import org.aspectj.ajde.Ajde; -import org.aspectj.ajde.ui.EditorManager; -import org.aspectj.asm.ProgramElementNode; - -public class BuildConfigPopupMenu extends JPopupMenu { - - public BuildConfigPopupMenu(final AbstractAction action) { - java.util.List configFiles = Ajde.getDefault().getProjectProperties().getBuildConfigFiles(); - for (Iterator it = configFiles.iterator(); it.hasNext(); ) { - final String buildConfig = (String)it.next(); - JMenuItem buildItem = new JMenuItem(buildConfig); - buildItem.setFont(AjdeWidgetStyles.DEFAULT_LABEL_FONT); - buildItem.addActionListener( - new ActionListener() { - public void actionPerformed(ActionEvent e) { - Ajde.getDefault().getConfigurationManager().setActiveConfigFile(buildConfig); - if (EditorManager.isShiftDown(e.getModifiers())) { - Ajde.getDefault().getBuildManager().buildFresh(); - } else { - Ajde.getDefault().getBuildManager().build(); - } - action.actionPerformed(e); - } - }); - buildItem.setIcon((Icon)AjdeUIManager.getDefault().getIconRegistry().getStructureIcon(ProgramElementNode.Kind.FILE_LST).getIconResource()); - this.add(buildItem); - } - } -} diff --git a/ajde/src/org/aspectj/ajde/ui/swing/PointcutWizard.java b/ajde/src/org/aspectj/ajde/ui/swing/PointcutWizard.java index 91d450ed1..045f361a3 100644 --- a/ajde/src/org/aspectj/ajde/ui/swing/PointcutWizard.java +++ b/ajde/src/org/aspectj/ajde/ui/swing/PointcutWizard.java @@ -14,26 +14,14 @@ package org.aspectj.ajde.ui.swing; -import java.awt.BorderLayout; -import java.awt.Dimension; +import java.awt.*; import java.awt.event.ActionEvent; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; +import java.util.*; -import javax.swing.ImageIcon; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; +import javax.swing.*; -import org.aspectj.ajde.Ajde; -import org.aspectj.ajde.ui.GlobalViewProperties; -import org.aspectj.ajde.ui.StructureViewProperties; +import org.aspectj.ajde.ui.*; import org.aspectj.asm.InheritanceAssociation; -import org.aspectj.asm.ProgramElementNode; /** * @author Mik Kersten @@ -65,15 +53,17 @@ class PointcutWizard extends JFrame { ArrayList views = new ArrayList(); views.add(StructureViewProperties.Hierarchy.INHERITANCE); typeTreeView = new BrowserViewPanel(AjdeUIManager.getDefault().getIconRegistry(), views, StructureViewProperties.Hierarchy.INHERITANCE); - typeTreeView.updateTree(Ajde.getDefault().getEditorManager().getCurrFile()); - try { - jbInit(); - } - catch(Exception e) { - Ajde.getDefault().getErrorHandler().handleError("Could not initialize GUI.", e); - } - this.setSize(400, 400); - this.setIconImage(((ImageIcon)AjdeUIManager.getDefault().getIconRegistry().getStructureSwingIcon(ProgramElementNode.Kind.POINTCUT)).getImage()); + + throw new RuntimeException("unimplemented, can't get the current file"); + //typeTreeView.updateTree(Ajde.getDefault().getEditorManager().getCurrFile()); +// try { +// jbInit(); +// } +// catch(Exception e) { +// Ajde.getDefault().getErrorHandler().handleError("Could not initialize GUI.", e); +// } +// this.setSize(400, 400); +// this.setIconImage(((ImageIcon)AjdeUIManager.getDefault().getIconRegistry().getStructureSwingIcon(ProgramElementNode.Kind.POINTCUT)).getImage()); } private Map getViewProperties() { @@ -143,8 +133,9 @@ class PointcutWizard extends JFrame { } private void ok_button_actionPerformed(ActionEvent e) { - Ajde.getDefault().getEditorManager().pasteToCaretPos(generatePcd()); - this.dispose(); + throw new RuntimeException("unimplemented, can't paste"); +// Ajde.getDefault().getEditorManager().pasteToCaretPos(generatePcd()); +// this.dispose(); } private void cancel_button_actionPerformed(ActionEvent e) { diff --git a/ajde/src/org/aspectj/ajde/ui/swing/StructureViewPanel.java b/ajde/src/org/aspectj/ajde/ui/swing/StructureViewPanel.java index 8bbb43fea..89ece89e3 100644 --- a/ajde/src/org/aspectj/ajde/ui/swing/StructureViewPanel.java +++ b/ajde/src/org/aspectj/ajde/ui/swing/StructureViewPanel.java @@ -102,7 +102,7 @@ public class StructureViewPanel extends JPanel implements StructureViewRenderer ProgramElementNode pNode = (ProgramElementNode)node.getStructureNode(); treeManager.highlightNode(pNode); if (pNode.getSourceLocation() != null) { - Ajde.getDefault().getEditorManager().showSourceLine( + Ajde.getDefault().getEditorAdapter().showSourceLine( pNode.getSourceLocation().getSourceFile().getAbsolutePath(), pNode.getSourceLocation().getLine() + lineOffset, true |