aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkersten <mkersten>2003-07-25 15:07:57 +0000
committermkersten <mkersten>2003-07-25 15:07:57 +0000
commitbbd832b4800bc0d7c54d65b2d9d690316e97c6a6 (patch)
tree89d0dec27daee5980d288214a230a5e93baacd3d
parentbcf8d044c05fb716e1161abddd18da04d2fc2364 (diff)
downloadaspectj-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.
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/BasicEditor.java (renamed from ajde/src/org/aspectj/ajde/ui/swing/BasicEditor.java)4
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java59
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/BuildConfigPopupMenu.java (renamed from ajde/src/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java)4
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/CompilerMessagesPanel.java2
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/EditorManager.java (renamed from ajde/src/org/aspectj/ajde/ui/EditorManager.java)19
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/TopFrame.java27
-rw-r--r--ajde/ajsrc/org/aspectj/ajde/AjdeApiRules.aj24
-rw-r--r--ajde/src/org/aspectj/ajde/Ajde.java26
-rw-r--r--ajde/src/org/aspectj/ajde/ui/StructureModelUtil.java2
-rw-r--r--ajde/src/org/aspectj/ajde/ui/StructureViewManager.java19
-rw-r--r--ajde/src/org/aspectj/ajde/ui/swing/AjdeUIManager.java29
-rw-r--r--ajde/src/org/aspectj/ajde/ui/swing/BrowserViewManager.java33
-rw-r--r--ajde/src/org/aspectj/ajde/ui/swing/BrowserViewTreeListener.java19
-rw-r--r--ajde/src/org/aspectj/ajde/ui/swing/PointcutWizard.java45
-rw-r--r--ajde/src/org/aspectj/ajde/ui/swing/StructureViewPanel.java2
-rw-r--r--ajde/testsrc/AjdeModuleTests.java2
-rw-r--r--ajde/testsrc/org/aspectj/ajde/CompilerMessagesTest.java1
-rw-r--r--ajde/testsrc/org/aspectj/ajde/NullIdeEditorAdapter.java58
-rw-r--r--ajde/testsrc/org/aspectj/ajde/NullIdeManager.java5
19 files changed, 216 insertions, 164 deletions
diff --git a/ajde/src/org/aspectj/ajde/ui/swing/BasicEditor.java b/ajbrowser/src/org/aspectj/tools/ajbrowser/BasicEditor.java
index 7d0a46959..8913b2109 100644
--- a/ajde/src/org/aspectj/ajde/ui/swing/BasicEditor.java
+++ b/ajbrowser/src/org/aspectj/tools/ajbrowser/BasicEditor.java
@@ -12,7 +12,7 @@
* ******************************************************************/
-package org.aspectj.ajde.ui.swing;
+package org.aspectj.tools.ajbrowser;
import java.awt.BorderLayout;
import java.awt.Font;
@@ -107,7 +107,7 @@ public class BasicEditor implements EditorAdapter {
} catch (BadLocationException ble) {
Ajde.getDefault().getErrorHandler().handleError("Could not highlight location.", ble);
}
- Ajde.getDefault().getEditorManager().notifyCurrentFileChanged(filePath);
+ BrowserManager.getDefault().getEditorManager().notifyCurrentFileChanged(filePath);
}
/**
diff --git a/ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java b/ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java
index ac8d41c19..5f6f9e6e8 100644
--- a/ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java
+++ b/ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java
@@ -15,22 +15,15 @@
package org.aspectj.tools.ajbrowser;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
import javax.swing.JFrame;
-import org.aspectj.ajde.Ajde;
-import org.aspectj.ajde.BuildConfigManager;
-import org.aspectj.ajde.BuildListener;
-import org.aspectj.ajde.TaskListManager;
-import org.aspectj.ajde.ui.InvalidResourceException;
-import org.aspectj.ajde.ui.UserPreferencesAdapter;
+import org.aspectj.ajde.*;
+import org.aspectj.ajde.ui.*;
import org.aspectj.ajde.ui.internal.UserPreferencesStore;
-import org.aspectj.ajde.ui.swing.AjdeUIManager;
-import org.aspectj.ajde.ui.swing.BasicEditor;
-import org.aspectj.ajde.ui.swing.IconRegistry;
-import org.aspectj.ajde.ui.swing.MultiStructureViewPanel;
+import org.aspectj.ajde.ui.swing.*;
+import org.aspectj.asm.*;
/**
* IDE manager for standalone AJDE application.
@@ -41,6 +34,8 @@ public class BrowserManager {
private static final BrowserManager INSTANCE = new BrowserManager();
private BrowserProperties browserProjectProperties;
+ private EditorManager editorManager;
+ private StructureViewPanel fileStructurePanel = null;
public static BrowserManager getDefault() {
return INSTANCE;
@@ -52,6 +47,15 @@ public class BrowserManager {
private static TopFrame topFrame = null;
+ public final StructureModelListener VIEW_LISTENER = new StructureModelListener() {
+ public void modelUpdated(StructureModel model) {
+ FileStructureView fsv = Ajde.getDefault().getStructureViewManager().getDefaultFileView();
+ if (fsv != null) {
+ fsv.setSourceFile(BrowserManager.getDefault().getEditorManager().getCurrFile());
+ }
+ }
+ };
+
public void init(String[] configFilesArgs, boolean visible) {
try {
UserPreferencesAdapter preferencesAdapter = new UserPreferencesStore(true);
@@ -69,20 +73,28 @@ public class BrowserManager {
preferencesAdapter,
browserUIAdapter,
new IconRegistry(),
- topFrame,
- true);
+ topFrame);
+
+ editorManager = new EditorManager(ajdeEditor);
+
+ FileStructureView structureView = Ajde.getDefault().getStructureViewManager().createViewForSourceFile(
+ editorManager.getCurrFile(),
+ Ajde.getDefault().getStructureViewManager().getDefaultViewProperties()
+ );
+ Ajde.getDefault().getStructureViewManager().setDefaultFileView(structureView);
+ fileStructurePanel = new StructureViewPanel(structureView);
Ajde.getDefault().getBuildManager().addListener(BUILD_MESSAGES_LISTENER);
MultiStructureViewPanel multiViewPanel = new MultiStructureViewPanel(
AjdeUIManager.getDefault().getViewManager().getBrowserPanel(),
- AjdeUIManager.getDefault().getFileStructurePanel()
+ fileStructurePanel
);
topFrame.init(
multiViewPanel,
(CompilerMessagesPanel)taskListManager,
- Ajde.getDefault().getEditorManager().getEditorPanel()
+ editorManager.getEditorPanel()
);
if (visible) topFrame.setVisible(true);
@@ -97,8 +109,10 @@ public class BrowserManager {
AjdeUIManager.getDefault().getOptionsFrame().addOptionsPanel(new BrowserOptionsPanel());
+ StructureModelManager.getDefault().addListener(VIEW_LISTENER);
+
//String lastOpenFilePath = browserProjectProperties.getLastOpenSourceFilePath();
- //Ajde.getDefault().getEditorManager().showSourceLine(lastOpenFilePath, 1, false);
+ //editorManager.showSourceLine(lastOpenFilePath, 1, false);
//Ajde.getDefault().getStructureViewManager().fireNavigationAction(lastOpenFilePath, 6);
//Ajde.getDefault().enableLogging(System.out);
@@ -132,7 +146,7 @@ public class BrowserManager {
}
public void saveAll() {
- Ajde.getDefault().getEditorManager().saveContents();
+ editorManager.saveContents();
}
public void showMessages() {
@@ -153,7 +167,7 @@ public class BrowserManager {
AjdeUIManager.getDefault().getBuildConfigEditor().openFile(filePath);
topFrame.setEditorPanel(AjdeUIManager.getDefault().getBuildConfigEditor());
} else if (filePath.endsWith(".java") || filePath.endsWith(".aj")){
- Ajde.getDefault().getEditorManager().showSourceLine(filePath, 0, false);
+ editorManager.showSourceLine(filePath, 0, false);
} else {
Ajde.getDefault().getErrorHandler().handleError("File: " + filePath
+ " could not be opened because the extension was not recoginzed.");
@@ -226,4 +240,11 @@ public class BrowserManager {
public BrowserProperties getBrowserProjectProperties() {
return browserProjectProperties;
}
+ /**
+ * @return
+ */
+ public EditorManager getEditorManager() {
+ return editorManager;
+ }
+
}
diff --git a/ajde/src/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java b/ajbrowser/src/org/aspectj/tools/ajbrowser/BuildConfigPopupMenu.java
index 97904a5dc..8ca49e727 100644
--- a/ajde/src/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java
+++ b/ajbrowser/src/org/aspectj/tools/ajbrowser/BuildConfigPopupMenu.java
@@ -12,7 +12,7 @@
* ******************************************************************/
-package org.aspectj.ajde.ui.swing;
+package org.aspectj.tools.ajbrowser;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -24,7 +24,7 @@ import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import org.aspectj.ajde.Ajde;
-import org.aspectj.ajde.ui.EditorManager;
+import org.aspectj.ajde.ui.swing.*;
import org.aspectj.asm.ProgramElementNode;
public class BuildConfigPopupMenu extends JPopupMenu {
diff --git a/ajbrowser/src/org/aspectj/tools/ajbrowser/CompilerMessagesPanel.java b/ajbrowser/src/org/aspectj/tools/ajbrowser/CompilerMessagesPanel.java
index 46a162c1e..e03885ef6 100644
--- a/ajbrowser/src/org/aspectj/tools/ajbrowser/CompilerMessagesPanel.java
+++ b/ajbrowser/src/org/aspectj/tools/ajbrowser/CompilerMessagesPanel.java
@@ -85,7 +85,7 @@ public class CompilerMessagesPanel extends JPanel implements TaskListManager {
*/
protected void displayMessage(IMessage message) {
ISourceLocation loc = message.getISourceLocation();
- Ajde.getDefault().getEditorManager().showSourceLine(loc, true);
+ BrowserManager.getDefault().getEditorManager().showSourceLine(loc, true);
// show dialog with stack trace if thrown
Throwable thrown = message.getThrown();
if (null != thrown) {
diff --git a/ajde/src/org/aspectj/ajde/ui/EditorManager.java b/ajbrowser/src/org/aspectj/tools/ajbrowser/EditorManager.java
index e47728dc7..1c09802c7 100644
--- a/ajde/src/org/aspectj/ajde/ui/EditorManager.java
+++ b/ajbrowser/src/org/aspectj/tools/ajbrowser/EditorManager.java
@@ -12,23 +12,16 @@
* ******************************************************************/
-package org.aspectj.ajde.ui;
+package org.aspectj.tools.ajbrowser;
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 java.util.*;
+
+import javax.swing.*;
+
+import org.aspectj.ajde.*;
import org.aspectj.bridge.ISourceLocation;
/**
diff --git a/ajbrowser/src/org/aspectj/tools/ajbrowser/TopFrame.java b/ajbrowser/src/org/aspectj/tools/ajbrowser/TopFrame.java
index 7e3afb82d..e97ae9dd1 100644
--- a/ajbrowser/src/org/aspectj/tools/ajbrowser/TopFrame.java
+++ b/ajbrowser/src/org/aspectj/tools/ajbrowser/TopFrame.java
@@ -14,26 +14,16 @@
package org.aspectj.tools.ajbrowser;
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.FlowLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.KeyEvent;
-import java.awt.event.WindowEvent;
+import java.awt.*;
+import java.awt.event.*;
import java.io.File;
import javax.swing.*;
-import javax.swing.border.BevelBorder;
-import javax.swing.border.Border;
+import javax.swing.border.*;
import javax.swing.filechooser.FileFilter;
import org.aspectj.ajde.Ajde;
-import org.aspectj.ajde.ui.EditorManager;
-import org.aspectj.ajde.ui.swing.AJButtonMenuCombo;
-import org.aspectj.ajde.ui.swing.AjdeUIManager;
-import org.aspectj.ajde.ui.swing.BuildConfigPopupMenu;
-import org.aspectj.ajde.ui.swing.MultiStructureViewPanel;
+import org.aspectj.ajde.ui.swing.*;
import org.aspectj.asm.ProgramElementNode;
/**
@@ -465,7 +455,7 @@ public class TopFrame extends JFrame {
void treeMode_comboBox_actionPerformed(ActionEvent e) { }
void save_button_actionPerformed(ActionEvent e) {
- Ajde.getDefault().getEditorManager().saveContents();
+ BrowserManager.getDefault().getEditorManager().saveContents();
}
@@ -483,13 +473,8 @@ public class TopFrame extends JFrame {
messages_panel.setVisible(false);
}
-
- void emacsTest_button_actionPerformed(ActionEvent e) {
-// Tester.emacsCompile(TopManager.BROWSER_MANAGER.getCurrConfigFile());
- }
-
void jMenuItem1_actionPerformed(ActionEvent e) {
- Ajde.getDefault().getEditorManager().saveContents();
+ BrowserManager.getDefault().getEditorManager().saveContents();
}
void projectBuild_menuItem_actionPerformed(ActionEvent e) {
diff --git a/ajde/ajsrc/org/aspectj/ajde/AjdeApiRules.aj b/ajde/ajsrc/org/aspectj/ajde/AjdeApiRules.aj
new file mode 100644
index 000000000..91f67ce8c
--- /dev/null
+++ b/ajde/ajsrc/org/aspectj/ajde/AjdeApiRules.aj
@@ -0,0 +1,24 @@
+/* *******************************************************************
+ * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC),
+ * 2003 Contributors.
+ * 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
+ * AMC 01.20.2003 extended to support new AspectJ 1.1 options,
+ * bugzilla #29769
+ * ******************************************************************/
+
+public aspect AjdeApiRules {
+
+
+ declare warning:
+ call(* javax.swing..*(..)) && !within(org.aspectj.ajde.ui.swing..*):
+ "do not use Swing outside of org.aspectj.ajde.swing";
+
+}
+ \ No newline at end of file
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/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/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/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
diff --git a/ajde/testsrc/AjdeModuleTests.java b/ajde/testsrc/AjdeModuleTests.java
index c26330ed9..58d6c03d6 100644
--- a/ajde/testsrc/AjdeModuleTests.java
+++ b/ajde/testsrc/AjdeModuleTests.java
@@ -18,7 +18,7 @@ import junit.framework.*;
public class AjdeModuleTests extends TestCase {
- public static Test suite() {
+ public static TestSuite suite() {
TestSuite suite = new TestSuite(AjdeModuleTests.class.getName());
suite.addTest(org.aspectj.ajde.AjdeTests.suite());
suite.addTest(org.aspectj.ajde.internal.AjdeInternalTests.suite());
diff --git a/ajde/testsrc/org/aspectj/ajde/CompilerMessagesTest.java b/ajde/testsrc/org/aspectj/ajde/CompilerMessagesTest.java
index 178d92efe..0506eb36d 100644
--- a/ajde/testsrc/org/aspectj/ajde/CompilerMessagesTest.java
+++ b/ajde/testsrc/org/aspectj/ajde/CompilerMessagesTest.java
@@ -13,7 +13,6 @@
package org.aspectj.ajde;
import java.io.IOException;
-import java.util.Iterator;
import java.util.List;
/**
diff --git a/ajde/testsrc/org/aspectj/ajde/NullIdeEditorAdapter.java b/ajde/testsrc/org/aspectj/ajde/NullIdeEditorAdapter.java
new file mode 100644
index 000000000..2dc416748
--- /dev/null
+++ b/ajde/testsrc/org/aspectj/ajde/NullIdeEditorAdapter.java
@@ -0,0 +1,58 @@
+/*
+ * Created on Jul 25, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.aspectj.ajde;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.aspectj.bridge.ISourceLocation;
+
+/**
+ * @author beatmik
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class NullIdeEditorAdapter implements EditorAdapter {
+
+ public void showSourceLine(
+ String filePath,
+ int lineNumber,
+ boolean highlight) {
+
+ }
+
+ public void showSourceLine(
+ ISourceLocation sourceLocation,
+ boolean highlight) {
+
+ }
+
+ public void showSourceLine(int lineNumber, boolean highlight) {
+
+ }
+
+ public String getCurrFile() {
+ return null;
+ }
+
+ public void saveContents() throws IOException {
+ }
+
+ public void pasteToCaretPos(String text) {
+
+ }
+
+
+ public void showSourcelineAnnotation(
+ String filePath,
+ int lineNumber,
+ List items) {
+
+ }
+
+}
diff --git a/ajde/testsrc/org/aspectj/ajde/NullIdeManager.java b/ajde/testsrc/org/aspectj/ajde/NullIdeManager.java
index 71a50575e..c659dd2c8 100644
--- a/ajde/testsrc/org/aspectj/ajde/NullIdeManager.java
+++ b/ajde/testsrc/org/aspectj/ajde/NullIdeManager.java
@@ -45,7 +45,7 @@ public class NullIdeManager {
UserPreferencesAdapter preferencesAdapter = new UserPreferencesStore(false);
ProjectPropertiesAdapter browserProjectProperties = new NullIdeProperties(testProjectPath);
taskListManager = new NullIdeTaskListManager();
- BasicEditor ajdeEditor = new BasicEditor();
+ EditorAdapter ajdeEditor = new NullIdeEditorAdapter();
IdeUIAdapter uiAdapter = new NullIdeUIAdapter();
JFrame nullFrame = new JFrame();
//configurationManager.setConfigFiles(getConfigFilesList(configFiles));
@@ -57,8 +57,7 @@ public class NullIdeManager {
preferencesAdapter,
uiAdapter,
new IconRegistry(),
- nullFrame,
- true);
+ nullFrame);
//Ajde.getDefault().enableLogging( System.out );
} catch (Throwable t) {