From: mkersten Date: Fri, 25 Jul 2003 16:05:33 +0000 (+0000) Subject: De-coupled AJDE APIs from javax.swing, and moved browser-specific funtionality into... X-Git-Tag: V1_1_1~197 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=cd1ad650b8397ac72ed3e712bf2314fca8e0c17c;p=aspectj.git De-coupled AJDE APIs from javax.swing, and moved browser-specific funtionality into the the ajbrowser module.) --- diff --git a/ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java b/ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java index 5f6f9e6e8..7af4f2199 100644 --- a/ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java +++ b/ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java @@ -35,7 +35,6 @@ 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; @@ -73,22 +72,16 @@ public class BrowserManager { preferencesAdapter, browserUIAdapter, new IconRegistry(), - topFrame); + topFrame, + true); 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(), - fileStructurePanel + AjdeUIManager.getDefault().getFileStructurePanel() ); topFrame.init( diff --git a/ajbrowser/src/org/aspectj/tools/ajbrowser/BuildConfigPopupMenu.java b/ajbrowser/src/org/aspectj/tools/ajbrowser/BuildConfigPopupMenu.java deleted file mode 100644 index 8ca49e727..000000000 --- a/ajbrowser/src/org/aspectj/tools/ajbrowser/BuildConfigPopupMenu.java +++ /dev/null @@ -1,54 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 1999-2001 Xerox Corporation, - * 2002 Palo Alto Research Center, Incorporated (PARC). - * All rights reserved. - * This program and the accompanying materials are made available - * under the terms of the Common Public License v1.0 - * which accompanies this distribution and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * Xerox/PARC initial implementation - * ******************************************************************/ - - -package org.aspectj.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/ajde/src/org/aspectj/ajde/ui/swing/AjdeUIManager.java b/ajde/src/org/aspectj/ajde/ui/swing/AjdeUIManager.java index f7228aea2..c2dbd074c 100644 --- a/ajde/src/org/aspectj/ajde/ui/swing/AjdeUIManager.java +++ b/ajde/src/org/aspectj/ajde/ui/swing/AjdeUIManager.java @@ -16,8 +16,16 @@ package org.aspectj.ajde.ui.swing; import java.awt.Frame; -import org.aspectj.ajde.*; -import org.aspectj.ajde.ui.*; +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.ui.internal.AjcBuildOptions; /** @@ -37,6 +45,7 @@ public class AjdeUIManager { private OptionsFrame optionsFrame = null; private Frame rootFrame = null; + private StructureViewPanel fileStructurePanel = null; /** * Order of initialization is critical here. @@ -48,7 +57,8 @@ public class AjdeUIManager { UserPreferencesAdapter userPreferencesAdapter, IdeUIAdapter ideUIAdapter, IconRegistry iconRegistry, - Frame rootFrame) { + Frame rootFrame, + boolean useFileView) { try { BuildProgressMonitor compileProgress = new DefaultBuildProgressMonitor(rootFrame); ErrorHandler errorHandler = new AjdeErrorHandler(); @@ -72,6 +82,15 @@ public class AjdeUIManager { Ajde.getDefault().getBuildManager().addListener(STATUS_TEXT_UPDATER); //Ajde.getDefault().setConfigurationManager(configManager); + if (useFileView) { + FileStructureView structureView = Ajde.getDefault().getStructureViewManager().createViewForSourceFile( + Ajde.getDefault().getEditorAdapter().getCurrFile(), + Ajde.getDefault().getStructureViewManager().getDefaultViewProperties() + ); + Ajde.getDefault().getStructureViewManager().setDefaultFileView(structureView); + fileStructurePanel = new StructureViewPanel(structureView); + } + viewManager = new BrowserViewManager(); optionsFrame = new OptionsFrame(iconRegistry); @@ -142,6 +161,10 @@ 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/BuildConfigPopupMenu.java b/ajde/src/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java new file mode 100644 index 000000000..6ad79052a --- /dev/null +++ b/ajde/src/org/aspectj/ajde/ui/swing/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.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.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); + // ??? should we be able to do a build refresh if shift is down? +// if (EditorManager.isShiftDown(e.getModifiers())) { +// Ajde.getDefault().getBuildManager().buildFresh(); +// } else { + Ajde.getDefault().getBuildManager().build(); +// } + action.actionPerformed(e); + } + }); + buildItem.setIcon((Icon)AjdeUIManager.getDefault().getIconRegistry().getStructureIcon(ProgramElementNode.Kind.FILE_LST).getIconResource()); + this.add(buildItem); + } + } +} diff --git a/ajde/testsrc/org/aspectj/ajde/NullIdeManager.java b/ajde/testsrc/org/aspectj/ajde/NullIdeManager.java index c659dd2c8..4a73e6ee6 100644 --- a/ajde/testsrc/org/aspectj/ajde/NullIdeManager.java +++ b/ajde/testsrc/org/aspectj/ajde/NullIdeManager.java @@ -57,7 +57,8 @@ public class NullIdeManager { preferencesAdapter, uiAdapter, new IconRegistry(), - nullFrame); + nullFrame, + true); //Ajde.getDefault().enableLogging( System.out ); } catch (Throwable t) {