aboutsummaryrefslogtreecommitdiffstats
path: root/ajbrowser
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 /ajbrowser
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.
Diffstat (limited to 'ajbrowser')
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/BasicEditor.java182
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java59
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/BuildConfigPopupMenu.java54
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/CompilerMessagesPanel.java2
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/EditorManager.java167
-rw-r--r--ajbrowser/src/org/aspectj/tools/ajbrowser/TopFrame.java27
6 files changed, 450 insertions, 41 deletions
diff --git a/ajbrowser/src/org/aspectj/tools/ajbrowser/BasicEditor.java b/ajbrowser/src/org/aspectj/tools/ajbrowser/BasicEditor.java
new file mode 100644
index 000000000..8913b2109
--- /dev/null
+++ b/ajbrowser/src/org/aspectj/tools/ajbrowser/BasicEditor.java
@@ -0,0 +1,182 @@
+/* *******************************************************************
+ * 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);
+ }
+}
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/ajbrowser/src/org/aspectj/tools/ajbrowser/BuildConfigPopupMenu.java b/ajbrowser/src/org/aspectj/tools/ajbrowser/BuildConfigPopupMenu.java
new file mode 100644
index 000000000..8ca49e727
--- /dev/null
+++ b/ajbrowser/src/org/aspectj/tools/ajbrowser/BuildConfigPopupMenu.java
@@ -0,0 +1,54 @@
+/* *******************************************************************
+ * 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);
+ }
+ }
+}
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/ajbrowser/src/org/aspectj/tools/ajbrowser/EditorManager.java b/ajbrowser/src/org/aspectj/tools/ajbrowser/EditorManager.java
new file mode 100644
index 000000000..1c09802c7
--- /dev/null
+++ b/ajbrowser/src/org/aspectj/tools/ajbrowser/EditorManager.java
@@ -0,0 +1,167 @@
+/* *******************************************************************
+ * 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();
+ }
+ }
+}
+
+
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) {