@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -27,6 +28,8 @@ import javax.swing.JButton; | |||
import javax.swing.JPanel; | |||
import javax.swing.JPopupMenu; | |||
import org.aspectj.ajde.Ajde; | |||
public class AJButtonMenuCombo extends JPanel { | |||
private static final long serialVersionUID = -4866207530403336160L; | |||
@@ -54,7 +57,7 @@ public class AJButtonMenuCombo extends JPanel { | |||
mainButton.setMaximumSize(new Dimension(22, 20)); | |||
popupButton = new JButton(); | |||
popupButton.setIcon(AjdeUIManager.getDefault().getIconRegistry().getPopupIcon()); | |||
popupButton.setIcon(Ajde.getDefault().getIconRegistry().getPopupIcon()); | |||
popupButton.setBorder(BorderFactory.createEmptyBorder()); | |||
popupButton.setToolTipText(toolTipText); | |||
popupButton.setPreferredSize(new Dimension(13, 20)); |
@@ -1,56 +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 Eclipse Public License v1.0 | |||
* which accompanies this distribution and is available at | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* ******************************************************************/ | |||
package org.aspectj.ajde.ui.swing; | |||
import java.io.PrintWriter; | |||
import java.io.StringWriter; | |||
import javax.swing.JOptionPane; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.ErrorHandler; | |||
public class AjdeErrorHandler implements ErrorHandler { | |||
public void handleWarning(String message) { | |||
JOptionPane.showMessageDialog(AjdeUIManager.getDefault().getRootFrame(), | |||
message, | |||
"AJDE Warning", | |||
JOptionPane.WARNING_MESSAGE); | |||
} | |||
public void handleError(String errorMessage) { | |||
handleError(errorMessage, null); | |||
} | |||
public void handleError(String message, Throwable t) { | |||
String stack = getStackTraceAsString(t); | |||
Ajde.getDefault().logEvent("Error: " + stack); | |||
ErrorDialog errorDialog = new ErrorDialog(AjdeUIManager.getDefault().getRootFrame(), "AJDE Error", t, message, stack); | |||
errorDialog.setVisible(true); | |||
} | |||
private String getStackTraceAsString(Throwable t) { | |||
StringWriter stringWriter = new StringWriter(); | |||
if (t != null) { | |||
t.printStackTrace(new PrintWriter(stringWriter)); | |||
return stringWriter.getBuffer().toString(); | |||
} else { | |||
return "<no stack trace available>"; | |||
} | |||
} | |||
} | |||
@@ -1,209 +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 Eclipse Public License v1.0 | |||
* which accompanies this distribution and is available at | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* ******************************************************************/ | |||
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.ui.internal.AjcBuildOptions; | |||
/** | |||
* @author Mik Kersten | |||
*/ | |||
public class AjdeUIManager { | |||
protected static final AjdeUIManager INSTANCE = new AjdeUIManager(); | |||
private BrowserViewManager viewManager = null; | |||
// private BuildProgressMonitor buildProgressMonitor = null; | |||
// private ErrorHandler errorHandler = null; | |||
// private UserPreferencesAdapter userPreferencesAdapter = null; | |||
private AjcBuildOptions buildOptionsAdapter = null; | |||
private IdeUIAdapter ideUIAdapter = null; | |||
private TreeViewBuildConfigEditor buildConfigEditor = null; | |||
private IconRegistry iconRegistry; | |||
private boolean initialized = false; | |||
private OptionsFrame optionsFrame = null; | |||
private Frame rootFrame = null; | |||
private StructureViewPanel fileStructurePanel = null; | |||
public void init( | |||
EditorAdapter editorAdapter, | |||
TaskListManager taskListManager, | |||
ProjectPropertiesAdapter projectProperties, | |||
UserPreferencesAdapter userPreferencesAdapter, | |||
IdeUIAdapter ideUIAdapter, | |||
IconRegistry iconRegistry, | |||
Frame rootFrame, | |||
boolean useFileView) { | |||
init(editorAdapter, | |||
taskListManager, | |||
projectProperties, | |||
userPreferencesAdapter, | |||
ideUIAdapter, | |||
iconRegistry, | |||
rootFrame, | |||
new DefaultBuildProgressMonitor(rootFrame), | |||
new AjdeErrorHandler(), | |||
useFileView); | |||
} | |||
/** | |||
* Order of initialization is critical here. | |||
*/ | |||
public void init( | |||
EditorAdapter editorAdapter, | |||
TaskListManager taskListManager, | |||
ProjectPropertiesAdapter projectProperties, | |||
UserPreferencesAdapter userPreferencesAdapter, | |||
IdeUIAdapter ideUIAdapter, | |||
IconRegistry iconRegistry, | |||
Frame rootFrame, | |||
BuildProgressMonitor progressMonitor, | |||
ErrorHandler errorHandler, | |||
boolean useFileView) { | |||
try { | |||
this.iconRegistry = iconRegistry; | |||
//ConfigurationManager configManager = new LstConfigurationManager(); | |||
this.ideUIAdapter = ideUIAdapter; | |||
// this.userPreferencesAdapter = userPreferencesAdapter; | |||
this.buildOptionsAdapter = new AjcBuildOptions(userPreferencesAdapter); | |||
this.buildConfigEditor = new TreeViewBuildConfigEditor(); | |||
this.rootFrame = rootFrame; | |||
Ajde.init( | |||
editorAdapter, | |||
taskListManager, | |||
progressMonitor, | |||
projectProperties, | |||
buildOptionsAdapter, | |||
new SwingTreeViewNodeFactory(iconRegistry), | |||
ideUIAdapter, | |||
errorHandler); | |||
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); | |||
//Ajde.getDefault().getStructureViewManager().refreshView( | |||
// Ajde.getDefault().getStructureViewManager().getDefaultFileStructureView() | |||
//); | |||
//viewManager.updateView(); | |||
initialized = true; | |||
} catch (Throwable t) { | |||
Ajde.getDefault().getErrorHandler().handleError("AJDE failed to initialize.", t); | |||
} | |||
} | |||
public static AjdeUIManager getDefault() { | |||
return INSTANCE; | |||
} | |||
public BrowserViewManager getViewManager() { | |||
return viewManager; | |||
} | |||
public Frame getRootFrame() { | |||
return rootFrame; | |||
} | |||
public OptionsFrame getOptionsFrame() { | |||
return optionsFrame; | |||
} | |||
public void showOptionsFrame() { | |||
int x = (rootFrame.getWidth()/2) + rootFrame.getX() - optionsFrame.getWidth()/2; | |||
int y = (rootFrame.getHeight()/2) + rootFrame.getY() - optionsFrame.getHeight()/2; | |||
optionsFrame.setLocation(x, y); | |||
optionsFrame.setVisible(true); | |||
} | |||
public AjcBuildOptions getBuildOptions() { | |||
return buildOptionsAdapter; | |||
} | |||
private final BuildListener STATUS_TEXT_UPDATER = new BuildListener() { | |||
public void compileStarted(String buildConfigFile) { | |||
ideUIAdapter.displayStatusInformation(" Building: " + buildConfigFile + "..."); | |||
} | |||
public void compileFinished(String buildConfigFile, int buildTime, boolean succeeded, boolean warnings) { | |||
int timeInSeconds = buildTime/1000; | |||
if (succeeded) { | |||
ideUIAdapter.displayStatusInformation(" Build succeeded in " + timeInSeconds + " second(s)."); | |||
//hideMessages(); | |||
} else { | |||
ideUIAdapter.displayStatusInformation(" Build failed in " + timeInSeconds + " second(s)"); | |||
//showMessages(); | |||
} | |||
} | |||
public void compileAborted(String buildConfigFile, String message) { | |||
ideUIAdapter.displayStatusInformation("Compile aborted: " + message); | |||
} | |||
}; | |||
public IdeUIAdapter getIdeUIAdapter() { | |||
return ideUIAdapter; | |||
} | |||
public TreeViewBuildConfigEditor getBuildConfigEditor() { | |||
return buildConfigEditor; | |||
} | |||
public StructureViewPanel getFileStructurePanel() { | |||
return fileStructurePanel; | |||
} | |||
public IconRegistry getIconRegistry() { | |||
return iconRegistry; | |||
} | |||
public boolean isInitialized() { | |||
return initialized; | |||
} | |||
} | |||
//public abstract class AjdeAction { | |||
// public abstract void actionPerformed(ActionEvent e); | |||
// | |||
// public abstract String getName(); | |||
// | |||
// public abstract ImageIcon getIcon(); | |||
//} | |||
@@ -9,21 +9,37 @@ | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
package org.aspectj.ajde.ui.swing; | |||
import java.awt.*; | |||
import java.awt.event.*; | |||
import java.awt.BorderLayout; | |||
import java.awt.Dimension; | |||
import java.awt.event.ActionEvent; | |||
import java.awt.event.ActionListener; | |||
import java.util.Iterator; | |||
import javax.swing.*; | |||
import javax.swing.ButtonGroup; | |||
import javax.swing.Icon; | |||
import javax.swing.JCheckBoxMenuItem; | |||
import javax.swing.JComboBox; | |||
import javax.swing.JLabel; | |||
import javax.swing.JPanel; | |||
import javax.swing.JPopupMenu; | |||
import javax.swing.JRadioButtonMenuItem; | |||
import javax.swing.JSeparator; | |||
import javax.swing.border.Border; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.ui.*; | |||
import org.aspectj.asm.*; | |||
import org.aspectj.ajde.ui.GlobalStructureView; | |||
import org.aspectj.ajde.ui.StructureView; | |||
import org.aspectj.ajde.ui.StructureViewProperties; | |||
import org.aspectj.asm.IProgramElement; | |||
import org.aspectj.asm.IRelationship; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
public class BrowserStructureViewToolPanel extends JPanel { | |||
@@ -63,7 +79,8 @@ public class BrowserStructureViewToolPanel extends JPanel { | |||
try { | |||
jbInit(); | |||
} catch (Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not initialize GUI.", e); | |||
Message msg = new Message("Could not initialize GUI.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
initToolBar(); | |||
} | |||
@@ -73,21 +90,21 @@ public class BrowserStructureViewToolPanel extends JPanel { | |||
granularityCombo = new AJButtonMenuCombo( | |||
"Visible granularity", | |||
"Visible granularity", | |||
AjdeUIManager.getDefault().getIconRegistry().getGranularityIcon(), | |||
Ajde.getDefault().getIconRegistry().getGranularityIcon(), | |||
createGranularityMenu(), | |||
false); | |||
filterCombo = new AJButtonMenuCombo( | |||
"Filter members", | |||
"Filter members", | |||
AjdeUIManager.getDefault().getIconRegistry().getFilterIcon(), | |||
Ajde.getDefault().getIconRegistry().getFilterIcon(), | |||
createFilterMenu(), | |||
false); | |||
relationsCombo = new AJButtonMenuCombo( | |||
"Filter associations", | |||
"Filter associations", | |||
AjdeUIManager.getDefault().getIconRegistry().getRelationsIcon(), | |||
Ajde.getDefault().getIconRegistry().getRelationsIcon(), | |||
createRelationsMenu(), | |||
false); | |||
@@ -95,7 +112,8 @@ public class BrowserStructureViewToolPanel extends JPanel { | |||
buttons_panel.add(filterCombo, BorderLayout.CENTER); | |||
buttons_panel.add(relationsCombo, BorderLayout.EAST); | |||
} catch(Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not initialize GUI.", e); | |||
Message msg = new Message("Could not initialize GUI.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||
@@ -104,7 +122,7 @@ public class BrowserStructureViewToolPanel extends JPanel { | |||
IProgramElement.Accessibility[] accessibility = IProgramElement.Accessibility.ALL; | |||
for (int i = 0; i < accessibility.length; i++) { | |||
CheckBoxSelectionMenuButton menuItem = new CheckBoxSelectionMenuButton(accessibility[i]); | |||
menuItem.setIcon(AjdeUIManager.getDefault().getIconRegistry().getAccessibilitySwingIcon(accessibility[i])); | |||
menuItem.setIcon(Ajde.getDefault().getIconRegistry().getAccessibilitySwingIcon(accessibility[i])); | |||
filterMenu.add(menuItem); | |||
} | |||
filterMenu.add(new JSeparator()); | |||
@@ -113,7 +131,7 @@ public class BrowserStructureViewToolPanel extends JPanel { | |||
for (int i = 0; i < kinds.length; i++) { | |||
if (kinds[i].isMember()) { | |||
CheckBoxSelectionMenuButton menuItem = new CheckBoxSelectionMenuButton(kinds[i]); | |||
menuItem.setIcon((Icon)AjdeUIManager.getDefault().getIconRegistry().getIcon(kinds[i]).getIconResource()); | |||
menuItem.setIcon((Icon)Ajde.getDefault().getIconRegistry().getIcon(kinds[i]).getIconResource()); | |||
filterMenu.add(menuItem); | |||
} | |||
} | |||
@@ -134,7 +152,7 @@ public class BrowserStructureViewToolPanel extends JPanel { | |||
for (Iterator it = relations.iterator(); it.hasNext(); ) { | |||
IRelationship.Kind relation = (IRelationship.Kind)it.next(); | |||
CheckBoxSelectionMenuButton menuItem = new CheckBoxSelectionMenuButton(relation); | |||
menuItem.setIcon((Icon)AjdeUIManager.getDefault().getIconRegistry().getIcon(relation).getIconResource()); | |||
menuItem.setIcon((Icon)Ajde.getDefault().getIconRegistry().getIcon(relation).getIconResource()); | |||
relationsMenu.add(menuItem); | |||
} | |||
@@ -282,9 +300,7 @@ public class BrowserStructureViewToolPanel extends JPanel { | |||
currentView.getViewProperties().addRelation(relation); | |||
} | |||
} | |||
Ajde.getDefault().getStructureViewManager().refreshView( | |||
currentView | |||
); | |||
Ajde.getDefault().getStructureViewManager().refreshView(currentView); | |||
} | |||
} | |||
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -37,7 +38,10 @@ import javax.swing.ListCellRenderer; | |||
import javax.swing.border.Border; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.IconRegistry; | |||
import org.aspectj.asm.IProgramElement; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
/** | |||
* @author Mik Kersten | |||
@@ -73,7 +77,7 @@ class BrowserView extends JPanel { | |||
// this.masterView = masterView; | |||
this.slaveView = slaveView; | |||
this.icons = icons; | |||
configs_comboBox = new JComboBox(Ajde.getDefault().getProjectProperties().getBuildConfigFiles().toArray()); | |||
configs_comboBox = new JComboBox(Ajde.getDefault().getBuildConfigManager().getAllBuildConfigFiles().toArray()); | |||
configs_comboBox.setRenderer(new ConfigsCellRenderer()); | |||
// configs_comboBox.addItemListener(new ItemListener() { | |||
// public void itemStateChanged(ItemEvent e) { | |||
@@ -81,8 +85,8 @@ class BrowserView extends JPanel { | |||
// } | |||
// }); | |||
if (Ajde.getDefault().getProjectProperties().getBuildConfigFiles().size() > 0) { | |||
Ajde.getDefault().getConfigurationManager().setActiveConfigFile((String)Ajde.getDefault().getProjectProperties().getBuildConfigFiles().get(0)); | |||
if (Ajde.getDefault().getBuildConfigManager().getAllBuildConfigFiles().size() > 0) { | |||
Ajde.getDefault().getBuildConfigManager().setActiveConfigFile((String)Ajde.getDefault().getBuildConfigManager().getAllBuildConfigFiles().get(0)); | |||
} | |||
jbInit(); | |||
@@ -93,7 +97,9 @@ class BrowserView extends JPanel { | |||
nav_toolBar.remove(joinpointProbe_button); | |||
} catch(Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not initialize GUI.", e); | |||
Message msg = new Message("Could not initialize GUI.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||
@@ -318,7 +324,7 @@ class BrowserView extends JPanel { | |||
if (!configs_comboBox.getSelectedItem().toString().equals(lastSelectedConfig)) { | |||
//TopManager.INSTANCE.VIEW_MANAGER.readStructureView(); | |||
lastSelectedConfig = configs_comboBox.getSelectedItem().toString(); | |||
Ajde.getDefault().getConfigurationManager().setActiveConfigFile(lastSelectedConfig); | |||
Ajde.getDefault().getBuildConfigManager().setActiveConfigFile(lastSelectedConfig); | |||
} | |||
} | |||
} |
@@ -8,17 +8,19 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
package org.aspectj.ajde.ui.swing; | |||
import java.util.*; | |||
import java.util.ArrayList; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.ui.*; | |||
//import org.aspectj.asm.*; | |||
import org.aspectj.ajde.ui.GlobalStructureView; | |||
import org.aspectj.ajde.ui.GlobalViewProperties; | |||
import org.aspectj.ajde.ui.StructureViewProperties; | |||
/** | |||
* Responsible for displaying and controlling the configuration and output of a | |||
@@ -60,7 +62,7 @@ public class BrowserViewManager { | |||
public void extractAndInsertSignatures(java.util.List signatures, boolean calls) { | |||
PointcutWizard pointcutWizard = new PointcutWizard(signatures); | |||
pointcutWizard.setVisible(true); | |||
pointcutWizard.setLocation(AjdeUIManager.getDefault().getRootFrame().getX()+100, AjdeUIManager.getDefault().getRootFrame().getY()+100); | |||
pointcutWizard.setLocation(Ajde.getDefault().getRootFrame().getX()+100, Ajde.getDefault().getRootFrame().getY()+100); | |||
} | |||
{ |
@@ -9,6 +9,7 @@ | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -26,11 +27,14 @@ import javax.swing.JSlider; | |||
import javax.swing.JToolBar; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.IconRegistry; | |||
import org.aspectj.ajde.ui.GlobalStructureView; | |||
import org.aspectj.ajde.ui.StructureView; | |||
import org.aspectj.ajde.ui.IStructureViewNode; | |||
import org.aspectj.ajde.ui.StructureView; | |||
import org.aspectj.ajde.ui.StructureViewProperties; | |||
import org.aspectj.ajde.ui.StructureViewRenderer; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
/** | |||
* Represents the configuration of a structure view of the system, rendered | |||
@@ -78,7 +82,8 @@ public class BrowserViewPanel extends JPanel implements StructureViewRenderer { | |||
//Ajde.getDefault().getViewManager().getFileStructureView().addListener(VIEW_LISTENER); | |||
} | |||
catch(Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not initialize GUI.", e); | |||
Message msg = new Message("Could not initialize GUI.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||
@@ -8,19 +8,27 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
package org.aspectj.ajde.ui.swing; | |||
import java.awt.event.*; | |||
import java.util.*; | |||
import java.awt.event.ActionEvent; | |||
import java.awt.event.InputEvent; | |||
import java.awt.event.MouseEvent; | |||
import java.awt.event.MouseListener; | |||
import java.util.ArrayList; | |||
import java.util.List; | |||
import javax.swing.*; | |||
import javax.swing.event.*; | |||
//import javax.swing.tree.TreePath; | |||
import javax.swing.AbstractAction; | |||
import javax.swing.JMenuItem; | |||
import javax.swing.JPopupMenu; | |||
import javax.swing.event.TreeSelectionEvent; | |||
import javax.swing.event.TreeSelectionListener; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.asm.IProgramElement; | |||
/** | |||
@@ -107,7 +115,7 @@ class BrowserViewTreeListener implements TreeSelectionListener, MouseListener { | |||
// } | |||
JPopupMenu popup = new JPopupMenu(); | |||
JMenuItem showSourcesItem = new JMenuItem("Display sources", AjdeUIManager.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.CODE)); | |||
JMenuItem showSourcesItem = new JMenuItem("Display sources", Ajde.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.CODE)); | |||
showSourcesItem.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
showSourcesItem.addActionListener(new AbstractAction() { | |||
@@ -139,14 +147,14 @@ class BrowserViewTreeListener implements TreeSelectionListener, MouseListener { | |||
popup.add(showSourcesItem); | |||
popup.addSeparator(); | |||
JMenuItem generatePCD = new JMenuItem("Pointcut Wizard (alpha)...", AjdeUIManager.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.POINTCUT)); | |||
JMenuItem generatePCD = new JMenuItem("Pointcut Wizard (alpha)...", Ajde.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.POINTCUT)); | |||
generatePCD.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
generatePCD.addActionListener(new AbstractAction() { | |||
private static final long serialVersionUID = 1L; | |||
public void actionPerformed(ActionEvent e) { | |||
AjdeUIManager.getDefault().getViewManager().extractAndInsertSignatures(signatures, true); | |||
Ajde.getDefault().getViewManager().extractAndInsertSignatures(signatures, true); | |||
} | |||
}); | |||
popup.add(generatePCD); |
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -17,6 +18,7 @@ package org.aspectj.ajde.ui.swing; | |||
import java.awt.event.ActionEvent; | |||
import java.awt.event.ActionListener; | |||
import java.util.Iterator; | |||
import java.util.List; | |||
import javax.swing.AbstractAction; | |||
import javax.swing.Icon; | |||
@@ -26,12 +28,17 @@ import javax.swing.JPopupMenu; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.asm.IProgramElement; | |||
/** | |||
* Creates a popup menu that displays all the available .lst files. When one | |||
* is selected it runs a full build of files within the selected .lst file | |||
* in a separate thread. | |||
*/ | |||
public class BuildConfigPopupMenu extends JPopupMenu { | |||
private static final long serialVersionUID = -6730132748667530482L; | |||
public BuildConfigPopupMenu(final AbstractAction action) { | |||
java.util.List configFiles = Ajde.getDefault().getProjectProperties().getBuildConfigFiles(); | |||
List configFiles = Ajde.getDefault().getBuildConfigManager().getAllBuildConfigFiles(); | |||
for (Iterator it = configFiles.iterator(); it.hasNext(); ) { | |||
final String buildConfig = (String)it.next(); | |||
JMenuItem buildItem = new JMenuItem(buildConfig); | |||
@@ -39,17 +46,15 @@ public class BuildConfigPopupMenu extends JPopupMenu { | |||
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(); | |||
// } | |||
Ajde.getDefault().getBuildConfigManager().setActiveConfigFile(buildConfig); | |||
// A separate thread is required here because the buildProgresssMonitor | |||
// that monitors the build needs to be in a different thread | |||
// to that which is doing the build (swing threading issues) | |||
Ajde.getDefault().runBuildInDifferentThread(buildConfig, true); | |||
action.actionPerformed(e); | |||
} | |||
}); | |||
buildItem.setIcon((Icon)AjdeUIManager.getDefault().getIconRegistry().getIcon(IProgramElement.Kind.FILE_LST).getIconResource()); | |||
buildItem.setIcon((Icon)Ajde.getDefault().getIconRegistry().getIcon(IProgramElement.Kind.FILE_LST).getIconResource()); | |||
this.add(buildItem); | |||
} | |||
} |
@@ -1,284 +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 Eclipse Public License v1.0 | |||
* which accompanies this distribution and is available at | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* ******************************************************************/ | |||
package org.aspectj.ajde.ui.swing; | |||
import java.io.IOException; | |||
import javax.swing.border.Border; | |||
import javax.swing.border.TitledBorder; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.org.eclipse.jdt.internal.compiler.impl.CompilerOptions; | |||
import javax.swing.*; | |||
import java.awt.*; | |||
/** | |||
* @author Mik Kersten | |||
*/ | |||
public class BuildOptionsPanel extends OptionsPanel { | |||
// private static String INCREMENTAL_NOTE = "Please note that this release offers an early access integration of the incremental\n" | |||
// + "AspectJ compiler. The Document Outline View will fail to refresh correctly when\n" | |||
// + "incremental mode is enabled. Submit any other bugs at http://eclipse.org/aspectj"; | |||
private static final long serialVersionUID = 5891996016897166802L; | |||
protected static final BuildOptionsPanel INSTANCE = new BuildOptionsPanel(); | |||
// private ButtonGroup compilerMode_buttonGroup = new ButtonGroup(); | |||
private TitledBorder titledBorder1; | |||
// private Border border3; | |||
// private Border border4; | |||
// private TitledBorder titledBorder2; | |||
// private Border border5; | |||
private Border border1; | |||
private Border border2; | |||
private JPanel jPanel3 = new JPanel(); | |||
private BorderLayout borderLayout6 = new BorderLayout(); | |||
private JPanel jPanel4 = new JPanel(); | |||
private JPanel compileOptions_panel1 = new JPanel(); | |||
private JPanel build_panel1 = new JPanel(); | |||
// private JRadioButton normal_radioButton = new JRadioButton(); | |||
// private JRadioButton strict_radioButton = new JRadioButton(); | |||
// private JRadioButton lenient_radioButton = new JRadioButton(); | |||
private BorderLayout borderLayout8 = new BorderLayout(); | |||
private Box options_box1 = Box.createVerticalBox(); | |||
private BorderLayout borderLayout5 = new BorderLayout(); | |||
// private JTextField workingDir_field = new JTextField(); | |||
private JPanel jPanel2 = new JPanel(); | |||
private JPanel jPanel1 = new JPanel(); | |||
private JPanel build_panel = new JPanel(); | |||
private JTextField nonStandard_field = new JTextField(); | |||
private JPanel compileOptions_panel = new JPanel(); | |||
private JLabel workingDir_label = new JLabel(); | |||
private JLabel nonStandard_label = new JLabel(); | |||
private BorderLayout borderLayout4 = new BorderLayout(); | |||
private BorderLayout borderLayout3 = new BorderLayout(); | |||
private BorderLayout borderLayout2 = new BorderLayout(); | |||
private Box fields_box = Box.createVerticalBox(); | |||
private BorderLayout borderLayout1 = new BorderLayout(); | |||
private BorderLayout borderLayout7 = new BorderLayout(); | |||
Box options_box2 = Box.createVerticalBox(); | |||
//JTextArea incrementalNote = new JTextArea(); | |||
JLabel spacer_label = new JLabel(); | |||
JCheckBox assertions_checkBox = new JCheckBox(); | |||
JCheckBox oneFive_checkBox = new JCheckBox(); | |||
Box options_box = Box.createVerticalBox(); | |||
//JCheckBox incremental_checkBox = new JCheckBox(); | |||
// JCheckBox useJavac_checkBox = new JCheckBox(); | |||
// JCheckBox preprocess_checkBox = new JCheckBox(); | |||
JLabel spacer_label1 = new JLabel(); | |||
public BuildOptionsPanel() { | |||
try { | |||
jbInit(); | |||
this.setName("AspectJ Build Options"); | |||
// compilerMode_buttonGroup.add(normal_radioButton); | |||
// compilerMode_buttonGroup.add(strict_radioButton); | |||
// compilerMode_buttonGroup.add(lenient_radioButton); | |||
// preprocess_checkBox.setEnabled(false); | |||
// useJavac_checkBox.setEnabled(false); | |||
// workingDir_field.setEnabled(false); | |||
// workingDir_label.setEnabled(false); | |||
} catch (Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not initialize GUI.", e); | |||
} | |||
} | |||
public void loadOptions() throws IOException { | |||
if (Ajde.getDefault().getBuildManager().getBuildOptions().getSourceCompatibilityLevel() != null) { | |||
oneFive_checkBox.setSelected( | |||
Ajde.getDefault().getBuildManager().getBuildOptions().getSourceCompatibilityLevel().equals(CompilerOptions.VERSION_1_5) | |||
); | |||
} | |||
if (Ajde.getDefault().getBuildManager().getBuildOptions().getSourceCompatibilityLevel() != null) { | |||
assertions_checkBox.setSelected( | |||
Ajde.getDefault().getBuildManager().getBuildOptions().getSourceCompatibilityLevel().equals(CompilerOptions.VERSION_1_4) | |||
); | |||
} | |||
// preprocess_checkBox.setSelected( | |||
// Ajde.getDefault().getBuildManager().getBuildOptions().getPreprocessMode() | |||
// ); | |||
// useJavac_checkBox.setSelected( | |||
// Ajde.getDefault().getBuildManager().getBuildOptions().getUseJavacMode() | |||
// ); | |||
// incremental_checkBox.setSelected( | |||
// Ajde.getDefault().getBuildManager().getBuildOptions().getIncrementalMode() | |||
// ); | |||
nonStandard_field.setText( | |||
Ajde.getDefault().getBuildManager().getBuildOptions().getNonStandardOptions() | |||
); | |||
// workingDir_field.setText( | |||
// Ajde.getDefault().getBuildManager().getBuildOptions().getWorkingOutputPath() | |||
// ); | |||
// if (Ajde.getDefault().getBuildManager().getBuildOptions().getStrictSpecMode()) { | |||
// strict_radioButton.setSelected(true); | |||
// } else if (Ajde.getDefault().getBuildManager().getBuildOptions().getLenientSpecMode()) { | |||
// lenient_radioButton.setSelected(true); | |||
// } else { | |||
// normal_radioButton.setSelected(true); | |||
// } | |||
} | |||
public void saveOptions() throws IOException { | |||
if (oneFive_checkBox.isSelected()) { | |||
AjdeUIManager.getDefault().getBuildOptions().setSourceCompatibilityLevel(CompilerOptions.VERSION_1_5); | |||
} else if (assertions_checkBox.isSelected()) { | |||
// AjdeUIManager.getDefault().getBuildOptions().setSourceOnePointFourMode(true); | |||
AjdeUIManager.getDefault().getBuildOptions().setSourceCompatibilityLevel(CompilerOptions.VERSION_1_4); | |||
} else { | |||
AjdeUIManager.getDefault().getBuildOptions().setSourceCompatibilityLevel(CompilerOptions.VERSION_1_3); | |||
} | |||
// AjdeUIManager.getDefault().getBuildOptions().setPreprocessMode( | |||
// preprocess_checkBox.isSelected() | |||
// ); | |||
// AjdeUIManager.getDefault().getBuildOptions().setUseJavacMode( | |||
// useJavac_checkBox.isSelected() | |||
// ); | |||
// AjdeUIManager.getDefault().getBuildOptions().setIncrementalMode( | |||
// incremental_checkBox.isSelected() | |||
// ); | |||
AjdeUIManager.getDefault().getBuildOptions().setNonStandardOptions( | |||
nonStandard_field.getText() | |||
); | |||
// AjdeUIManager.getDefault().getBuildOptions().setWorkingDir( | |||
// workingDir_field.getText() | |||
// ); | |||
// AjdeUIManager.getDefault().getBuildOptions().setStrictSpecMode(strict_radioButton.isSelected()); | |||
// AjdeUIManager.getDefault().getBuildOptions().setLenientSpecMode(lenient_radioButton.isSelected()); | |||
} | |||
public static BuildOptionsPanel getDefault() { | |||
return INSTANCE; | |||
} | |||
private void jbInit() throws Exception { | |||
titledBorder1 = | |||
new TitledBorder( | |||
BorderFactory.createEtchedBorder(Color.white, new Color(156, 156, 158)), | |||
"ajc Options"); | |||
BorderFactory.createCompoundBorder( | |||
new TitledBorder( | |||
BorderFactory.createEtchedBorder(Color.white, new Color(156, 156, 158)), | |||
"ajc Options"), | |||
BorderFactory.createEmptyBorder(5, 5, 5, 5)); | |||
BorderFactory.createEtchedBorder(Color.white, new Color(156, 156, 158)); | |||
// titledBorder2 = | |||
// new TitledBorder( | |||
// BorderFactory.createEtchedBorder(Color.white, new Color(156, 156, 158)), | |||
// "ajc Strictness Mode"); | |||
// border5 = | |||
// BorderFactory.createCompoundBorder( | |||
// titledBorder2, | |||
// BorderFactory.createEmptyBorder(5, 5, 5, 5)); | |||
// border1 = | |||
// BorderFactory.createCompoundBorder( | |||
// titledBorder2, | |||
// BorderFactory.createEmptyBorder(5, 5, 5, 5)); | |||
border2 = | |||
BorderFactory.createCompoundBorder( | |||
titledBorder1, | |||
BorderFactory.createEmptyBorder(5, 5, 5, 5)); | |||
titledBorder1.setTitle("ajc Options"); | |||
titledBorder1.setTitleFont(new java.awt.Font("Dialog", 0, 11)); | |||
// titledBorder2.setTitleFont(new java.awt.Font("Dialog", 0, 11)); | |||
this.setLayout(borderLayout6); | |||
compileOptions_panel1.setLayout(borderLayout8); | |||
build_panel1.setLayout(borderLayout5); | |||
build_panel1.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
build_panel1.setBorder(border1); | |||
build_panel1.setMaximumSize(new Dimension(2147483647, 109)); | |||
// normal_radioButton.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
// normal_radioButton.setText("Normal"); | |||
// strict_radioButton.setText( | |||
// "Be extra strict in interpreting the Java specification"); | |||
// strict_radioButton.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
// lenient_radioButton.setText( | |||
// "Be lenient in interpreting the Java specification"); | |||
// lenient_radioButton.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
// workingDir_field.setFont(new java.awt.Font("SansSerif", 0, 11)); | |||
// workingDir_field.setMinimumSize(new Dimension(200, 21)); | |||
// workingDir_field.setPreferredSize(new Dimension(350, 21)); | |||
jPanel2.setLayout(borderLayout3); | |||
jPanel1.setLayout(borderLayout2); | |||
build_panel.setLayout(borderLayout4); | |||
build_panel.setBorder(border2); | |||
nonStandard_field.setFont(new java.awt.Font("SansSerif", 0, 11)); | |||
nonStandard_field.setMinimumSize(new Dimension(200, 21)); | |||
nonStandard_field.setPreferredSize(new Dimension(350, 21)); | |||
compileOptions_panel.setLayout(borderLayout1); | |||
nonStandard_label.setText("Other compiler options:"); | |||
nonStandard_label.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
nonStandard_label.setPreferredSize(new Dimension(80, 16)); | |||
nonStandard_label.setToolTipText(""); | |||
jPanel3.setLayout(borderLayout7); | |||
workingDir_label.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
workingDir_label.setPreferredSize(new Dimension(80, 16)); | |||
workingDir_label.setText("Working directory: "); | |||
// incrementalNote.setBackground(AjdeWidgetStyles.DEFAULT_BACKGROUND_COLOR); | |||
// incrementalNote.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
// incrementalNote.setEditable(false); | |||
// incrementalNote.setText(INCREMENTAL_NOTE); | |||
spacer_label.setText(" "); | |||
assertions_checkBox.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
assertions_checkBox.setText("Java 1.4 source compatibility mode"); | |||
oneFive_checkBox.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
oneFive_checkBox.setText("Java 1.5 source compatibility mode"); | |||
// incremental_checkBox.setText("Incremental compile"); | |||
// incremental_checkBox.setToolTipText("Only recompile necessary sources."); | |||
// incremental_checkBox.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
// useJavac_checkBox.setText("Use javac to generate .class files"); | |||
// useJavac_checkBox.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
// preprocess_checkBox.setFont(new java.awt.Font("Dialog", 0, 11)); | |||
// preprocess_checkBox.setToolTipText(""); | |||
// preprocess_checkBox.setText("Only preprocess and generate .java source files"); | |||
spacer_label1.setText(" "); | |||
// this.add(jPanel3, BorderLayout.NORTH); | |||
// jPanel2.add(workingDir_label, BorderLayout.CENTER); | |||
// jPanel2.add(workingDir_field, BorderLayout.EAST); | |||
compileOptions_panel.add(options_box2, BorderLayout.CENTER); | |||
//options_box2.add(incrementalNote, null); | |||
options_box2.add(spacer_label1, null); | |||
compileOptions_panel.add(options_box, BorderLayout.NORTH); | |||
options_box.add(assertions_checkBox, null); | |||
options_box.add(oneFive_checkBox, null); | |||
// options_box.add(preprocess_checkBox, null); | |||
// options_box.add(useJavac_checkBox, null); | |||
//options_box.add(incremental_checkBox, null); | |||
options_box.add(spacer_label, null); | |||
fields_box.add(jPanel1, null); | |||
fields_box.add(jPanel2, null); | |||
jPanel1.add(nonStandard_label, BorderLayout.CENTER); | |||
jPanel1.add(nonStandard_field, BorderLayout.EAST); | |||
compileOptions_panel.add(fields_box, BorderLayout.SOUTH); | |||
jPanel3.add(build_panel, BorderLayout.CENTER); | |||
build_panel.add(compileOptions_panel, BorderLayout.NORTH); | |||
jPanel3.add(build_panel1, BorderLayout.SOUTH); | |||
build_panel1.add(compileOptions_panel1, BorderLayout.NORTH); | |||
compileOptions_panel1.add(options_box1, BorderLayout.NORTH); | |||
// options_box1.add(normal_radioButton, null); | |||
// options_box1.add(lenient_radioButton, null); | |||
// options_box1.add(strict_radioButton, null); | |||
this.add(jPanel4, BorderLayout.CENTER); | |||
} | |||
} |
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -23,14 +24,12 @@ import javax.swing.JLabel; | |||
import javax.swing.JPanel; | |||
import javax.swing.JProgressBar; | |||
import org.aspectj.ajde.Ajde; | |||
/** | |||
* @author Mik Kersten | |||
*/ | |||
class BuildProgressPanel extends JPanel { | |||
public class BuildProgressPanel extends JPanel { | |||
private static final long serialVersionUID = -8045879840621749183L; | |||
//private static final long serialVersionUID = -8045879840621749183L; | |||
private static final int MAX_VAL = 100; | |||
//private JDialog dialog = null; | |||
@@ -44,6 +43,8 @@ class BuildProgressPanel extends JPanel { | |||
JPanel jPanel1 = new JPanel(); | |||
JProgressBar compile_progressBar = new JProgressBar(); | |||
private boolean buildIsCancelled = false; | |||
/** | |||
* @param maxVal the value to which value to which the progress bar will | |||
* count up to (in seconds) | |||
@@ -131,6 +132,10 @@ class BuildProgressPanel extends JPanel { | |||
} | |||
void cancel_button_actionPerformed(ActionEvent e) { | |||
Ajde.getDefault().getBuildManager().abortBuild(); | |||
buildIsCancelled = true; | |||
} | |||
public boolean isCancelRequested() { | |||
return buildIsCancelled; | |||
} | |||
} |
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -20,6 +21,7 @@ import javax.swing.JLabel; | |||
import javax.swing.JList; | |||
import javax.swing.ListCellRenderer; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.util.LangUtil; | |||
@@ -55,11 +57,11 @@ public class CompilerMessagesCellRenderer extends JLabel implements ListCellRend | |||
} | |||
setText(label); | |||
if (kind.equals(IMessage.WARNING)) { | |||
setIcon(AjdeUIManager.getDefault().getIconRegistry().getWarningIcon()); | |||
setIcon(Ajde.getDefault().getIconRegistry().getWarningIcon()); | |||
} else if (IMessage.ERROR.isSameOrLessThan(kind)) { | |||
setIcon(AjdeUIManager.getDefault().getIconRegistry().getErrorIcon()); | |||
setIcon(Ajde.getDefault().getIconRegistry().getErrorIcon()); | |||
} else { | |||
setIcon(AjdeUIManager.getDefault().getIconRegistry().getInfoIcon()); | |||
setIcon(Ajde.getDefault().getIconRegistry().getInfoIcon()); | |||
} | |||
if (isSelected) { | |||
setBackground(list.getSelectionBackground()); |
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -18,7 +19,8 @@ import java.awt.Frame; | |||
import javax.swing.JDialog; | |||
import org.aspectj.ajde.BuildProgressMonitor; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.core.IBuildProgressMonitor; | |||
/** | |||
* This dialog box is open while ajc is compiling the system and displays | |||
@@ -26,8 +28,10 @@ import org.aspectj.ajde.BuildProgressMonitor; | |||
* | |||
* @author Mik Kersten | |||
*/ | |||
public class DefaultBuildProgressMonitor extends Thread implements BuildProgressMonitor { | |||
public class DefaultBuildProgressMonitor extends Thread implements IBuildProgressMonitor { | |||
public static final String PROGRESS_HEADING = "AspectJ Build"; | |||
private BuildProgressPanel progressDialog = null; | |||
private JDialog dialog = null; | |||
@@ -46,11 +50,10 @@ public class DefaultBuildProgressMonitor extends Thread implements BuildProgress | |||
/** | |||
* Start the progress monitor. | |||
*/ | |||
public void start(String configFilePath) { | |||
progressDialog.setConfigFile(configFilePath); | |||
public void begin() { | |||
progressDialog.setProgressBarVal(0); | |||
progressDialog.setProgressText("starting build..."); | |||
dialog.setLocationRelativeTo(AjdeUIManager.getDefault().getRootFrame()); | |||
dialog.setLocationRelativeTo(Ajde.getDefault().getRootFrame()); | |||
dialog.setVisible(true); | |||
} | |||
@@ -61,34 +64,6 @@ public class DefaultBuildProgressMonitor extends Thread implements BuildProgress | |||
progressDialog.setProgressText(text); | |||
} | |||
/** | |||
* Jumps the progress bar to <CODE>newVal</CODE>. | |||
*/ | |||
public void setProgressBarVal(int newVal) { | |||
progressDialog.setProgressBarVal(newVal); | |||
} | |||
/** | |||
* Makes the progress bar by one. | |||
*/ | |||
public void incrementProgressBarVal() { | |||
progressDialog.incrementProgressBarVal(); | |||
} | |||
/** | |||
* @param maxVal sets the value at which the progress will finish. | |||
*/ | |||
public void setProgressBarMax(int maxVal) { | |||
progressDialog.setProgressBarMax(maxVal); | |||
} | |||
/** | |||
* @return the value at which the progress monitoring will finish. | |||
*/ | |||
public int getProgressBarMax() { | |||
return progressDialog.getProgressBarMax(); | |||
} | |||
/** | |||
* Jump the progress bar to the end and finish progress monitoring. | |||
*/ | |||
@@ -96,4 +71,12 @@ public class DefaultBuildProgressMonitor extends Thread implements BuildProgress | |||
progressDialog.finish(); | |||
dialog.dispose(); | |||
} | |||
public boolean isCancelRequested() { | |||
return progressDialog.isCancelRequested(); | |||
} | |||
public void setProgress(double percentDone) { | |||
progressDialog.setProgressBarVal((int) (percentDone*progressDialog.getProgressBarMax())); | |||
} | |||
} |
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -19,6 +20,8 @@ import javax.swing.SwingUtilities; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.EditorAdapter; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
/** | |||
* Used to ensure that a source line has been seeked to. Will repeatedly attempt | |||
@@ -60,7 +63,8 @@ public class GoToLineThread extends Thread { | |||
} | |||
}); | |||
} catch (Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not seek to line.", e); | |||
Message msg = new Message("Could not seek to line.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
finished = true; | |||
break; |
@@ -1,158 +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 Eclipse Public License v1.0 | |||
* which accompanies this distribution and is available at | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* ******************************************************************/ | |||
package org.aspectj.ajde.ui.swing; | |||
import javax.swing.*; | |||
import org.aspectj.ajde.ui.*; | |||
import org.aspectj.asm.*; | |||
import org.aspectj.asm.IProgramElement; | |||
/** | |||
* Default icons. Override behavior for custom icons. | |||
* | |||
* @author Mik Kersten | |||
*/ | |||
public class IconRegistry extends AbstractIconRegistry { | |||
//public static IconRegistry INSTANCE = null; | |||
protected String RESOURCE_PATH = "org/aspectj/ajde/resources/"; | |||
private final Icon START_AJDE = makeIcon("actions/startAjde.gif"); | |||
private final Icon STOP_AJDE = makeIcon("actions/stopAjde.gif"); | |||
private final Icon BUILD = makeIcon("actions/build.gif"); | |||
private final Icon DEBUG = makeIcon("actions/debug.gif"); | |||
private final Icon EXECUTE = makeIcon("actions/execute.gif"); | |||
private final Icon AJBROWSER = makeIcon("structure/advice.gif"); | |||
private final Icon AJBROWSER_ENABLED = makeIcon("actions/browserEnabled.gif"); | |||
private final Icon AJBROWSER_DISABLED = makeIcon("actions/browserDisabled.gif"); | |||
private final Icon STRUCTURE_VIEW = makeIcon("actions/structureView.gif"); | |||
private final Icon HIDE_ASSOCIATIONS = makeIcon("actions/hideAssociations.gif"); | |||
private final Icon HIDE_NON_AJ = makeIcon("actions/hideNonAJ.gif"); | |||
private final Icon GRANULARITY = makeIcon("actions/granularity.gif"); | |||
private final Icon AJDE_SMALL = makeIcon("actions/ajdeSmall.gif"); | |||
private final Icon ERROR = makeIcon("structure/error.gif"); | |||
private final Icon WARNING = makeIcon("structure/warning.gif"); | |||
private final Icon INFO = makeIcon("structure/info.gif"); | |||
private final Icon POPUP = makeIcon("actions/popup.gif"); | |||
private final Icon FILTER = makeIcon("actions/filter.gif"); | |||
private final Icon RELATIONS = makeIcon("actions/relations.gif"); | |||
private final Icon ORDER = makeIcon("actions/order.gif"); | |||
private final Icon ZOOM_STRUCTURE_TO_FILE_MODE = makeIcon("actions/zoomStructureToFileMode.gif"); | |||
private final Icon ZOOM_STRUCTURE_TO_GLOBAL_MODE = makeIcon("actions/zoomStructureToGlobalMode.gif"); | |||
private final Icon SPLIT_STRUCTURE_VIEW = makeIcon("actions/splitStructureView.gif"); | |||
private final Icon MERGE_STRUCTURE_VIEW = makeIcon("actions/mergeStructureView.gif"); | |||
private final Icon BACK = makeIcon("actions/back.gif"); | |||
private final Icon FORWARD = makeIcon("actions/forward.gif"); | |||
private final Icon SEARCH = makeIcon("actions/search.gif"); | |||
private final Icon OPEN_CONFIG = makeIcon("actions/openConfig.gif"); | |||
private final Icon CLOSE_CONFIG = makeIcon("actions/closeConfig.gif"); | |||
private final Icon SAVE = makeIcon("actions/save.gif"); | |||
private final Icon SAVE_ALL = makeIcon("actions/saveAll.gif"); | |||
private final Icon BROWSER_OPTIONS = makeIcon("actions/browseroptions.gif"); | |||
private final Icon ACCESSIBILITY_PUBLIC = makeIcon("structure/accessibility-public.gif"); | |||
private final Icon ACCESSIBILITY_PACKAGE = makeIcon("structure/accessibility-package.gif"); | |||
private final Icon ACCESSIBILITY_PROTECTED = makeIcon("structure/accessibility-protected.gif"); | |||
private final Icon ACCESSIBILITY_PRIVATE = makeIcon("structure/accessibility-private.gif"); | |||
private final Icon ACCESSIBILITY_PRIVILEGED = makeIcon("structure/accessibility-privileged.gif"); | |||
public Icon getAjdeSmallIcon() { return AJDE_SMALL; } | |||
public Icon getHideAssociationsIcon() { return HIDE_ASSOCIATIONS; } | |||
public Icon getHideNonAJIcon() { return HIDE_NON_AJ; } | |||
public Icon getGranularityIcon() { return GRANULARITY; } | |||
public Icon getErrorIcon() { return ERROR; } | |||
public Icon getWarningIcon() { return WARNING; } | |||
public Icon getInfoIcon() { return INFO; } | |||
public Icon getAJBrowserIcon() { return AJBROWSER; } | |||
public Icon getAJBrowserEnabledIcon() { return AJBROWSER_ENABLED; } | |||
public Icon getAJBrowserDisabledIcon() { return AJBROWSER_DISABLED; } | |||
public Icon getPopupIcon() { return POPUP; } | |||
public Icon getFilterIcon() { return FILTER; } | |||
public Icon getOrderIcon() { return ORDER; } | |||
public Icon getRelationsIcon() { return RELATIONS; } | |||
public Icon getStartAjdeIcon() { return START_AJDE; } | |||
public Icon getStopAjdeIcon() { return STOP_AJDE; } | |||
public Icon getBackIcon() { return BACK; } | |||
public Icon getForwardIcon() { return FORWARD; } | |||
public Icon getSearchIcon() { return SEARCH; } | |||
public Icon getBuildIcon() { return BUILD; } | |||
public Icon getDebugIcon() { return DEBUG; } | |||
public Icon getExecuteIcon() { return EXECUTE; } | |||
public Icon getOpenConfigIcon() { return OPEN_CONFIG; } | |||
public Icon getCloseConfigIcon() { return CLOSE_CONFIG; } | |||
public Icon getOpenIcon() { return OPEN_CONFIG; } | |||
public Icon getSaveIcon() { return SAVE; } | |||
public Icon getSaveAllIcon() { return SAVE_ALL; } | |||
public Icon getBrowserOptionsIcon() { return BROWSER_OPTIONS; } | |||
public Icon getZoomStructureToFileModeIcon() { return ZOOM_STRUCTURE_TO_FILE_MODE; } | |||
public Icon getZoomStructureToGlobalModeIcon() { return ZOOM_STRUCTURE_TO_GLOBAL_MODE; } | |||
public Icon getSplitStructureViewIcon() { return SPLIT_STRUCTURE_VIEW; } | |||
public Icon getMergeStructureViewIcon() { return MERGE_STRUCTURE_VIEW; } | |||
public Icon getStructureViewIcon() { return STRUCTURE_VIEW; } | |||
public Icon getAssociationSwingIcon(IRelationship.Kind relation) { | |||
return convertToSwingIcon(getIcon(relation)); | |||
} | |||
public AbstractIcon getStructureIcon(IProgramElement.Kind kind, IProgramElement.Accessibility accessibility) { | |||
return getIcon(kind); | |||
} | |||
public Icon getStructureSwingIcon(IProgramElement.Kind kind, IProgramElement.Accessibility accessibility) { | |||
return convertToSwingIcon(getStructureIcon(kind, accessibility)); | |||
} | |||
public Icon getStructureSwingIcon(IProgramElement.Kind kind) { | |||
return convertToSwingIcon(getIcon(kind)); | |||
} | |||
public Icon getAccessibilitySwingIcon(IProgramElement.Accessibility accessibility) { | |||
if (accessibility == IProgramElement.Accessibility.PUBLIC) { | |||
return ACCESSIBILITY_PUBLIC; | |||
} else if (accessibility == IProgramElement.Accessibility.PACKAGE) { | |||
return ACCESSIBILITY_PACKAGE; | |||
} else if (accessibility == IProgramElement.Accessibility.PROTECTED) { | |||
return ACCESSIBILITY_PROTECTED; | |||
} else if (accessibility == IProgramElement.Accessibility.PRIVATE) { | |||
return ACCESSIBILITY_PRIVATE; | |||
} else if (accessibility == IProgramElement.Accessibility.PRIVILEGED) { | |||
return ACCESSIBILITY_PRIVILEGED; | |||
} else { | |||
return null; | |||
} | |||
} | |||
public Icon convertToSwingIcon(AbstractIcon iconAdapter) { | |||
if (iconAdapter != null) { | |||
return (Icon)iconAdapter.getIconResource(); | |||
} else { | |||
return null; | |||
} | |||
} | |||
protected AbstractIcon createIcon(String path) { | |||
return new AbstractIcon(new ImageIcon(ClassLoader.getSystemResource(path))); | |||
} | |||
protected Icon makeIcon(String iconPath) { | |||
return new ImageIcon(ClassLoader.getSystemResource(RESOURCE_PATH + iconPath)); | |||
} | |||
} |
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -20,6 +21,8 @@ import javax.swing.JPanel; | |||
import javax.swing.JSplitPane; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
/** | |||
* @author Mik Kersten | |||
@@ -36,7 +39,8 @@ public class MultiStructureViewPanel extends JPanel { | |||
views_splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, topPanel, bottomPanel); | |||
jbInit(); | |||
} catch(Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not initialize GUI.", e); | |||
Message msg = new Message("Could not initialize GUI.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -23,8 +24,6 @@ import java.io.IOException; | |||
import java.util.Date; | |||
import javax.swing.BorderFactory; | |||
//import javax.swing.Box; | |||
//import javax.swing.ButtonGroup; | |||
import javax.swing.ImageIcon; | |||
import javax.swing.JButton; | |||
import javax.swing.JFrame; | |||
@@ -37,6 +36,9 @@ import javax.swing.border.Border; | |||
import javax.swing.border.TitledBorder; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.IconRegistry; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
import org.aspectj.bridge.Version; | |||
/** | |||
@@ -112,12 +114,10 @@ public class OptionsFrame extends JFrame { | |||
version_label.setText("Version: " + Version.text); | |||
built_label.setText("Built: " + new Date(Version.getTime()).toString()); | |||
addOptionsPanel(new BuildOptionsPanel()); | |||
loadOptions(); | |||
} | |||
catch(Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not open OptionsFrame", e); | |||
Message msg = new Message("Could not open OptionsFrame.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||
@@ -126,7 +126,12 @@ public class OptionsFrame extends JFrame { | |||
*/ | |||
public void addOptionsPanel(OptionsPanel panel) { | |||
main_tabbedPane.add(panel, main_tabbedPane.getComponentCount()-1); | |||
loadOptions(); | |||
try { | |||
panel.loadOptions(); | |||
} catch (IOException e) { | |||
Message msg = new Message("Could not load options.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||
public void removeOptionsPanel(OptionsPanel panel) { | |||
@@ -141,14 +146,14 @@ public class OptionsFrame extends JFrame { | |||
private void loadOptions() { | |||
try { | |||
Component[] components = main_tabbedPane.getComponents(); | |||
for | |||
(int i = 0; i < components.length; i++) { | |||
for (int i = 0; i < components.length; i++) { | |||
if (components[i] instanceof OptionsPanel) { | |||
((OptionsPanel)components[i]).loadOptions(); | |||
} | |||
} | |||
} catch (IOException ioe) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not load options.", ioe); | |||
Message msg = new Message("Could not load options.",IMessage.ERROR,ioe,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||
@@ -161,7 +166,8 @@ public class OptionsFrame extends JFrame { | |||
} | |||
} | |||
} catch (IOException ioe) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not load options.", ioe); | |||
Message msg = new Message("Could not load options.",IMessage.ERROR,ioe,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||
@@ -247,7 +253,7 @@ public class OptionsFrame extends JFrame { | |||
titledBorder3.setTitleFont(new java.awt.Font("Dialog", 0, 11)); | |||
titledBorder6.setTitleFont(new java.awt.Font("Dialog", 0, 11)); | |||
titledBorder5.setTitleFont(new java.awt.Font("Dialog", 0, 11)); | |||
titledBorder4.setTitle("Compiler Flags"); | |||
titledBorder4.setTitle("AjCompiler Flags"); | |||
titledBorder4.setTitleFont(new java.awt.Font("Dialog", 0, 11)); | |||
titledBorder7.setTitleFont(new java.awt.Font("Dialog", 0, 11)); | |||
titledBorder8.setTitle("Access Modifiers"); |
@@ -8,23 +8,37 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
package org.aspectj.ajde.ui.swing; | |||
import java.awt.*; | |||
import java.awt.BorderLayout; | |||
import java.awt.Color; | |||
import java.awt.Dimension; | |||
import java.awt.SystemColor; | |||
import java.awt.event.ActionEvent; | |||
import java.io.File; | |||
import java.util.ArrayList; | |||
import javax.swing.*; | |||
import javax.swing.border.*; | |||
import javax.swing.BorderFactory; | |||
import javax.swing.JButton; | |||
import javax.swing.JLabel; | |||
import javax.swing.JPanel; | |||
import javax.swing.border.BevelBorder; | |||
import javax.swing.border.Border; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.ui.*; | |||
import org.aspectj.asm.*; | |||
import org.aspectj.ajde.ui.StructureView; | |||
import org.aspectj.ajde.ui.StructureViewProperties; | |||
import org.aspectj.asm.AsmManager; | |||
import org.aspectj.asm.IHierarchy; | |||
import org.aspectj.asm.IHierarchyListener; | |||
import org.aspectj.asm.IProgramElement; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
public class SimpleStructureViewToolPanel extends JPanel { | |||
@@ -53,7 +67,7 @@ public class SimpleStructureViewToolPanel extends JPanel { | |||
public final IHierarchyListener MODEL_LISTENER = new IHierarchyListener() { | |||
public void elementsUpdated(IHierarchy model) { | |||
String path = Ajde.getDefault().getConfigurationManager().getActiveConfigFile(); | |||
String path = Ajde.getDefault().getBuildConfigManager().getActiveConfigFile(); | |||
String fileName = "<no active config>"; | |||
if (path != null) fileName = new File(path).getName(); | |||
updateCurrConfigLabel(fileName); | |||
@@ -68,11 +82,12 @@ public class SimpleStructureViewToolPanel extends JPanel { | |||
public SimpleStructureViewToolPanel(StructureView currentView) { | |||
this.currentView = currentView; | |||
Ajde.getDefault().getStructureModelManager().addListener(MODEL_LISTENER); | |||
AsmManager.getDefault().addListener(MODEL_LISTENER); | |||
try { | |||
jbInit(); | |||
} catch (Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not initialize GUI.", e); | |||
Message msg = new Message("Could not initialize GUI.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
updateCurrConfigLabel("<no active config>"); | |||
} | |||
@@ -99,7 +114,7 @@ public class SimpleStructureViewToolPanel extends JPanel { | |||
structureView_button_actionPerformed(e); | |||
} | |||
}); | |||
structureView_button.setIcon(AjdeUIManager.getDefault().getIconRegistry().getStructureViewIcon()); | |||
structureView_button.setIcon(Ajde.getDefault().getIconRegistry().getStructureViewIcon()); | |||
structureView_button.setBorder(border2); | |||
structureView_button.setToolTipText("Navigate back"); | |||
structureView_button.setPreferredSize(new Dimension(20, 20)); | |||
@@ -116,7 +131,7 @@ public class SimpleStructureViewToolPanel extends JPanel { | |||
forward_button_actionPerformed(e); | |||
} | |||
}); | |||
forward_button.setIcon(AjdeUIManager.getDefault().getIconRegistry().getForwardIcon()); | |||
forward_button.setIcon(Ajde.getDefault().getIconRegistry().getForwardIcon()); | |||
forward_button.setToolTipText("Navigate forward"); | |||
forward_button.setPreferredSize(new Dimension(20, 20)); | |||
forward_button.setMinimumSize(new Dimension(20, 20)); | |||
@@ -127,7 +142,7 @@ public class SimpleStructureViewToolPanel extends JPanel { | |||
back_button.setMinimumSize(new Dimension(20, 20)); | |||
back_button.setPreferredSize(new Dimension(20, 20)); | |||
back_button.setToolTipText("Navigate back"); | |||
back_button.setIcon(AjdeUIManager.getDefault().getIconRegistry().getBackIcon()); | |||
back_button.setIcon(Ajde.getDefault().getIconRegistry().getBackIcon()); | |||
back_button.addActionListener(new java.awt.event.ActionListener() { | |||
public void actionPerformed(ActionEvent e) { | |||
back_button_actionPerformed(e); | |||
@@ -142,7 +157,7 @@ public class SimpleStructureViewToolPanel extends JPanel { | |||
hideNonAJ_button.setMinimumSize(new Dimension(20, 20)); | |||
hideNonAJ_button.setPreferredSize(new Dimension(20, 20)); | |||
hideNonAJ_button.setToolTipText("Hide non-AspectJ members"); | |||
hideNonAJ_button.setIcon(AjdeUIManager.getDefault().getIconRegistry().getHideNonAJIcon()); | |||
hideNonAJ_button.setIcon(Ajde.getDefault().getIconRegistry().getHideNonAJIcon()); | |||
hideNonAJ_button.addActionListener(new java.awt.event.ActionListener() { | |||
public void actionPerformed(ActionEvent e) { | |||
hideNonAJ_button_actionPerformed(e); | |||
@@ -153,7 +168,7 @@ public class SimpleStructureViewToolPanel extends JPanel { | |||
hideAssociations_button.setMinimumSize(new Dimension(20, 20)); | |||
hideAssociations_button.setPreferredSize(new Dimension(20, 20)); | |||
hideAssociations_button.setToolTipText("Hide associations"); | |||
hideAssociations_button.setIcon(AjdeUIManager.getDefault().getIconRegistry().getHideAssociationsIcon()); | |||
hideAssociations_button.setIcon(Ajde.getDefault().getIconRegistry().getHideAssociationsIcon()); | |||
hideAssociations_button.addActionListener(new java.awt.event.ActionListener() { | |||
public void actionPerformed(ActionEvent e) { | |||
hideAssociations_button_actionPerformed(e); | |||
@@ -166,7 +181,7 @@ public class SimpleStructureViewToolPanel extends JPanel { | |||
sort_button_actionPerformed(e); | |||
} | |||
}); | |||
sort_button.setIcon(AjdeUIManager.getDefault().getIconRegistry().getOrderIcon()); | |||
sort_button.setIcon(Ajde.getDefault().getIconRegistry().getOrderIcon()); | |||
sort_button.setToolTipText("Sort member"); | |||
sort_button.setPreferredSize(new Dimension(20, 20)); | |||
sort_button.setMinimumSize(new Dimension(20, 20)); | |||
@@ -189,11 +204,11 @@ public class SimpleStructureViewToolPanel extends JPanel { | |||
} | |||
private void forward_button_actionPerformed(ActionEvent e) { | |||
Ajde.getDefault().getStructureViewManager().fireNavigateForwardAction(currentView); | |||
Ajde.getDefault().getStructureViewManager().fireNavigateForwardAction(currentView); | |||
} | |||
private void back_button_actionPerformed(ActionEvent e) { | |||
Ajde.getDefault().getStructureViewManager().fireNavigateBackAction(currentView); | |||
Ajde.getDefault().getStructureViewManager().fireNavigateBackAction(currentView); | |||
} | |||
void structureView_button_actionPerformed(ActionEvent e) { |
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -19,6 +20,8 @@ import java.awt.Font; | |||
import javax.swing.JTree; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
/** | |||
* @author Mik Kersten | |||
@@ -36,7 +39,8 @@ class StructureTree extends JTree { | |||
jbInit(); | |||
} | |||
catch(Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not initialize GUI.", e); | |||
Message msg = new Message("Could not initialize GUI.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -19,11 +20,22 @@ import java.util.ArrayList; | |||
import javax.swing.SwingUtilities; | |||
import javax.swing.event.TreeSelectionListener; | |||
import javax.swing.tree.*; | |||
import javax.swing.tree.DefaultMutableTreeNode; | |||
import javax.swing.tree.DefaultTreeModel; | |||
import javax.swing.tree.TreeModel; | |||
import javax.swing.tree.TreeNode; | |||
import javax.swing.tree.TreePath; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.ui.*; | |||
import org.aspectj.asm.*; | |||
import org.aspectj.ajde.ui.AbstractIcon; | |||
import org.aspectj.ajde.ui.GlobalStructureView; | |||
import org.aspectj.ajde.ui.IStructureViewNode; | |||
import org.aspectj.ajde.ui.StructureView; | |||
import org.aspectj.ajde.ui.StructureViewProperties; | |||
import org.aspectj.asm.IHierarchy; | |||
import org.aspectj.asm.IProgramElement; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
/** | |||
* @author Mik Kersten | |||
@@ -122,7 +134,8 @@ class StructureTreeManager { | |||
try { | |||
SwingUtilities.invokeAndWait(update); | |||
} catch (Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not update tree.", e); | |||
Message msg = new Message("Could not update tree.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||
} |
@@ -8,21 +8,31 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
package org.aspectj.ajde.ui.swing; | |||
import java.awt.*; | |||
import java.awt.BorderLayout; | |||
import java.awt.Color; | |||
import java.util.Iterator; | |||
import javax.swing.*; | |||
import javax.swing.border.*; | |||
import javax.swing.BorderFactory; | |||
import javax.swing.JPanel; | |||
import javax.swing.JScrollPane; | |||
import javax.swing.border.BevelBorder; | |||
import javax.swing.border.Border; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.ui.*; | |||
import org.aspectj.ajde.ui.FileStructureView; | |||
import org.aspectj.ajde.ui.IStructureViewNode; | |||
import org.aspectj.ajde.ui.StructureView; | |||
import org.aspectj.ajde.ui.StructureViewRenderer; | |||
import org.aspectj.asm.IProgramElement; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
/** | |||
* Represents the configuration of a structure view of the system, rendered | |||
@@ -65,7 +75,8 @@ public class StructureViewPanel extends JPanel implements StructureViewRenderer | |||
try { | |||
jbInit(); | |||
} catch (Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not initialize view panel.", e); | |||
Message msg = new Message("Could not initialize view panel.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
updateView(currentView); | |||
} | |||
@@ -95,7 +106,7 @@ public class StructureViewPanel extends JPanel implements StructureViewRenderer | |||
IProgramElement pNode = (IProgramElement)node.getStructureNode(); | |||
treeManager.highlightNode(pNode); | |||
if (pNode.getSourceLocation() != null) { | |||
Ajde.getDefault().getEditorAdapter().showSourceLine( | |||
Ajde.getDefault().getEditorAdapter().showSourceLine( | |||
pNode.getSourceLocation().getSourceFile().getAbsolutePath(), | |||
pNode.getSourceLocation().getLine() + lineOffset, | |||
true |
@@ -9,6 +9,7 @@ | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -16,9 +17,9 @@ package org.aspectj.ajde.ui.swing; | |||
import java.util.List; | |||
import org.aspectj.ajde.IconRegistry; | |||
import org.aspectj.ajde.ui.*; | |||
import org.aspectj.asm.*; | |||
import org.aspectj.asm.IProgramElement; | |||
/** | |||
* @author Mik Kersten |
@@ -8,20 +8,26 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
package org.aspectj.ajde.ui.swing; | |||
import java.awt.*; | |||
import java.awt.Color; | |||
import java.awt.Component; | |||
import java.awt.Font; | |||
import javax.swing.*; | |||
import javax.swing.Icon; | |||
import javax.swing.JTree; | |||
import javax.swing.tree.DefaultTreeCellRenderer; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.ajde.ui.IStructureViewNode; | |||
import org.aspectj.asm.*; | |||
import org.aspectj.bridge.*; | |||
import org.aspectj.asm.IProgramElement; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.ISourceLocation; | |||
/** | |||
* @author Mik Kersten | |||
@@ -68,15 +74,15 @@ class SwingTreeViewNodeRenderer extends DefaultTreeCellRenderer { | |||
if (node != null) { | |||
if (node.isRunnable()) { | |||
setIcon(AjdeUIManager.getDefault().getIconRegistry().getExecuteIcon()); | |||
setIcon(Ajde.getDefault().getIconRegistry().getExecuteIcon()); | |||
} | |||
if (node.getMessage() != null) { | |||
if (node.getMessage().getKind().equals(IMessage.WARNING)) { | |||
setIcon(AjdeUIManager.getDefault().getIconRegistry().getWarningIcon()); | |||
setIcon(Ajde.getDefault().getIconRegistry().getWarningIcon()); | |||
} else if (node.getMessage().getKind().equals(IMessage.ERROR)) { | |||
setIcon(AjdeUIManager.getDefault().getIconRegistry().getErrorIcon()); | |||
setIcon(Ajde.getDefault().getIconRegistry().getErrorIcon()); | |||
} else { | |||
setIcon(AjdeUIManager.getDefault().getIconRegistry().getInfoIcon()); | |||
setIcon(Ajde.getDefault().getIconRegistry().getInfoIcon()); | |||
} | |||
} | |||
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -46,6 +47,8 @@ import org.aspectj.ajde.ui.BuildConfigModel; | |||
import org.aspectj.ajde.ui.BuildConfigNode; | |||
import org.aspectj.ajde.ui.InvalidResourceException; | |||
import org.aspectj.asm.IProgramElement; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
/** | |||
* UI for editing build configuration (".lst") files via a graphical tree-based | |||
* representation. | |||
@@ -77,7 +80,8 @@ public class TreeViewBuildConfigEditor extends JPanel implements BuildConfigEdit | |||
public void openFile(String configFile) throws IOException, InvalidResourceException { | |||
try { | |||
if (configFile == null) { | |||
Ajde.getDefault().getErrorHandler().handleError("No structure is selected for editing."); | |||
Message msg = new Message("No structure is selected for editing.",IMessage.ERROR,null,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
return; | |||
} | |||
// this.configFile = configFile; | |||
@@ -85,7 +89,7 @@ public class TreeViewBuildConfigEditor extends JPanel implements BuildConfigEdit | |||
jbInit(); | |||
jLabel1.setText(" Build configuration: " + configFile); | |||
model = Ajde.getDefault().getConfigurationManager().buildModel(configFile); | |||
model = Ajde.getDefault().getBuildConfigManager().buildModel(configFile); | |||
root = buildTree((BuildConfigNode)model.getRoot()); | |||
buildConfig_tree.setModel(new DefaultTreeModel(root)); | |||
@@ -96,7 +100,8 @@ public class TreeViewBuildConfigEditor extends JPanel implements BuildConfigEdit | |||
buildConfig_tree.expandPath(buildConfig_tree.getPathForRow(j)); | |||
} | |||
} catch(Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not open file.", e); | |||
Message msg = new Message("Could not open file.",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||
@@ -110,7 +115,7 @@ public class TreeViewBuildConfigEditor extends JPanel implements BuildConfigEdit | |||
} | |||
private void saveModel() { | |||
Ajde.getDefault().getConfigurationManager().writeModel(model); | |||
Ajde.getDefault().getBuildConfigManager().writeModel(model); | |||
} | |||
private void jbInit() throws Exception { | |||
@@ -250,15 +255,15 @@ public class TreeViewBuildConfigEditor extends JPanel implements BuildConfigEdit | |||
//} | |||
BuildConfigNode.Kind kind = ctn.getModelNode().getBuildConfigNodeKind(); | |||
if (kind.equals(BuildConfigNode.Kind.FILE_ASPECTJ)) { | |||
setIcon(AjdeUIManager.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.FILE_ASPECTJ)); | |||
setIcon(Ajde.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.FILE_ASPECTJ)); | |||
} else if (kind.equals(BuildConfigNode.Kind.FILE_JAVA)) { | |||
setIcon(AjdeUIManager.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.FILE_JAVA)); | |||
setIcon(Ajde.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.FILE_JAVA)); | |||
} else if (kind.equals(BuildConfigNode.Kind.FILE_LST)) { | |||
setIcon(AjdeUIManager.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.FILE_LST)); | |||
setIcon(Ajde.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.FILE_LST)); | |||
} else if (kind.equals(BuildConfigNode.Kind.DIRECTORY)) { | |||
setIcon(AjdeUIManager.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.PACKAGE)); | |||
setIcon(Ajde.getDefault().getIconRegistry().getStructureSwingIcon(IProgramElement.Kind.PACKAGE)); | |||
} else { | |||
setIcon((Icon)AjdeUIManager.getDefault().getIconRegistry().getIcon(IProgramElement.Kind.ERROR).getIconResource()); | |||
setIcon((Icon)Ajde.getDefault().getIconRegistry().getIcon(IProgramElement.Kind.ERROR).getIconResource()); | |||
p.remove(cbox); | |||
} | |||
@@ -8,7 +8,8 @@ | |||
* http://www.eclipse.org/legal/epl-v10.html | |||
* | |||
* Contributors: | |||
* Xerox/PARC initial implementation | |||
* Xerox/PARC initial implementation | |||
* Helen Hawkins Converted to new interface (bug 148190) | |||
* ******************************************************************/ | |||
@@ -41,6 +42,8 @@ import javax.swing.ListCellRenderer; | |||
import javax.swing.border.TitledBorder; | |||
import org.aspectj.ajde.Ajde; | |||
import org.aspectj.bridge.IMessage; | |||
import org.aspectj.bridge.Message; | |||
/** | |||
* Used for automatically updating build configuration files (".lst") when a | |||
@@ -106,7 +109,8 @@ public class UpdateConfigurationDialog extends JFrame { | |||
this.setLocation(posX, posY); | |||
} | |||
catch(Exception e) { | |||
Ajde.getDefault().getErrorHandler().handleError("Could not open configuration dialog", e); | |||
Message msg = new Message("Could not open configuration dialog",IMessage.ERROR,e,null); | |||
Ajde.getDefault().getMessageHandler().handleMessage(msg); | |||
} | |||
} | |||