diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/plugin.xml b/plugins/org.eclipse.dd.debug.ui.memory.transport/plugin.xml
index 540250d6bb2..ac8db50b99c 100644
--- a/plugins/org.eclipse.dd.debug.ui.memory.transport/plugin.xml
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/plugin.xml
@@ -29,6 +29,16 @@
class="org.eclipse.dd.debug.ui.memory.transport.PlainTextExporter">
+
+
+
+
diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/ExportMemoryDialog.java b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/ExportMemoryDialog.java
index 3714645c9a8..8c9bba4fcb3 100644
--- a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/ExportMemoryDialog.java
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/ExportMemoryDialog.java
@@ -14,7 +14,6 @@ package org.eclipse.dd.debug.ui.memory.transport;
import java.util.Properties;
import java.util.Vector;
-import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtensionPoint;
import org.eclipse.core.runtime.IExtensionRegistry;
@@ -24,7 +23,6 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.dd.debug.ui.memory.transport.model.IMemoryExporter;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
@@ -151,7 +149,7 @@ public class ExportMemoryDialog extends SelectionDialog
exporters.addElement((IMemoryExporter) element.createExecutableExtension("class"));
}
catch(Exception e) {
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
}
diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/ImportMemoryDialog.java b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/ImportMemoryDialog.java
index cab3b068518..ae3dd1e519d 100644
--- a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/ImportMemoryDialog.java
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/ImportMemoryDialog.java
@@ -25,7 +25,6 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.dd.debug.ui.memory.transport.model.IMemoryImporter;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.views.memory.MemoryView;
import org.eclipse.debug.internal.ui.views.memory.RenderingViewPane;
import org.eclipse.debug.ui.memory.IMemoryRendering;
@@ -195,7 +194,7 @@ public class ImportMemoryDialog extends SelectionDialog
importers.addElement((IMemoryImporter) element.createExecutableExtension("class"));
}
catch(Exception e) {
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
}
@@ -232,10 +231,9 @@ public class ImportMemoryDialog extends SelectionDialog
}
});
-
fFormatCombo.select(0);
- fCurrentControl = fFormatImporters[0].createControl(container,
- fMemoryBlock, fProperties, ImportMemoryDialog.this);
+ fCurrentControl =
+ fFormatImporters[0].createControl(container,fMemoryBlock, fProperties, ImportMemoryDialog.this);
return composite;
}
@@ -244,6 +242,4 @@ public class ImportMemoryDialog extends SelectionDialog
{
getButton(IDialogConstants.OK_ID).setEnabled(isValid);
}
-
-
}
diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/MemoryTransportPlugin.java b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/MemoryTransportPlugin.java
index 10f6c6e0ea0..212c2c75352 100644
--- a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/MemoryTransportPlugin.java
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/MemoryTransportPlugin.java
@@ -11,6 +11,9 @@
package org.eclipse.dd.debug.ui.memory.transport;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.plugin.AbstractUIPlugin;
public class MemoryTransportPlugin extends AbstractUIPlugin
@@ -38,4 +41,24 @@ public class MemoryTransportPlugin extends AbstractUIPlugin
public static String getUniqueIdentifier() {
return PLUGIN_ID;
}
+
+ /**
+ * Returns the currently active workbench window shell or null
+ * if none.
+ *
+ * @return the currently active workbench window shell or null
+ */
+ public static Shell getShell() {
+ IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+ if (window == null) {
+ IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
+ if (windows.length > 0) {
+ return windows[0].getShell();
+ }
+ }
+ else {
+ return window.getShell();
+ }
+ return null;
+ }
}
diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/PlainTextExporter.java b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/PlainTextExporter.java
index bf6ef75b2a2..5a0b24f481e 100644
--- a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/PlainTextExporter.java
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/PlainTextExporter.java
@@ -25,14 +25,9 @@ import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.model.IMemoryBlock;
import org.eclipse.debug.core.model.IMemoryBlockExtension;
import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.FormAttachment;
@@ -183,7 +178,7 @@ public class PlainTextExporter implements IMemoryExporter {
}
catch(Exception e)
{
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
@@ -464,13 +459,13 @@ public class PlainTextExporter implements IMemoryExporter {
}
catch(Exception e)
{
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
}
catch(Exception e)
{
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
return Status.OK_STATUS;
diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/PlainTextImporter.java b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/PlainTextImporter.java
index 71f38295918..fdad4521a4d 100644
--- a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/PlainTextImporter.java
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/PlainTextImporter.java
@@ -27,7 +27,6 @@ import org.eclipse.dd.debug.ui.memory.transport.model.IMemoryImporter;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.model.IMemoryBlock;
import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
@@ -160,7 +159,7 @@ public class PlainTextImporter implements IMemoryImporter {
}
catch(Exception e)
{
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
@@ -295,10 +294,6 @@ public class PlainTextImporter implements IMemoryImporter {
{
BufferedMemoryWriter memoryWriter = new BufferedMemoryWriter((IMemoryBlockExtension) fMemoryBlock, BUFFER_LENGTH);
- BigInteger offset = null;
- if(!fUseCustomAddress)
- offset = BigInteger.ZERO;
-
BigInteger scrollToAddress = null;
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(fInputFile)));
@@ -333,13 +328,16 @@ public class PlainTextImporter implements IMemoryImporter {
if(scrollToAddress == null)
scrollToAddress = recordAddress;
- memoryWriter.write(recordAddress.subtract(((IMemoryBlockExtension)
- fMemoryBlock).getBigBaseAddress()).add(BigInteger.valueOf(bytesRead)), data);
+ BigInteger writeAddress =
+
+ recordAddress.subtract(((IMemoryBlockExtension)fMemoryBlock).getBigBaseAddress()).add(BigInteger.valueOf(bytesRead));
+
+ memoryWriter.write(writeAddress, data);
bytesRead += data.length;
}
- recordAddress = recordAddress.and(BigInteger.valueOf(bytesRead));
+ recordAddress = recordAddress.add(BigInteger.valueOf(bytesRead));
jobCount = jobCount.add(BigInteger.valueOf(bytesRead));
while(jobCount.compareTo(factor) >= 0)
@@ -360,7 +358,7 @@ public class PlainTextImporter implements IMemoryImporter {
}
catch(Exception e)
{
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
}
diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/RAWBinaryExporter.java b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/RAWBinaryExporter.java
new file mode 100644
index 00000000000..5d4552c9cd6
--- /dev/null
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/RAWBinaryExporter.java
@@ -0,0 +1,465 @@
+/*******************************************************************************
+ * Copyright (c) 2006-2008 Wind River Systems, Inc. and others.
+ * 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:
+ * Ted R Williams (Wind River Systems, Inc.) - initial implementation
+ *******************************************************************************/
+
+package org.eclipse.dd.debug.ui.memory.transport;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.math.BigInteger;
+import java.util.Properties;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.dd.debug.ui.memory.transport.model.IMemoryExporter;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IMemoryBlock;
+import org.eclipse.debug.core.model.IMemoryBlockExtension;
+import org.eclipse.debug.core.model.MemoryByte;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+
+public class RAWBinaryExporter implements IMemoryExporter
+{
+ File fOutputFile;
+ BigInteger fStartAddress;
+ BigInteger fEndAddress;
+
+ private Text fStartText;
+ private Text fEndText;
+ private Text fLengthText;
+ private Text fFileText;
+
+ private IMemoryBlock fMemoryBlock;
+
+ private ExportMemoryDialog fParentDialog;
+
+ private Properties fProperties;
+
+ public Control createControl(final Composite parent, IMemoryBlock memBlock, Properties properties, ExportMemoryDialog parentDialog)
+ {
+ fMemoryBlock = memBlock;
+ fParentDialog = parentDialog;
+ fProperties = properties;
+
+ Composite composite = new Composite(parent, SWT.NONE)
+ {
+ public void dispose()
+ {
+ fProperties.setProperty(TRANSFER_FILE, fFileText.getText());
+ fProperties.setProperty(TRANSFER_START, fStartText.getText());
+ fProperties.setProperty(TRANSFER_END, fEndText.getText());
+
+ fStartAddress = getStartAddress();
+ fEndAddress = getEndAddress();
+ fOutputFile = getFile();
+
+ super.dispose();
+ }
+ };
+ FormLayout formLayout = new FormLayout();
+ formLayout.spacing = 5;
+ formLayout.marginWidth = formLayout.marginHeight = 9;
+ composite.setLayout(formLayout);
+
+ // start address
+
+ Label startLabel = new Label(composite, SWT.NONE);
+ startLabel.setText("Start address: ");
+ FormData data = new FormData();
+ startLabel.setLayoutData(data);
+
+ fStartText = new Text(composite, SWT.NONE);
+ data = new FormData();
+ data.left = new FormAttachment(startLabel);
+ data.width = 100;
+ fStartText.setLayoutData(data);
+
+ // end address
+
+ Label endLabel = new Label(composite, SWT.NONE);
+ endLabel.setText("End address: ");
+ data = new FormData();
+ data.top = new FormAttachment(fStartText, 0, SWT.CENTER);
+ data.left = new FormAttachment(fStartText);
+ endLabel.setLayoutData(data);
+
+ fEndText = new Text(composite, SWT.NONE);
+ data = new FormData();
+ data.top = new FormAttachment(fStartText, 0, SWT.CENTER);
+ data.left = new FormAttachment(endLabel);
+ data.width = 100;
+ fEndText.setLayoutData(data);
+
+ // length
+
+ Label lengthLabel = new Label(composite, SWT.NONE);
+ lengthLabel.setText("Length: ");
+ data = new FormData();
+ data.top = new FormAttachment(fStartText, 0, SWT.CENTER);
+ data.left = new FormAttachment(fEndText);
+ lengthLabel.setLayoutData(data);
+
+ fLengthText = new Text(composite, SWT.NONE);
+ data = new FormData();
+ data.top = new FormAttachment(fStartText, 0, SWT.CENTER);
+ data.left = new FormAttachment(lengthLabel);
+ data.width = 100;
+ fLengthText.setLayoutData(data);
+
+ // file
+
+ Label fileLabel = new Label(composite, SWT.NONE);
+ fFileText = new Text(composite, SWT.NONE);
+ Button fileButton = new Button(composite, SWT.PUSH);
+
+ fileLabel.setText("File name: ");
+ data = new FormData();
+ data.top = new FormAttachment(fileButton, 0, SWT.CENTER);
+ fileLabel.setLayoutData(data);
+
+ data = new FormData();
+ data.top = new FormAttachment(fileButton, 0, SWT.CENTER);
+ data.left = new FormAttachment(fileLabel);
+ data.width = 300;
+ fFileText.setLayoutData(data);
+
+ fileButton.setText("Browse...");
+ data = new FormData();
+ data.top = new FormAttachment(fLengthText);
+ data.left = new FormAttachment(fFileText);
+ fileButton.setLayoutData(data);
+
+ fFileText.setText(properties.getProperty(TRANSFER_FILE, ""));
+ try
+ {
+ BigInteger startAddress = null;
+ if(fMemoryBlock instanceof IMemoryBlockExtension)
+ startAddress = ((IMemoryBlockExtension) fMemoryBlock).getBigBaseAddress();
+ else
+ startAddress = BigInteger.valueOf(fMemoryBlock.getStartAddress());
+
+ if(properties.getProperty(TRANSFER_START) != null)
+ fStartText.setText(properties.getProperty(TRANSFER_START));
+ else
+ fStartText.setText("0x" + startAddress.toString(16));
+
+ if(properties.getProperty(TRANSFER_END) != null)
+ fEndText.setText(properties.getProperty(TRANSFER_END));
+ else
+ fEndText.setText("0x" + startAddress.toString(16));
+
+ fLengthText.setText(getEndAddress().subtract(getStartAddress()).toString());
+ }
+ catch(Exception e)
+ {
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ DebugException.INTERNAL_ERROR, "Failure", e));
+ }
+
+ fileButton.addSelectionListener(new SelectionListener() {
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+
+ public void widgetSelected(SelectionEvent e) {
+ FileDialog dialog = new FileDialog(parent.getShell(), SWT.SAVE);
+ dialog.setText("Choose memory export file");
+ dialog.setFilterExtensions(new String[] { "*.*;*" } );
+ dialog.setFilterNames(new String[] { "All Files" } );
+ dialog.setFileName(fFileText.getText());
+ dialog.open();
+
+ String filename = dialog.getFileName();
+ if(filename != null && filename.length() != 0 )
+ {
+ fFileText.setText(dialog.getFilterPath() + File.separator + filename);
+ }
+
+ validate();
+ }
+
+ });
+
+ fStartText.addKeyListener(new KeyListener() {
+ public void keyReleased(KeyEvent e) {
+ boolean valid = true;
+ try
+ {
+ getStartAddress();
+ }
+ catch(Exception ex)
+ {
+ valid = false;
+ }
+
+ fStartText.setForeground(valid ? Display.getDefault().getSystemColor(SWT.COLOR_BLACK) :
+ Display.getDefault().getSystemColor(SWT.COLOR_RED));
+
+ //
+
+ BigInteger endAddress = getEndAddress();
+ BigInteger startAddress = getStartAddress();
+
+ fLengthText.setText(endAddress.subtract(startAddress).toString());
+
+ validate();
+ }
+
+ public void keyPressed(KeyEvent e) {}
+ });
+
+ fEndText.addKeyListener(new KeyListener() {
+ public void keyReleased(KeyEvent e) {
+ try
+ {
+ getEndAddress();
+ fEndText.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
+
+ BigInteger endAddress = getEndAddress();
+ BigInteger startAddress = getStartAddress();
+
+ String lengthString = endAddress.subtract(startAddress).toString();
+
+ if(!fLengthText.getText().equals(lengthString))
+ fLengthText.setText(lengthString);
+ }
+ catch(Exception ex)
+ {
+ fEndText.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
+ }
+
+ validate();
+ }
+
+ public void keyPressed(KeyEvent e) {}
+
+ });
+
+ fLengthText.addKeyListener(new KeyListener() {
+ public void keyReleased(KeyEvent e) {
+ try
+ {
+ BigInteger length = getLength();
+ fLengthText.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_BLACK));
+ BigInteger startAddress = getStartAddress();
+ String endString = "0x" + startAddress.add(length).toString(16);
+ if(!fEndText.getText().equals(endString))
+ fEndText.setText(endString);
+ }
+ catch(Exception ex)
+ {
+ fLengthText.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_RED));
+ }
+
+ validate();
+ }
+
+
+
+ public void keyPressed(KeyEvent e) {
+
+ }
+ });
+
+ fFileText.addKeyListener(new KeyListener() {
+ public void keyReleased(KeyEvent e) {
+ validate();
+ }
+
+ public void keyPressed(KeyEvent e) {
+
+ }
+ });
+
+ composite.pack();
+ parent.pack();
+
+ /*
+ * We need to perform a validation. If we do it immediately we will get an exception
+ * because things are not totally setup. So we schedule an immediate running of the
+ * validation. For a very brief time the view logically may show a state which does
+ * not reflect the true state of affairs. But the validate immediately corrects the
+ * info. In practice the user never sees the invalid state displayed, because of the
+ * speed of the draw of the dialog.
+ */
+ Display.getDefault().asyncExec(new Runnable(){
+ public void run()
+ {
+ validate();
+ }
+ });
+
+ return composite;
+ }
+
+ public BigInteger getEndAddress()
+ {
+ String text = fEndText.getText();
+ boolean hex = text.startsWith("0x");
+ BigInteger endAddress = new BigInteger(hex ? text.substring(2) : text,
+ hex ? 16 : 10);
+
+ return endAddress;
+ }
+
+ public BigInteger getStartAddress()
+ {
+ String text = fStartText.getText();
+ boolean hex = text.startsWith("0x");
+ BigInteger startAddress = new BigInteger(hex ? text.substring(2) : text,
+ hex ? 16 : 10);
+
+ return startAddress;
+ }
+
+ public BigInteger getLength()
+ {
+ String text = fLengthText.getText();
+ boolean hex = text.startsWith("0x");
+ BigInteger lengthAddress = new BigInteger(hex ? text.substring(2) : text,
+ hex ? 16 : 10);
+
+ return lengthAddress;
+ }
+
+ public File getFile()
+ {
+ return new File(fFileText.getText());
+ }
+
+ private void validate()
+ {
+ boolean isValid = true;
+
+ try
+ {
+ getEndAddress();
+
+ getStartAddress();
+
+ BigInteger length = getLength();
+
+ if(length.compareTo(BigInteger.ZERO) <= 0)
+ isValid = false;
+
+ if(!getFile().getParentFile().exists())
+ isValid = false;
+ }
+ catch(Exception e)
+ {
+ isValid = false;
+ }
+
+ fParentDialog.setValid(isValid);
+ }
+
+
+ public String getId()
+ {
+ return "rawbinary";
+ }
+
+ public String getName()
+ {
+ return "RAW Binary";
+ }
+
+ public void exportMemory()
+ {
+ Job job = new Job("Memory Export to RAW Binary File"){ //$NON-NLS-1$
+ public IStatus run(IProgressMonitor monitor) {
+
+ try
+ {
+ try
+ {
+ BigInteger DATA_PER_RECORD = BigInteger.valueOf(1024);
+
+ BigInteger transferAddress = fStartAddress;
+
+ FileOutputStream writer = new FileOutputStream(fOutputFile);
+
+ BigInteger jobs = fEndAddress.subtract(transferAddress).divide(DATA_PER_RECORD);
+ BigInteger factor = BigInteger.ONE;
+ if(jobs.compareTo(BigInteger.valueOf(0x7FFFFFFF)) > 0)
+ {
+ factor = jobs.divide(BigInteger.valueOf(0x7FFFFFFF));
+ jobs = jobs.divide(factor);
+ }
+
+ monitor.beginTask("Transferring Data", jobs.intValue());
+
+ BigInteger jobCount = BigInteger.ZERO;
+ while(transferAddress.compareTo(fEndAddress) < 0 && !monitor.isCanceled())
+ {
+ BigInteger length = DATA_PER_RECORD;
+ if(fEndAddress.subtract(transferAddress).compareTo(length) < 0)
+ length = fEndAddress.subtract(transferAddress);
+
+ // data
+ byte[] byteValues = new byte[length.intValue()];
+
+ MemoryByte bytes[] = ((IMemoryBlockExtension) fMemoryBlock).getBytesFromAddress(transferAddress,
+ length.longValue() / ((IMemoryBlockExtension) fMemoryBlock).getAddressableSize());
+ for(int byteIndex = 0; byteIndex < bytes.length; byteIndex++)
+ {
+ byteValues[byteIndex] = bytes[byteIndex].getValue();
+ }
+
+
+ writer.write(byteValues);
+
+ transferAddress = transferAddress.add(length);
+
+ jobCount = jobCount.add(BigInteger.ONE);
+ if(jobCount.compareTo(factor) == 0)
+ {
+ jobCount = BigInteger.ZERO;
+ monitor.worked(1);
+ }
+ }
+
+ writer.close();
+ monitor.done();
+ }
+ catch(Exception e)
+ {
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ DebugException.INTERNAL_ERROR, "Failure", e));
+ }
+ }
+ catch(Exception e)
+ {
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ DebugException.INTERNAL_ERROR, "Failure", e));
+ }
+ return Status.OK_STATUS;
+ }};
+ job.setUser(true);
+ job.schedule();
+ }
+
+}
diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/RAWBinaryImporter.java b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/RAWBinaryImporter.java
new file mode 100644
index 00000000000..298d5751bd1
--- /dev/null
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/RAWBinaryImporter.java
@@ -0,0 +1,344 @@
+/*******************************************************************************
+ * Copyright (c) 2006-2008 Wind River Systems, Inc. and others.
+ * 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:
+ * Ted R Williams (Wind River Systems, Inc.) - initial implementation
+ *******************************************************************************/
+
+package org.eclipse.dd.debug.ui.memory.transport;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.math.BigInteger;
+import java.util.Properties;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.dd.debug.ui.memory.transport.model.IMemoryImporter;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.core.model.IMemoryBlock;
+import org.eclipse.debug.core.model.IMemoryBlockExtension;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+
+public class RAWBinaryImporter implements IMemoryImporter {
+
+ File fInputFile;
+ BigInteger fStartAddress;
+ Boolean fScrollToStart;
+
+ private Text fStartText;
+ private Text fFileText;
+
+ private Button fScrollToBeginningOnImportComplete;
+
+ private IMemoryBlock fMemoryBlock;
+
+ private ImportMemoryDialog fParentDialog;
+
+ private Properties fProperties;
+
+ private static final int BUFFER_LENGTH = 64 * 1024;
+
+ public Control createControl(final Composite parent, IMemoryBlock memBlock, Properties properties, ImportMemoryDialog parentDialog)
+ {
+ fMemoryBlock = memBlock;
+ fParentDialog = parentDialog;
+ fProperties = properties;
+
+ Composite composite = new Composite(parent, SWT.NONE)
+ {
+ public void dispose()
+ {
+ fProperties.setProperty(TRANSFER_FILE, fFileText.getText());
+ fProperties.setProperty(TRANSFER_START, fStartText.getText());
+ fProperties.setProperty(TRANSFER_SCROLL_TO_START, fScrollToStart.toString());
+ fStartAddress = getStartAddress();
+ fInputFile = getFile();
+
+ super.dispose();
+ }
+ };
+ FormLayout formLayout = new FormLayout();
+ formLayout.spacing = 5;
+ formLayout.marginWidth = formLayout.marginHeight = 9;
+ composite.setLayout(formLayout);
+
+ // restore to this address
+
+ Label labelStartText = new Label(composite, SWT.NONE);
+ labelStartText.setText("Restore to address: ");
+
+ fStartText = new Text(composite, SWT.NONE);
+ FormData data = new FormData();
+ data.left = new FormAttachment(labelStartText);
+ data.width = 100;
+ fStartText.setLayoutData(data);
+
+ // file
+
+ Label fileLabel = new Label(composite, SWT.NONE);
+ fFileText = new Text(composite, SWT.NONE);
+ Button fileButton = new Button(composite, SWT.PUSH);
+
+ fileLabel.setText("File name: ");
+ data = new FormData();
+ data.top = new FormAttachment(fileButton, 0, SWT.CENTER);
+ fileLabel.setLayoutData(data);
+
+ data = new FormData();
+ data.top = new FormAttachment(fileButton, 0, SWT.CENTER);
+ data.left = new FormAttachment(fileLabel);
+ data.width = 300;
+ fFileText.setLayoutData(data);
+
+ fileButton.setText("Browse...");
+ data = new FormData();
+ data.top = new FormAttachment(fStartText);
+ data.left = new FormAttachment(fFileText);
+ fileButton.setLayoutData(data);
+
+ fFileText.setText(properties.getProperty(TRANSFER_FILE, ""));
+ fScrollToStart = new Boolean(properties.getProperty(TRANSFER_SCROLL_TO_START, "true"));
+ try
+ {
+ BigInteger startAddress = null;
+ if(fMemoryBlock instanceof IMemoryBlockExtension)
+ startAddress = ((IMemoryBlockExtension) fMemoryBlock).getBigBaseAddress();
+ else
+ startAddress = BigInteger.valueOf(fMemoryBlock.getStartAddress());
+
+ if(properties.getProperty(TRANSFER_START) != null)
+ fStartText.setText(properties.getProperty(TRANSFER_START));
+ else
+ fStartText.setText("0x" + startAddress.toString(16));
+
+ }
+ catch(Exception e)
+ {
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ DebugException.INTERNAL_ERROR, "Failure", e));
+ }
+
+ fileButton.addSelectionListener(new SelectionListener() {
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+
+ public void widgetSelected(SelectionEvent e) {
+ FileDialog dialog = new FileDialog(parent.getShell(), SWT.SAVE);
+ dialog.setText("Choose memory import file");
+ dialog.setFilterExtensions(new String[] { "*.*;*" } );
+ dialog.setFilterNames(new String[] { "All Files" } );
+ dialog.setFileName(fFileText.getText());
+ dialog.open();
+
+ String filename = dialog.getFileName();
+ if(filename != null && filename.length() != 0 )
+ {
+ fFileText.setText(dialog.getFilterPath() + File.separator + filename);
+ }
+
+ validate();
+ }
+
+ });
+
+ fStartText.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ boolean valid = true;
+ try
+ {
+ getStartAddress();
+ }
+ catch(Exception ex)
+ {
+ valid = false;
+ }
+
+ fStartText.setForeground(valid ? Display.getDefault().getSystemColor(SWT.COLOR_BLACK) :
+ Display.getDefault().getSystemColor(SWT.COLOR_RED));
+
+ //
+
+ validate();
+ }
+
+ });
+ fFileText.addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ validate();
+ }
+ });
+
+ fScrollToBeginningOnImportComplete = new Button(composite, SWT.CHECK);
+ fScrollToBeginningOnImportComplete.setText("Scroll to File Start Address");
+ data = new FormData();
+ data.top = new FormAttachment(fileButton);
+ fScrollToBeginningOnImportComplete.setLayoutData(data);
+
+ composite.pack();
+ parent.pack();
+
+ Display.getDefault().asyncExec(new Runnable(){
+ public void run()
+ {
+ validate();
+ }
+ });
+
+ return composite;
+ }
+
+ private void validate()
+ {
+ boolean isValid = true;
+
+ try
+ {
+ getStartAddress();
+ if(!getFile().exists())
+ isValid = false;
+ }
+ catch(Exception e)
+ {
+ isValid = false;
+ }
+
+ fParentDialog.setValid(isValid);
+ }
+
+ public boolean getScrollToStart()
+ {
+ return fScrollToBeginningOnImportComplete.getSelection();
+ }
+
+ public BigInteger getStartAddress()
+ {
+ String text = fStartText.getText();
+ boolean hex = text.startsWith("0x");
+ BigInteger startAddress = new BigInteger(hex ? text.substring(2) : text,
+ hex ? 16 : 10);
+
+ return startAddress;
+ }
+
+ public File getFile()
+ {
+ return new File(fFileText.getText());
+ }
+
+ public String getId()
+ {
+ return "rawbinary";
+ }
+
+ public String getName()
+ {
+ return "RAW Binary";
+ }
+
+ public void importMemory() {
+ Job job = new Job("Memory Import from RAW Binary File"){ //$NON-NLS-1$
+
+ public IStatus run(IProgressMonitor monitor) {
+
+ try
+ {
+ try
+ {
+ BufferedMemoryWriter memoryWriter = new BufferedMemoryWriter((IMemoryBlockExtension) fMemoryBlock, BUFFER_LENGTH);
+
+ BigInteger scrollToAddress = null;
+
+ FileInputStream reader = new FileInputStream(fInputFile);
+
+ BigInteger jobs = BigInteger.valueOf(fInputFile.length());
+ BigInteger factor = BigInteger.ONE;
+ if(jobs.compareTo(BigInteger.valueOf(0x7FFFFFFF)) > 0)
+ {
+ factor = jobs.divide(BigInteger.valueOf(0x7FFFFFFF));
+ jobs = jobs.divide(factor);
+ }
+
+ byte[] byteValues = new byte[1024];
+
+ monitor.beginTask("Transferring Data", jobs.intValue()); //$NON-NLS-1$
+
+ BigInteger jobCount = BigInteger.ZERO;
+ int actualByteCount = reader.read(byteValues);
+ BigInteger recordAddress = fStartAddress;
+
+ while(actualByteCount != -1 && !monitor.isCanceled())
+ {
+ byte data[] = new byte[actualByteCount];
+ for(int i = 0; i < data.length; i++)
+ {
+ data[i] = byteValues[i];
+ }
+
+ if(scrollToAddress == null)
+ scrollToAddress = recordAddress;
+
+ BigInteger baseAddress = null;
+ if(fMemoryBlock instanceof IMemoryBlockExtension)
+ baseAddress = ((IMemoryBlockExtension) fMemoryBlock).getBigBaseAddress();
+ else
+ baseAddress = BigInteger.valueOf(fMemoryBlock.getStartAddress());
+
+ memoryWriter.write(recordAddress.subtract(baseAddress), data);
+
+ jobCount = jobCount.add(BigInteger.valueOf(actualByteCount));
+ while(jobCount.compareTo(factor) >= 0)
+ {
+ jobCount = jobCount.subtract(factor);
+ monitor.worked(1);
+ }
+
+ recordAddress.add(BigInteger.valueOf(actualByteCount));
+ actualByteCount = reader.read(byteValues);
+ }
+
+ memoryWriter.flush();
+ reader.close();
+ monitor.done();
+
+ if(fProperties.getProperty(TRANSFER_SCROLL_TO_START, "false").equals("true"))
+ fParentDialog.scrollRenderings(scrollToAddress);
+ }
+ catch(Exception e)
+ {
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ DebugException.INTERNAL_ERROR, "Failure", e));
+ }
+ }
+ catch(Exception e)
+ {
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ DebugException.INTERNAL_ERROR, "Failure", e));
+ }
+ return Status.OK_STATUS;
+ }};
+ job.setUser(true);
+ job.schedule();
+ }
+}
diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/SRecordExporter.java b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/SRecordExporter.java
index 689c4ecdcb0..44f648f8ee7 100644
--- a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/SRecordExporter.java
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/SRecordExporter.java
@@ -25,12 +25,9 @@ import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.model.IMemoryBlock;
import org.eclipse.debug.core.model.IMemoryBlockExtension;
import org.eclipse.debug.core.model.MemoryByte;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.FormAttachment;
@@ -179,7 +176,7 @@ public class SRecordExporter implements IMemoryExporter
}
catch(Exception e)
{
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
@@ -493,13 +490,13 @@ public class SRecordExporter implements IMemoryExporter
}
catch(Exception e)
{
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
}
catch(Exception e)
{
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
return Status.OK_STATUS;
diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/SRecordImporter.java b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/SRecordImporter.java
index 87c4ac407dc..83a715bdbb8 100644
--- a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/SRecordImporter.java
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/SRecordImporter.java
@@ -26,7 +26,6 @@ import org.eclipse.dd.debug.ui.memory.transport.model.IMemoryImporter;
import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.model.IMemoryBlock;
import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
@@ -175,7 +174,7 @@ public class SRecordImporter implements IMemoryImporter {
}
catch(Exception e)
{
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
@@ -425,13 +424,13 @@ public class SRecordImporter implements IMemoryImporter {
}
catch(Exception e)
{
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
}
catch(Exception e)
{
- DebugUIPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
+ MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(),
DebugException.INTERNAL_ERROR, "Failure", e));
}
return Status.OK_STATUS;
diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/actions/ExportMemoryAction.java b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/actions/ExportMemoryAction.java
index fdfb490745e..4dcb0f23cbf 100644
--- a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/actions/ExportMemoryAction.java
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/actions/ExportMemoryAction.java
@@ -12,16 +12,13 @@
package org.eclipse.dd.debug.ui.memory.transport.actions;
import org.eclipse.dd.debug.ui.memory.transport.ExportMemoryDialog;
+import org.eclipse.dd.debug.ui.memory.transport.MemoryTransportPlugin;
import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.views.memory.MemoryView;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewIdRegistry;
-import org.eclipse.debug.ui.IDebugUIConstants;
import org.eclipse.debug.ui.memory.IMemoryRendering;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IViewActionDelegate;
import org.eclipse.ui.IViewPart;
@@ -69,7 +66,7 @@ public class ExportMemoryAction implements IViewActionDelegate {
IMemoryBlock memBlock = getMemoryBlock(selection);
if(memBlock == null)
return;
- ExportMemoryDialog dialog = new ExportMemoryDialog(DebugUIPlugin.getShell(), memBlock);
+ ExportMemoryDialog dialog = new ExportMemoryDialog(MemoryTransportPlugin.getShell(), memBlock);
dialog.open();
dialog.getResult();
diff --git a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/actions/ImportMemoryAction.java b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/actions/ImportMemoryAction.java
index b2c3f34aa16..a60553feab9 100644
--- a/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/actions/ImportMemoryAction.java
+++ b/plugins/org.eclipse.dd.debug.ui.memory.transport/src/org/eclipse/dd/debug/ui/memory/transport/actions/ImportMemoryAction.java
@@ -12,18 +12,13 @@
package org.eclipse.dd.debug.ui.memory.transport.actions;
import org.eclipse.dd.debug.ui.memory.transport.ImportMemoryDialog;
+import org.eclipse.dd.debug.ui.memory.transport.MemoryTransportPlugin;
import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.internal.ui.DebugUIPlugin;
import org.eclipse.debug.internal.ui.views.memory.MemoryView;
-import org.eclipse.debug.internal.ui.views.memory.MemoryViewIdRegistry;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.contexts.IDebugContextService;
import org.eclipse.debug.ui.memory.IMemoryRendering;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IViewActionDelegate;
import org.eclipse.ui.IViewPart;
@@ -77,7 +72,7 @@ public class ImportMemoryAction implements IViewActionDelegate {
if(memBlock == null)
return;
- ImportMemoryDialog dialog = new ImportMemoryDialog(DebugUIPlugin.getShell(), memBlock, fView);
+ ImportMemoryDialog dialog = new ImportMemoryDialog(MemoryTransportPlugin.getShell(), memBlock, fView);
dialog.open();
dialog.getResult();