]> source.dussan.org Git - aspectj.git/commitdiff
De-coupled AJDE APIs from javax.swing, and moved browser-specific funtionality into...
authormkersten <mkersten>
Fri, 25 Jul 2003 16:05:33 +0000 (16:05 +0000)
committermkersten <mkersten>
Fri, 25 Jul 2003 16:05:33 +0000 (16:05 +0000)
ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java
ajbrowser/src/org/aspectj/tools/ajbrowser/BuildConfigPopupMenu.java [deleted file]
ajde/src/org/aspectj/ajde/ui/swing/AjdeUIManager.java
ajde/src/org/aspectj/ajde/ui/swing/BuildConfigPopupMenu.java [new file with mode: 0644]
ajde/testsrc/org/aspectj/ajde/NullIdeManager.java

index 5f6f9e6e8a8e9224f9a88c2594bf063708e0d81e..7af4f21990b95c76d0318b521197c0e297c5e2d2 100644 (file)
@@ -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 (file)
index 8ca49e7..0000000
+++ /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);
-               }
-       }
-}
index f7228aea2a9c4b8964413a7a77a0862c7ff29f33..c2dbd074ca4d1d6893c227267d788764d5523d47 100644 (file)
@@ -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 (file)
index 0000000..6ad7905
--- /dev/null
@@ -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);
+               }
+       }
+}
index c659dd2c8c05c76dff3bf54936fef591531081c1..4a73e6ee67cba3fd5222c8698f5449ac39d9b95b 100644 (file)
@@ -57,7 +57,8 @@ public class NullIdeManager {
                                preferencesAdapter,
                                uiAdapter,
                                new IconRegistry(),
-                               nullFrame);     
+                               nullFrame,
+                               true);  
                                
                        //Ajde.getDefault().enableLogging( System.out );
                } catch (Throwable t) {