De-coupled AJDE APIs from javax.swing, and moved browser-specific funtionality into the the ajbrowser module.
--- /dev/null
+/* *******************************************************************
+ * 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.tools.ajbrowser;
+
+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);
+ }
+ BrowserManager.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);
+ }
+}
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.
private static final BrowserManager INSTANCE = new BrowserManager();
private BrowserProperties browserProjectProperties;
+ private EditorManager editorManager;
+ private StructureViewPanel fileStructurePanel = null;
public static BrowserManager getDefault() {
return INSTANCE;
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);
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);
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);
}
public void saveAll() {
- Ajde.getDefault().getEditorManager().saveContents();
+ editorManager.saveContents();
}
public void showMessages() {
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.");
public BrowserProperties getBrowserProjectProperties() {
return browserProjectProperties;
}
+ /**
+ * @return
+ */
+ public EditorManager getEditorManager() {
+ return editorManager;
+ }
+
}
--- /dev/null
+/* *******************************************************************
+ * 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.tools.ajbrowser;
+
+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.swing.*;
+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);
+ }
+ }
+}
*/
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) {
--- /dev/null
+/* *******************************************************************
+ * 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.tools.ajbrowser;
+
+import java.awt.BorderLayout;
+import java.awt.event.KeyEvent;
+import java.io.IOException;
+import java.util.*;
+
+import javax.swing.*;
+
+import org.aspectj.ajde.*;
+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();
+ }
+ }
+}
+
+
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;
/**
void treeMode_comboBox_actionPerformed(ActionEvent e) { }
void save_button_actionPerformed(ActionEvent e) {
- Ajde.getDefault().getEditorManager().saveContents();
+ BrowserManager.getDefault().getEditorManager().saveContents();
}
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) {
--- /dev/null
+/* *******************************************************************\r
+ * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC),\r
+ * 2003 Contributors.\r
+ * All rights reserved. \r
+ * This program and the accompanying materials are made available \r
+ * under the terms of the Common Public License v1.0 \r
+ * which accompanies this distribution and is available at \r
+ * http://www.eclipse.org/legal/cpl-v10.html \r
+ * \r
+ * Contributors: \r
+ * Xerox/PARC initial implementation \r
+ * AMC 01.20.2003 extended to support new AspectJ 1.1 options,\r
+ * bugzilla #29769\r
+ * ******************************************************************/\r
+\r
+public aspect AjdeApiRules {\r
+ \r
+\r
+ declare warning:\r
+ call(* javax.swing..*(..)) && !within(org.aspectj.ajde.ui.swing..*):\r
+ "do not use Swing outside of org.aspectj.ajde.swing";\r
+\r
+}\r
+
\ No newline at end of file
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;
*
* @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 ;
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,
return buildManager;
}
- public EditorManager getEditorManager() {
- return editorManager;
- }
+// public EditorManager getEditorManager() {
+// return editorManager;
+// }
+
+ public EditorAdapter getEditorAdapter() {
+ return editorAdapter;
+ }
public StructureViewManager getStructureViewManager() {
return structureViewManager;
* instead.
*/
public StructureModelManager getStructureModelManager() {
- return StructureModelManager.INSTANCE;
+ return StructureModelManager.getDefault();
}
public void logEvent(String message) {
public void compileFinished(String buildConfig, int buildTime, boolean succeeded, boolean warnings) {
String configFilePath = projectProperties.getDefaultBuildConfigFile();
if (!succeeded) {
- StructureModelManager.INSTANCE.fireModelUpdated();
+ StructureModelManager.getDefault().fireModelUpdated();
}
}
this.valid = valid;
}
}
+
+
+
}
+++ /dev/null
-/* *******************************************************************
- * 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();
- }
- }
-}
-
-
public static Map getLinesToAspectMap(String sourceFilePath) {
Map annotationsMap =
- StructureModelManager.INSTANCE.getInlineAnnotations(
+ StructureModelManager.getDefault().getInlineAnnotations(
sourceFilePath,
true,
true);
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);
public StructureViewManager(StructureViewNodeFactory nodeFactory) {
treeViewBuilder = new TreeStructureViewBuilder(nodeFactory);
- StructureModelManager.INSTANCE.addListener(VIEW_LISTENER);
+ StructureModelManager.getDefault().addListener(VIEW_LISTENER);
}
public void fireNavigateBackAction(StructureView view) {
if (defaultFileView.getSourceFile() != null
&& !defaultFileView.getSourceFile().equals(newFilePath)) {
defaultFileView.setSourceFile(newFilePath);
- treeViewBuilder.buildView(defaultFileView, StructureModelManager.INSTANCE.getStructureModel());
+ treeViewBuilder.buildView(defaultFileView, StructureModelManager.getDefault().getStructureModel());
}
}
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;
}
this.defaultFileView = defaultFileView;
}
+ public FileStructureView getDefaultFileView() {
+ return defaultFileView;
+ }
+
static {
AVAILABLE_RELATIONS = new ArrayList();
AVAILABLE_RELATIONS.add(AdviceAssociation.METHOD_CALL_SITE_RELATION);
DEFAULT_VIEW_PROPERTIES = new StructureViewProperties();
DEFAULT_VIEW_PROPERTIES.setRelations(AVAILABLE_RELATIONS);
}
+
}
// this.multiFileViewMode = multiFileViewMode;
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;
/**
private OptionsFrame optionsFrame = null;
private Frame rootFrame = null;
- private StructureViewPanel fileStructurePanel = null;
/**
* Order of initialization is critical here.
UserPreferencesAdapter userPreferencesAdapter,
IdeUIAdapter ideUIAdapter,
IconRegistry iconRegistry,
- Frame rootFrame,
- boolean useFileView) {
+ Frame rootFrame) {
try {
BuildProgressMonitor compileProgress = new DefaultBuildProgressMonitor(rootFrame);
ErrorHandler errorHandler = new AjdeErrorHandler();
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);
return buildConfigEditor;
}
- public StructureViewPanel getFileStructurePanel() {
- return fileStructurePanel;
- }
-
public IconRegistry getIconRegistry() {
return iconRegistry;
}
+++ /dev/null
-/* *******************************************************************
- * 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);
- }
-}
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
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);
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);
+++ /dev/null
-/* *******************************************************************
- * 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);
- }
- }
-}
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
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() {
}
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) {
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
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());
package org.aspectj.ajde;
import java.io.IOException;
-import java.util.Iterator;
import java.util.List;
/**
--- /dev/null
+/*
+ * 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) {
+
+ }
+
+}
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));
preferencesAdapter,
uiAdapter,
new IconRegistry(),
- nullFrame,
- true);
+ nullFrame);
//Ajde.getDefault().enableLogging( System.out );
} catch (Throwable t) {