diff --git a/memory/org.eclipse.cdt.debug.ui.memory-feature/feature.xml b/memory/org.eclipse.cdt.debug.ui.memory-feature/feature.xml index 8921db451e2..0da69108671 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory-feature/feature.xml +++ b/memory/org.eclipse.cdt.debug.ui.memory-feature/feature.xml @@ -2,7 +2,7 @@ @@ -21,12 +21,6 @@ - - diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/META-INF/MANIFEST.MF b/memory/org.eclipse.cdt.debug.ui.memory.transport/META-INF/MANIFEST.MF index 40436013918..5507f217cb8 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/META-INF/MANIFEST.MF +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.cdt.debug.ui.memory.transport;singleton:=true -Bundle-Version: 1.2.0.qualifier +Bundle-Version: 2.1.0.qualifier Bundle-Localization: plugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.debug.core, diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/ExportMemoryDialog.java b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/ExportMemoryDialog.java index 02e80cdf6a2..1d63892ecc0 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/ExportMemoryDialog.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/ExportMemoryDialog.java @@ -12,7 +12,6 @@ package org.eclipse.cdt.debug.ui.memory.transport; import java.math.BigInteger; -import java.util.Properties; import java.util.Vector; import org.eclipse.cdt.debug.ui.memory.transport.model.IMemoryExporter; @@ -25,9 +24,10 @@ import org.eclipse.core.runtime.Status; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.core.model.IMemoryBlock; import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; 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; @@ -42,6 +42,10 @@ import org.eclipse.ui.dialogs.SelectionDialog; public class ExportMemoryDialog extends SelectionDialog { + private static final String EXPORT_SETTINGS = "EXPORT_DIALOG"; //$NON-NLS-1$ + + private static final String SELECTED_EXPORTER = "SELECTED_EXPORTER"; //$NON-NLS-1$ + private Combo fFormatCombo; private IMemoryBlock fMemoryBlock; @@ -51,10 +55,10 @@ public class ExportMemoryDialog extends SelectionDialog private IMemoryExporter fFormatExporters[]; private String fFormatNames[]; - private Properties fProperties = new Properties(); - - private BigInteger fInitialStartAddr; + private IDialogSettings fProperties = MemoryTransportPlugin.getDefault().getDialogSettings(EXPORT_SETTINGS); + private final String INITIAL_ADDRESS = "Initial address"; + public ExportMemoryDialog(Shell parent, IMemoryBlock memoryBlock, BigInteger initialStartAddr) { super(parent); @@ -62,7 +66,33 @@ public class ExportMemoryDialog extends SelectionDialog setShellStyle(getShellStyle() | SWT.RESIZE); fMemoryBlock = memoryBlock; - fInitialStartAddr = initialStartAddr; + + String addrstr = "0x" + initialStartAddr.toString(16); //$NON-NLS-1$ + + String initialAddress = fProperties.get(INITIAL_ADDRESS); + + if ( initialAddress == null ) { + fProperties.put(IMemoryExporter.TRANSFER_START, addrstr); + fProperties.put(IMemoryExporter.TRANSFER_END, addrstr); + fProperties.put(INITIAL_ADDRESS , addrstr); + } + else { + if ( ! initialAddress.equals(addrstr) ) { + fProperties.put(IMemoryExporter.TRANSFER_START, addrstr); + fProperties.put(IMemoryExporter.TRANSFER_END, addrstr); + fProperties.put(INITIAL_ADDRESS , addrstr); + } + else { + String startAddr = fProperties.get(IMemoryExporter.TRANSFER_START); + String endAddr = fProperties.get(IMemoryExporter.TRANSFER_END); + + if ( startAddr == null || endAddr == null ) { + fProperties.put(IMemoryExporter.TRANSFER_START, addrstr); + fProperties.put(IMemoryExporter.TRANSFER_END, addrstr); + fProperties.put(INITIAL_ADDRESS , addrstr); + } + } + } } /* (non-Javadoc) @@ -102,8 +132,11 @@ public class ExportMemoryDialog extends SelectionDialog protected void okPressed() { if(fCurrentControl != null) fCurrentControl.dispose(); - fFormatExporters[fFormatCombo.getSelectionIndex()].exportMemory(); - + IMemoryExporter currentExporter = getCurrentExporter(); + currentExporter.exportMemory(); + + fProperties.put(SELECTED_EXPORTER, currentExporter.getId()); + super.okPressed(); } @@ -175,46 +208,45 @@ public class ExportMemoryDialog extends SelectionDialog fFormatCombo.setItems(fFormatNames); - fFormatCombo.addSelectionListener(new SelectionListener(){ - - public void widgetDefaultSelected(SelectionEvent e) { - // TODO Auto-generated method stub - - } - + fFormatCombo.addSelectionListener(new SelectionAdapter(){ public void widgetSelected(SelectionEvent e) { - if(fCurrentControl != null) + if(fCurrentControl != null) { fCurrentControl.dispose(); - initProperties(fProperties, fInitialStartAddr); - fCurrentControl = fFormatExporters[fFormatCombo.getSelectionIndex()].createControl(container, - fMemoryBlock, fProperties, ExportMemoryDialog.this); + } + fCurrentControl = getCurrentExporter().createControl(container, fMemoryBlock, fProperties, ExportMemoryDialog.this); } }); - fFormatCombo.select(0); - initProperties(fProperties, fInitialStartAddr); - fCurrentControl = fFormatExporters[0].createControl(container, - fMemoryBlock, fProperties, ExportMemoryDialog.this); + setCurrentExporter(fProperties.get(SELECTED_EXPORTER)); + + fCurrentControl = getCurrentExporter().createControl(container, fMemoryBlock, fProperties, ExportMemoryDialog.this); return composite; } - /** - * Initializes the start and end address properties to a particular value if - * and only if we have a fresh/clean properties object. - */ - static void initProperties(Properties properties, BigInteger addr) { - final String addrstr = "0x" + addr.toString(16); //$NON-NLS-1$ - if (!properties.containsKey(IMemoryExporter.TRANSFER_START)) { - properties.setProperty(IMemoryExporter.TRANSFER_START, addrstr); - properties.setProperty(IMemoryExporter.TRANSFER_END, addrstr); - } - } - public void setValid(boolean isValid) { getButton(IDialogConstants.OK_ID).setEnabled(isValid); } + + private IMemoryExporter getCurrentExporter() { + return fFormatExporters[fFormatCombo.getSelectionIndex()]; + } + private void setCurrentExporter(String id) { + if ( id == null || id.length() == 0 ) { + fFormatCombo.select(0); + } + + for (int index = 0; index< fFormatExporters.length; ++index) { + if (fFormatExporters[index].getId().equals(id)){ + fFormatCombo.select(index); + return; + } + } + + fFormatCombo.select(0); + } + } diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/ImportMemoryDialog.java b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/ImportMemoryDialog.java index e27949b1748..dfbb6caf3e0 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/ImportMemoryDialog.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/ImportMemoryDialog.java @@ -13,7 +13,6 @@ package org.eclipse.cdt.debug.ui.memory.transport; import java.math.BigInteger; import java.text.MessageFormat; -import java.util.Properties; import java.util.Vector; import org.eclipse.cdt.debug.ui.memory.transport.model.IMemoryImporter; @@ -31,9 +30,10 @@ import org.eclipse.debug.ui.memory.IMemoryRenderingContainer; import org.eclipse.debug.ui.memory.IMemoryRenderingSite; import org.eclipse.debug.ui.memory.IRepositionableMemoryRendering; import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; 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; @@ -50,6 +50,10 @@ import org.eclipse.ui.progress.UIJob; public class ImportMemoryDialog extends SelectionDialog { + private static final String IMPORT_SETTINGS = "IMPORT_DIALOG"; //$NON-NLS-1$ + + private static final String SELECTED_IMPORTER = "SELECTED_IMPORTER"; //$NON-NLS-1$ + private Combo fFormatCombo; private IMemoryBlock fMemoryBlock; @@ -59,11 +63,11 @@ public class ImportMemoryDialog extends SelectionDialog private IMemoryImporter fFormatImporters[]; private String fFormatNames[]; - private Properties fProperties = new Properties(); + private IDialogSettings fProperties = MemoryTransportPlugin.getDefault().getDialogSettings(IMPORT_SETTINGS); private IMemoryRenderingSite fMemoryView; - - private BigInteger fInitialStartAddr; + + private final String INITIAL_ADDRESS = "Initial address"; public ImportMemoryDialog(Shell parent, IMemoryBlock memoryBlock, BigInteger initialStartAddr, IMemoryRenderingSite renderingSite) { @@ -73,7 +77,30 @@ public class ImportMemoryDialog extends SelectionDialog fMemoryBlock = memoryBlock; fMemoryView = renderingSite; - fInitialStartAddr = initialStartAddr; + + String initialAddress = fProperties.get(INITIAL_ADDRESS); + + if ( initialAddress == null ) { + String addrstr = "0x" + initialStartAddr.toString(16); //$NON-NLS-1$ + fProperties.put(IMemoryImporter.TRANSFER_START, addrstr); + fProperties.put(INITIAL_ADDRESS , addrstr); + } + else { + String addrstr = "0x" + initialStartAddr.toString(16); //$NON-NLS-1$ + + if ( ! initialAddress.equals(addrstr) ) { + fProperties.put(IMemoryImporter.TRANSFER_START, addrstr); + fProperties.put(INITIAL_ADDRESS , addrstr); + } + else { + String startAddr = fProperties.get(IMemoryImporter.TRANSFER_START); + + if ( startAddr == null ) { + fProperties.put(IMemoryImporter.TRANSFER_START, addrstr); + fProperties.put(INITIAL_ADDRESS , addrstr); + } + } + } } protected void scrollRenderings(final BigInteger address) @@ -139,8 +166,10 @@ public class ImportMemoryDialog extends SelectionDialog protected void okPressed() { if(fCurrentControl != null) fCurrentControl.dispose(); - fFormatImporters[fFormatCombo.getSelectionIndex()].importMemory(); + IMemoryImporter currentImporter = getCurrentImporter(); + currentImporter.importMemory(); + fProperties.put(SELECTED_IMPORTER, currentImporter.getId()); super.okPressed(); } @@ -211,45 +240,44 @@ public class ImportMemoryDialog extends SelectionDialog fFormatCombo.setItems(fFormatNames); - fFormatCombo.addSelectionListener(new SelectionListener(){ - - public void widgetDefaultSelected(SelectionEvent e) { - // TODO Auto-generated method stub - - } - + fFormatCombo.addSelectionListener(new SelectionAdapter(){ public void widgetSelected(SelectionEvent e) { - if(fCurrentControl != null) + if(fCurrentControl != null) { fCurrentControl.dispose(); - - initProperties(fProperties, fInitialStartAddr); // use utility from export code - fCurrentControl = fFormatImporters[fFormatCombo.getSelectionIndex()].createControl(container, - fMemoryBlock, fProperties, ImportMemoryDialog.this); + } + fCurrentControl = getCurrentImporter().createControl(container, fMemoryBlock, fProperties, ImportMemoryDialog.this); } }); - fFormatCombo.select(0); + setCurrentImporter(fProperties.get(SELECTED_IMPORTER)); - initProperties(fProperties, fInitialStartAddr); // use utility from export code - fCurrentControl = - fFormatImporters[0].createControl(container,fMemoryBlock, fProperties, ImportMemoryDialog.this); + fCurrentControl = getCurrentImporter().createControl(container,fMemoryBlock, fProperties, ImportMemoryDialog.this); return composite; } - /** - * Initializes the start address properties to a particular value if - * and only if we have a fresh/clean properties object. - */ - static void initProperties(Properties properties, BigInteger addr) { - final String addrstr = "0x" + addr.toString(16); //$NON-NLS-1$ - if (!properties.containsKey(IMemoryImporter.TRANSFER_START)) { - properties.setProperty(IMemoryImporter.TRANSFER_START, addrstr); - } - } - public void setValid(boolean isValid) { getButton(IDialogConstants.OK_ID).setEnabled(isValid); } + + private IMemoryImporter getCurrentImporter() { + return fFormatImporters[fFormatCombo.getSelectionIndex()]; + } + + private void setCurrentImporter(String id) { + if ( id == null || id.length() == 0 ) { + fFormatCombo.select(0); + } + + for (int index = 0; index< fFormatImporters.length; ++index) { + if (fFormatImporters[index].getId().equals(id)){ + fFormatCombo.select(index); + return; + } + } + + fFormatCombo.select(0); + } + } diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/MemoryTransportPlugin.java b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/MemoryTransportPlugin.java index 4449a062dbf..b51df4ab1a3 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/MemoryTransportPlugin.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/MemoryTransportPlugin.java @@ -11,6 +11,7 @@ package org.eclipse.cdt.debug.ui.memory.transport; +import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PlatformUI; @@ -61,4 +62,17 @@ public class MemoryTransportPlugin extends AbstractUIPlugin } return null; } + + /** + * Get settings section from plugin dialog settings + * @param node - required section. Will create a new one if does not exist + * @return dialog settings + */ + public IDialogSettings getDialogSettings(String node) { + IDialogSettings nodeSettings = getDialogSettings().getSection(node); + if (nodeSettings == null) { + nodeSettings = getDialogSettings().addNewSection(node); + } + return nodeSettings; + } } diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/PlainTextExporter.java b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/PlainTextExporter.java index cc984ce4676..f034678717d 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/PlainTextExporter.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/PlainTextExporter.java @@ -15,8 +15,6 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.math.BigInteger; -import java.util.Properties; - import org.eclipse.cdt.debug.ui.memory.transport.model.IMemoryExporter; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; @@ -26,11 +24,12 @@ 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.jface.dialogs.IDialogSettings; import org.eclipse.swt.SWT; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; +import org.eclipse.swt.events.SelectionAdapter; 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; @@ -57,9 +56,9 @@ public class PlainTextExporter implements IMemoryExporter { private ExportMemoryDialog fParentDialog; - private Properties fProperties; + private IDialogSettings fProperties; - public Control createControl(final Composite parent, IMemoryBlock memBlock, Properties properties, ExportMemoryDialog parentDialog) + public Control createControl(final Composite parent, IMemoryBlock memBlock, IDialogSettings properties, ExportMemoryDialog parentDialog) { fMemoryBlock = memBlock; fParentDialog = parentDialog; @@ -69,9 +68,9 @@ public class PlainTextExporter implements IMemoryExporter { { public void dispose() { - fProperties.setProperty(TRANSFER_FILE, fFileText.getText()); - fProperties.setProperty(TRANSFER_START, fStartText.getText()); - fProperties.setProperty(TRANSFER_END, fEndText.getText()); + fProperties.put(TRANSFER_FILE, fFileText.getText()); + fProperties.put(TRANSFER_START, fStartText.getText()); + fProperties.put(TRANSFER_END, fEndText.getText()); fStartAddress = getStartAddress(); fEndAddress = getEndAddress(); @@ -154,26 +153,18 @@ public class PlainTextExporter implements IMemoryExporter { data.left = new FormAttachment(fFileText); fileButton.setLayoutData(data); + String textValue = fProperties.get(TRANSFER_FILE); + fFileText.setText(textValue != null ? textValue : ""); //$NON-NLS-1$ - fFileText.setText(properties.getProperty(TRANSFER_FILE, "")); //$NON-NLS-1$ - try - { - fStartText.setText(properties.getProperty(TRANSFER_START)); - fEndText.setText(properties.getProperty(TRANSFER_END)); - fLengthText.setText(getEndAddress().subtract(getStartAddress()).toString()); - } - catch(IllegalArgumentException e) - { - MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(), - DebugException.INTERNAL_ERROR, "Failure", e)); //$NON-NLS-1$ - } + textValue = fProperties.get(TRANSFER_START); + fStartText.setText(textValue != null ? textValue : "0x0"); //$NON-NLS-1$ + + textValue = fProperties.get(TRANSFER_END); + fEndText.setText(textValue != null ? textValue : "0x0"); //$NON-NLS-1$ + + fLengthText.setText(getEndAddress().subtract(getStartAddress()).toString()); - fileButton.addSelectionListener(new SelectionListener() { - - public void widgetDefaultSelected(SelectionEvent e) { - // TODO Auto-generated method stub - - } + fileButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { FileDialog dialog = new FileDialog(parent.getShell(), SWT.SAVE); diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/PlainTextImporter.java b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/PlainTextImporter.java index b5e849bbd57..acffdf8b7eb 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/PlainTextImporter.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/PlainTextImporter.java @@ -17,7 +17,6 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigInteger; -import java.util.Properties; import java.util.StringTokenizer; import org.eclipse.cdt.debug.ui.memory.transport.model.IMemoryImporter; @@ -28,6 +27,7 @@ import org.eclipse.core.runtime.jobs.Job; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.core.model.IMemoryBlock; import org.eclipse.debug.core.model.IMemoryBlockExtension; +import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; @@ -59,11 +59,11 @@ public class PlainTextImporter implements IMemoryImporter { private ImportMemoryDialog fParentDialog; - private Properties fProperties; + private IDialogSettings fProperties; private static final int BUFFER_LENGTH = 64 * 1024; - public Control createControl(final Composite parent, IMemoryBlock memBlock, Properties properties, ImportMemoryDialog parentDialog) + public Control createControl(final Composite parent, IMemoryBlock memBlock, IDialogSettings properties, ImportMemoryDialog parentDialog) { fMemoryBlock = memBlock; fParentDialog = parentDialog; @@ -75,9 +75,9 @@ public class PlainTextImporter implements IMemoryImporter { { public void dispose() { - fProperties.setProperty(TRANSFER_FILE, fFileText.getText()); - fProperties.setProperty(TRANSFER_START, fStartText.getText()); - fProperties.setProperty(TRANSFER_SCROLL_TO_START, Boolean.toString(fScrollToBeginningOnImportComplete.getSelection())); + fProperties.put(TRANSFER_FILE, fFileText.getText()); + fProperties.put(TRANSFER_START, fStartText.getText()); + fProperties.put(TRANSFER_SCROLL_TO_START, fScrollToBeginningOnImportComplete.getSelection()); fStartAddress = getStartAddress(); fInputFile = getFile(); @@ -138,16 +138,11 @@ public class PlainTextImporter implements IMemoryImporter { data.left = new FormAttachment(fFileText); fileButton.setLayoutData(data); - fFileText.setText(properties.getProperty(TRANSFER_FILE, "")); //$NON-NLS-1$ - try - { - fStartText.setText(properties.getProperty(TRANSFER_START)); - } - catch(IllegalArgumentException e) - { - MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(), - DebugException.INTERNAL_ERROR, "Failure", e)); //$NON-NLS-1$ - } + String textValue = fProperties.get(TRANSFER_FILE); + fFileText.setText(textValue != null ? textValue : ""); //$NON-NLS-1$ + + textValue = fProperties.get(TRANSFER_START); + fStartText.setText(textValue != null ? textValue : "0x0"); //$NON-NLS-1$ fileButton.addSelectionListener(new SelectionListener() { @@ -207,7 +202,7 @@ public class PlainTextImporter implements IMemoryImporter { data = new FormData(); data.top = new FormAttachment(fileButton); fScrollToBeginningOnImportComplete.setLayoutData(data); - final boolean scrollToStart = Boolean.valueOf(properties.getProperty(TRANSFER_SCROLL_TO_START, Boolean.TRUE.toString())).booleanValue(); + final boolean scrollToStart = fProperties.getBoolean(TRANSFER_SCROLL_TO_START); fScrollToBeginningOnImportComplete.setSelection(scrollToStart); composite.pack(); diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/RAWBinaryExporter.java b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/RAWBinaryExporter.java index a0a088c88ad..5f05e21041a 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/RAWBinaryExporter.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/RAWBinaryExporter.java @@ -15,8 +15,6 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.math.BigInteger; -import java.util.Properties; - import org.eclipse.cdt.debug.ui.memory.transport.model.IMemoryExporter; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; @@ -26,6 +24,7 @@ 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.jface.dialogs.IDialogSettings; import org.eclipse.swt.SWT; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; @@ -57,9 +56,9 @@ public class RAWBinaryExporter implements IMemoryExporter private ExportMemoryDialog fParentDialog; - private Properties fProperties; + private IDialogSettings fProperties; - public Control createControl(final Composite parent, IMemoryBlock memBlock, Properties properties, ExportMemoryDialog parentDialog) + public Control createControl(final Composite parent, IMemoryBlock memBlock, IDialogSettings properties, ExportMemoryDialog parentDialog) { fMemoryBlock = memBlock; fParentDialog = parentDialog; @@ -69,9 +68,9 @@ public class RAWBinaryExporter implements IMemoryExporter { public void dispose() { - fProperties.setProperty(TRANSFER_FILE, fFileText.getText()); - fProperties.setProperty(TRANSFER_START, fStartText.getText()); - fProperties.setProperty(TRANSFER_END, fEndText.getText()); + fProperties.put(TRANSFER_FILE, fFileText.getText()); + fProperties.put(TRANSFER_START, fStartText.getText()); + fProperties.put(TRANSFER_END, fEndText.getText()); fStartAddress = getStartAddress(); fEndAddress = getEndAddress(); @@ -153,18 +152,16 @@ public class RAWBinaryExporter implements IMemoryExporter data.left = new FormAttachment(fFileText); fileButton.setLayoutData(data); - fFileText.setText(properties.getProperty(TRANSFER_FILE, "")); //$NON-NLS-1$ - try - { - fStartText.setText(properties.getProperty(TRANSFER_START)); - fEndText.setText(properties.getProperty(TRANSFER_END)); - fLengthText.setText(getEndAddress().subtract(getStartAddress()).toString()); - } - catch(IllegalArgumentException e) - { - MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(), - DebugException.INTERNAL_ERROR, "Failure", e)); //$NON-NLS-1$ - } + String textValue = fProperties.get(TRANSFER_FILE); + fFileText.setText(textValue != null ? textValue : ""); //$NON-NLS-1$ + + textValue = fProperties.get(TRANSFER_START); + fStartText.setText(textValue != null ? textValue : "0x0"); //$NON-NLS-1$ + + textValue = fProperties.get(TRANSFER_END); + fEndText.setText(textValue != null ? textValue : "0x0"); //$NON-NLS-1$ + + fLengthText.setText(getEndAddress().subtract(getStartAddress()).toString()); fileButton.addSelectionListener(new SelectionListener() { diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/RAWBinaryImporter.java b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/RAWBinaryImporter.java index ad0b9d826b0..efcaa8f9756 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/RAWBinaryImporter.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/RAWBinaryImporter.java @@ -15,7 +15,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.math.BigInteger; -import java.util.Properties; import org.eclipse.cdt.debug.ui.memory.transport.model.IMemoryImporter; import org.eclipse.core.runtime.IProgressMonitor; @@ -25,6 +24,7 @@ import org.eclipse.core.runtime.jobs.Job; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.core.model.IMemoryBlock; import org.eclipse.debug.core.model.IMemoryBlockExtension; +import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; @@ -56,11 +56,11 @@ public class RAWBinaryImporter implements IMemoryImporter { private ImportMemoryDialog fParentDialog; - private Properties fProperties; + private IDialogSettings fProperties; private static final int BUFFER_LENGTH = 64 * 1024; - public Control createControl(final Composite parent, IMemoryBlock memBlock, Properties properties, ImportMemoryDialog parentDialog) + public Control createControl(final Composite parent, IMemoryBlock memBlock, IDialogSettings properties, ImportMemoryDialog parentDialog) { fMemoryBlock = memBlock; fParentDialog = parentDialog; @@ -70,9 +70,9 @@ public class RAWBinaryImporter implements IMemoryImporter { { public void dispose() { - fProperties.setProperty(TRANSFER_FILE, fFileText.getText()); - fProperties.setProperty(TRANSFER_START, fStartText.getText()); - fProperties.setProperty(TRANSFER_SCROLL_TO_START, Boolean.toString(fScrollToBeginningOnImportComplete.getSelection())); + fProperties.put(TRANSFER_FILE, fFileText.getText()); + fProperties.put(TRANSFER_START, fStartText.getText()); + fProperties.put(TRANSFER_SCROLL_TO_START, fScrollToBeginningOnImportComplete.getSelection()); fStartAddress = getStartAddress(); fInputFile = getFile(); @@ -120,16 +120,11 @@ public class RAWBinaryImporter implements IMemoryImporter { data.left = new FormAttachment(fFileText); fileButton.setLayoutData(data); - fFileText.setText(properties.getProperty(TRANSFER_FILE, "")); //$NON-NLS-1$ - try - { - fStartText.setText(properties.getProperty(TRANSFER_START)); - } - catch(IllegalArgumentException e) - { - MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(), - DebugException.INTERNAL_ERROR, "Failure", e)); //$NON-NLS-1$ - } + String textValue = fProperties.get(TRANSFER_FILE); + fFileText.setText(textValue != null ? textValue : ""); //$NON-NLS-1$ + + textValue = fProperties.get(TRANSFER_START); + fStartText.setText(textValue != null ? textValue : "0x0"); //$NON-NLS-1$ fileButton.addSelectionListener(new SelectionListener() { @@ -187,7 +182,7 @@ public class RAWBinaryImporter implements IMemoryImporter { data = new FormData(); data.top = new FormAttachment(fileButton); fScrollToBeginningOnImportComplete.setLayoutData(data); - final boolean scrollToStart = Boolean.valueOf(properties.getProperty(TRANSFER_SCROLL_TO_START, Boolean.TRUE.toString())).booleanValue(); + final boolean scrollToStart = properties.getBoolean(TRANSFER_SCROLL_TO_START); fScrollToBeginningOnImportComplete.setSelection(scrollToStart); composite.pack(); diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/SRecordExporter.java b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/SRecordExporter.java index aa3be4dceb5..05ca15aa035 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/SRecordExporter.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/SRecordExporter.java @@ -15,8 +15,6 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.math.BigInteger; -import java.util.Properties; - import org.eclipse.cdt.debug.ui.memory.transport.model.IMemoryExporter; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; @@ -26,6 +24,7 @@ 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.jface.dialogs.IDialogSettings; import org.eclipse.swt.SWT; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; @@ -57,9 +56,9 @@ public class SRecordExporter implements IMemoryExporter private ExportMemoryDialog fParentDialog; - private Properties fProperties; + private IDialogSettings fProperties; - public Control createControl(final Composite parent, IMemoryBlock memBlock, Properties properties, ExportMemoryDialog parentDialog) + public Control createControl(final Composite parent, IMemoryBlock memBlock, IDialogSettings properties, ExportMemoryDialog parentDialog) { fMemoryBlock = memBlock; fParentDialog = parentDialog; @@ -69,9 +68,9 @@ public class SRecordExporter implements IMemoryExporter { public void dispose() { - fProperties.setProperty(TRANSFER_FILE, fFileText.getText()); - fProperties.setProperty(TRANSFER_START, fStartText.getText()); - fProperties.setProperty(TRANSFER_END, fEndText.getText()); + fProperties.put(TRANSFER_FILE, fFileText.getText()); + fProperties.put(TRANSFER_START, fStartText.getText()); + fProperties.put(TRANSFER_END, fEndText.getText()); fStartAddress = getStartAddress(); fEndAddress = getEndAddress(); @@ -153,18 +152,16 @@ public class SRecordExporter implements IMemoryExporter data.left = new FormAttachment(fFileText); fileButton.setLayoutData(data); - fFileText.setText(properties.getProperty(TRANSFER_FILE, "")); //$NON-NLS-1$ - try - { - fStartText.setText(properties.getProperty(TRANSFER_START)); - fEndText.setText(properties.getProperty(TRANSFER_END)); - fLengthText.setText(getEndAddress().subtract(getStartAddress()).toString()); - } - catch(IllegalArgumentException e) - { - MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(), - DebugException.INTERNAL_ERROR, "Failure", e)); //$NON-NLS-1$ - } + String textValue = fProperties.get(TRANSFER_FILE); + fFileText.setText(textValue != null ? textValue : ""); //$NON-NLS-1$ + + textValue = fProperties.get(TRANSFER_START); + fStartText.setText(textValue != null ? textValue : "0x0"); //$NON-NLS-1$ + + textValue = fProperties.get(TRANSFER_END); + fEndText.setText(textValue != null ? textValue : "0x0"); //$NON-NLS-1$ + + fLengthText.setText(getEndAddress().subtract(getStartAddress()).toString()); fileButton.addSelectionListener(new SelectionListener() { diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/SRecordImporter.java b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/SRecordImporter.java index 936272f8a04..4ce3bab763b 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/SRecordImporter.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/SRecordImporter.java @@ -17,7 +17,6 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.math.BigInteger; -import java.util.Properties; import org.eclipse.cdt.debug.ui.memory.transport.model.IMemoryImporter; import org.eclipse.core.runtime.IProgressMonitor; @@ -27,6 +26,7 @@ import org.eclipse.core.runtime.jobs.Job; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.core.model.IMemoryBlock; import org.eclipse.debug.core.model.IMemoryBlockExtension; +import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; @@ -61,11 +61,11 @@ public class SRecordImporter implements IMemoryImporter { private ImportMemoryDialog fParentDialog; - private Properties fProperties; + private IDialogSettings fProperties; private static final int BUFFER_LENGTH = 64 * 1024; - public Control createControl(final Composite parent, IMemoryBlock memBlock, Properties properties, ImportMemoryDialog parentDialog) + public Control createControl(final Composite parent, IMemoryBlock memBlock, IDialogSettings properties, ImportMemoryDialog parentDialog) { fMemoryBlock = memBlock; fParentDialog = parentDialog; @@ -75,10 +75,10 @@ public class SRecordImporter implements IMemoryImporter { { public void dispose() { - fProperties.setProperty(TRANSFER_FILE, fFileText.getText()); - fProperties.setProperty(TRANSFER_START, fStartText.getText()); - fProperties.setProperty(TRANSFER_SCROLL_TO_START, Boolean.toString(fScrollToBeginningOnImportComplete.getSelection())); - fProperties.setProperty(TRANSFER_CUSTOM_START_ADDRESS, "" + fComboRestoreToThisAddress.getSelection()); //$NON-NLS-1$ + fProperties.put(TRANSFER_FILE, fFileText.getText()); + fProperties.put(TRANSFER_START, fStartText.getText()); + fProperties.put(TRANSFER_SCROLL_TO_START, fScrollToBeginningOnImportComplete.getSelection()); + fProperties.put(TRANSFER_CUSTOM_START_ADDRESS, fComboRestoreToThisAddress.getSelection()); fStartAddress = getStartAddress(); fInputFile = getFile(); @@ -97,14 +97,14 @@ public class SRecordImporter implements IMemoryImporter { fComboRestoreToFileAddress = new Button(composite, SWT.RADIO); fComboRestoreToFileAddress.setSelection(true); fComboRestoreToFileAddress.setText(Messages.getString("SRecordImporter.FileAddressRestore")); //$NON-NLS-1$ - fComboRestoreToFileAddress.setSelection(!Boolean.getBoolean(properties.getProperty(TRANSFER_CUSTOM_START_ADDRESS, Boolean.FALSE.toString()))); + fComboRestoreToFileAddress.setSelection(!fProperties.getBoolean(TRANSFER_CUSTOM_START_ADDRESS)); //comboRestoreToFileAddress.setLayoutData(data); // restore to this address fComboRestoreToThisAddress = new Button(composite, SWT.RADIO); fComboRestoreToThisAddress.setText(Messages.getString("SRecordImporter.CustomAddressRestore")); //$NON-NLS-1$ - fComboRestoreToThisAddress.setSelection(Boolean.parseBoolean(properties.getProperty(TRANSFER_CUSTOM_START_ADDRESS, Boolean.FALSE.toString()))); + fComboRestoreToThisAddress.setSelection(fProperties.getBoolean(TRANSFER_CUSTOM_START_ADDRESS)); FormData data = new FormData(); data.top = new FormAttachment(fComboRestoreToFileAddress); fComboRestoreToThisAddress.setLayoutData(data); @@ -157,16 +157,11 @@ public class SRecordImporter implements IMemoryImporter { data.left = new FormAttachment(fFileText); fileButton.setLayoutData(data); - fFileText.setText(properties.getProperty(TRANSFER_FILE, "")); //$NON-NLS-1$ - try - { - fStartText.setText(properties.getProperty(TRANSFER_START)); - } - catch(IllegalArgumentException e) - { - MemoryTransportPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, MemoryTransportPlugin.getUniqueIdentifier(), - DebugException.INTERNAL_ERROR, "Failure", e)); //$NON-NLS-1$ - } + String textValue = fProperties.get(TRANSFER_FILE); + fFileText.setText(textValue != null ? textValue : ""); //$NON-NLS-1$ + + textValue = fProperties.get(TRANSFER_START); + fStartText.setText(textValue != null ? textValue : "0x0"); //$NON-NLS-1$ fileButton.addSelectionListener(new SelectionListener() { @@ -226,7 +221,7 @@ public class SRecordImporter implements IMemoryImporter { data = new FormData(); data.top = new FormAttachment(fileButton); fScrollToBeginningOnImportComplete.setLayoutData(data); - final boolean scrollToStart = Boolean.valueOf(properties.getProperty(TRANSFER_SCROLL_TO_START, Boolean.TRUE.toString())).booleanValue(); + final boolean scrollToStart = fProperties.getBoolean(TRANSFER_SCROLL_TO_START); fScrollToBeginningOnImportComplete.setSelection(scrollToStart); composite.pack(); @@ -314,7 +309,7 @@ public class SRecordImporter implements IMemoryImporter { BigInteger scrollToAddress = null; BigInteger offset = null; - if(!Boolean.parseBoolean(fProperties.getProperty(TRANSFER_CUSTOM_START_ADDRESS, Boolean.FALSE.toString()))) + if(!fProperties.getBoolean(TRANSFER_CUSTOM_START_ADDRESS)) offset = BigInteger.ZERO; BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(fInputFile))); diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/model/IMemoryExporter.java b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/model/IMemoryExporter.java index f7cc098abd7..dc3355ba3ff 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/model/IMemoryExporter.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/model/IMemoryExporter.java @@ -11,10 +11,9 @@ package org.eclipse.cdt.debug.ui.memory.transport.model; -import java.util.Properties; - import org.eclipse.cdt.debug.ui.memory.transport.ExportMemoryDialog; import org.eclipse.debug.core.model.IMemoryBlock; +import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; @@ -31,7 +30,7 @@ public interface IMemoryExporter * @param parentDialog * @return */ - public Control createControl(Composite parent, IMemoryBlock memBlock, Properties properties, ExportMemoryDialog parentDialog); + public Control createControl(Composite parent, IMemoryBlock memBlock, IDialogSettings properties, ExportMemoryDialog parentDialog); public void exportMemory(); diff --git a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/model/IMemoryImporter.java b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/model/IMemoryImporter.java index 40d4d6d72b2..1e770b3082f 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/model/IMemoryImporter.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.transport/src/org/eclipse/cdt/debug/ui/memory/transport/model/IMemoryImporter.java @@ -11,10 +11,9 @@ package org.eclipse.cdt.debug.ui.memory.transport.model; -import java.util.Properties; - import org.eclipse.cdt.debug.ui.memory.transport.ImportMemoryDialog; import org.eclipse.debug.core.model.IMemoryBlock; +import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; @@ -32,7 +31,7 @@ public interface IMemoryImporter * @param parentDialog * @return */ - public Control createControl(Composite parent, IMemoryBlock memBlock, Properties properties, ImportMemoryDialog parentDialog); + public Control createControl(Composite parent, IMemoryBlock memBlock, IDialogSettings properties, ImportMemoryDialog parentDialog); public void importMemory();