diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog index d13527fcafd..3558b470fa6 100644 --- a/debug/org.eclipse.cdt.debug.core/ChangeLog +++ b/debug/org.eclipse.cdt.debug.core/ChangeLog @@ -1,3 +1,8 @@ +2002-10-30 Mikhail Khodjaiants + Implementing the 'Refresh Memory' action. + * IFormattedMemoryBlock.java: added the 'refresh' method. + * CFormattedMemoryBlock.java: implementation of the 'refresh' method. + 2002-10-30 Mikhail Khodjaiants Implementation of the 'SaveMemoryChanges' action. * IFormattedMemoryBlock.java: added the 'saveChanges' method. diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/IFormattedMemoryBlock.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/IFormattedMemoryBlock.java index df6c7fb5197..541ca410cdd 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/IFormattedMemoryBlock.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/core/IFormattedMemoryBlock.java @@ -128,4 +128,6 @@ public interface IFormattedMemoryBlock extends IMemoryBlock boolean isDirty(); void saveChanges() throws DebugException; + + void refresh() throws DebugException; } diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CFormattedMemoryBlock.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CFormattedMemoryBlock.java index 2a48b1a9887..1facf8bea6e 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CFormattedMemoryBlock.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CFormattedMemoryBlock.java @@ -584,4 +584,22 @@ public class CFormattedMemoryBlock extends CDebugElement Arrays.fill( fDirtyBytes, false ); } } + + /* (non-Javadoc) + * @see org.eclipse.cdt.debug.core.IFormattedMemoryBlock#refresh() + */ + public void refresh() throws DebugException + { + if ( getCDIMemoryBlock() != null ) + { + try + { + getCDIMemoryBlock().refresh(); + } + catch( CDIException e ) + { + targetRequestFailed( e.getMessage(), null ); + } + } + } } diff --git a/debug/org.eclipse.cdt.debug.ui/ChangeLog b/debug/org.eclipse.cdt.debug.ui/ChangeLog index f7f33e44c02..0f5aa0194b4 100644 --- a/debug/org.eclipse.cdt.debug.ui/ChangeLog +++ b/debug/org.eclipse.cdt.debug.ui/ChangeLog @@ -1,3 +1,9 @@ +2002-10-30 Mikhail Khodjaiants + Implementing the 'Refresh Memory' action. + * RefreshMemoryAction.java + * MemoryControlArea.java + * MemoryViewer.java + 2002-10-30 Mikhail Khodjaiants Implementation of the 'SaveMemoryChanges' action. * SaveMemoryChangesAction.java diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/RefreshMemoryAction.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/RefreshMemoryAction.java index 7a107e030c6..5387eaa411e 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/RefreshMemoryAction.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/actions/RefreshMemoryAction.java @@ -8,7 +8,6 @@ package org.eclipse.cdt.debug.internal.ui.actions; import org.eclipse.cdt.debug.internal.ui.CDebugImages; import org.eclipse.cdt.debug.internal.ui.ICDebugHelpContextIds; import org.eclipse.cdt.debug.internal.ui.views.memory.MemoryViewer; -import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.ui.actions.SelectionProviderAction; import org.eclipse.ui.help.WorkbenchHelp; import org.eclipse.ui.texteditor.IUpdate; @@ -37,14 +36,6 @@ public class RefreshMemoryAction extends SelectionProviderAction implements IUpd WorkbenchHelp.setHelp( this, ICDebugHelpContextIds.REFRESH_MEMORY_ACTION ); } - /* (non-Javadoc) - * @see org.eclipse.ui.actions.SelectionProviderAction#selectionChanged(IStructuredSelection) - */ - public void selectionChanged( IStructuredSelection selection ) - { - super.selectionChanged( selection ); - } - /* (non-Javadoc) * @see org.eclipse.ui.texteditor.IUpdate#update() */ @@ -52,4 +43,12 @@ public class RefreshMemoryAction extends SelectionProviderAction implements IUpd { setEnabled( fMemoryViewer.canUpdate() ); } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IAction#run() + */ + public void run() + { + fMemoryViewer.refreshMemoryBlock(); + } } diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java index 0d62a9fc01c..e514dc70af7 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryControlArea.java @@ -371,6 +371,21 @@ public class MemoryControlArea extends Composite tabItems[fIndex].setText( title ); } } + + protected void refreshMemoryBlock() + { + if ( getMemoryBlock() != null ) + { + try + { + getMemoryBlock().refresh(); + } + catch( DebugException e ) + { + CDebugUIPlugin.errorDialog( "Unable to refresh memory.", e.getStatus() ); + } + } + } protected void saveChanges() { diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryViewer.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryViewer.java index 29d78c62880..a32b30edb1b 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryViewer.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/memory/MemoryViewer.java @@ -205,6 +205,11 @@ public class MemoryViewer extends ContentViewer ((MemoryControlArea)fTabFolder.getSelection().getControl()).saveChanges(); } + public void refreshMemoryBlock() + { + ((MemoryControlArea)fTabFolder.getSelection().getControl()).refreshMemoryBlock(); + } + public boolean showAscii() { return ((MemoryControlArea)fTabFolder.getSelection().getControl()).getPresentation().displayASCII();