Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 168643 Details for
Bug 312098
[Memory Browser] do not create a rendering automatically when Memory Browser is opened
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Updated patch which recreates Teodors original patch on top of John Cortel's changes
bugzilla_312098_update.patch (text/plain), 8.87 KB, created by
Randy Rohrbach
on 2010-05-15 23:18:09 EDT
(
hide
)
Description:
Updated patch which recreates Teodors original patch on top of John Cortel's changes
Filename:
MIME Type:
Creator:
Randy Rohrbach
Created:
2010-05-15 23:18:09 EDT
Size:
8.87 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.cdt.debug.ui.memory.memorybrowser >Index: src/org/eclipse/cdt/debug/ui/memory/memorybrowser/GoToAddressBarWidget.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt/memory/org.eclipse.cdt.debug.ui.memory.memorybrowser/src/org/eclipse/cdt/debug/ui/memory/memorybrowser/GoToAddressBarWidget.java,v >retrieving revision 1.2 >diff -u -r1.2 GoToAddressBarWidget.java >--- src/org/eclipse/cdt/debug/ui/memory/memorybrowser/GoToAddressBarWidget.java 19 Oct 2009 13:41:17 -0000 1.2 >+++ src/org/eclipse/cdt/debug/ui/memory/memorybrowser/GoToAddressBarWidget.java 16 May 2010 03:15:55 -0000 >@@ -11,8 +11,14 @@ > > package org.eclipse.cdt.debug.ui.memory.memorybrowser; > >+import org.eclipse.core.runtime.IStatus; > import org.eclipse.jface.dialogs.IDialogConstants; >+import org.eclipse.jface.fieldassist.ControlDecoration; >+import org.eclipse.jface.fieldassist.FieldDecoration; >+import org.eclipse.jface.fieldassist.FieldDecorationRegistry; > import org.eclipse.swt.SWT; >+import org.eclipse.swt.events.ModifyEvent; >+import org.eclipse.swt.events.ModifyListener; > import org.eclipse.swt.layout.GridData; > import org.eclipse.swt.layout.GridLayout; > import org.eclipse.swt.widgets.Button; >@@ -24,6 +30,9 @@ > public class GoToAddressBarWidget { > > private Text fExpression; >+ private ControlDecoration fEmptyExpression; >+ private ControlDecoration fWrongExpression; >+ > private Button fOKButton; > private Button fOKNewTabButton; > private Composite fComposite; >@@ -47,18 +56,63 @@ > layout.marginLeft = 0; > fComposite.setLayout(layout); > >- fExpression = new Text(fComposite, SWT.SINGLE | SWT.BORDER); >- fExpression.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); >+ fExpression = createExpressionField(fComposite); > > fOKButton = new Button(fComposite, SWT.NONE); > fOKButton.setText(Messages.getString("GoToAddressBarWidget.Go")); //$NON-NLS-1$ >+ fOKButton.setEnabled(false); > > fOKNewTabButton = new Button(fComposite, SWT.NONE); > fOKNewTabButton.setText(Messages.getString("GoToAddressBarWidget.NewTab")); //$NON-NLS-1$ >+ fOKNewTabButton.setEnabled(false); > > return fComposite; > } >- >+ >+ private Text createExpressionField(Composite parent) { >+ Text expression = new Text(parent, SWT.SINGLE | SWT.BORDER); >+ expression.addModifyListener(new ModifyListener() { >+ public void modifyText(ModifyEvent e) { >+ updateButtons(); >+ } >+ }); >+ fEmptyExpression = new ControlDecoration(expression, SWT.LEFT | SWT.CENTER); >+ fEmptyExpression.setDescriptionText("Enter an expression to position rendering"); >+ FieldDecoration fieldDecoration = FieldDecorationRegistry.getDefault() >+ .getFieldDecoration(FieldDecorationRegistry.DEC_REQUIRED); >+ fEmptyExpression.setImage(fieldDecoration.getImage()); >+ >+ fWrongExpression = new ControlDecoration(expression, SWT.LEFT | SWT.TOP); >+ fieldDecoration = FieldDecorationRegistry.getDefault() >+ .getFieldDecoration(FieldDecorationRegistry.DEC_ERROR); >+ fWrongExpression.setImage(fieldDecoration.getImage()); >+ fWrongExpression.hide(); >+ >+ // leave enough room for decorators >+ GridData data = new GridData(GridData.FILL_HORIZONTAL); >+ data.horizontalIndent = Math.max(fEmptyExpression.getImage().getBounds().width, fWrongExpression.getImage().getBounds().width); >+ expression.setLayoutData(data); >+ return expression; >+ } >+ >+ protected void updateButtons() { >+ boolean empty = fExpression.getText().trim().length() == 0; >+ >+ fOKNewTabButton.setEnabled(!empty); >+ fOKButton.setEnabled(!empty); >+ >+ if (empty) >+ fEmptyExpression.show(); >+ else >+ fEmptyExpression.hide(); >+ >+ clearError(); >+ } >+ >+ private void clearError() { >+ fWrongExpression.hide(); >+ } >+ > public int getHeight() > { > int height = fComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y; >@@ -83,4 +137,17 @@ > { > return fExpression; > } >+ >+ /** >+ * decorate expression field according to the status >+ * @param message >+ */ >+ public void handleExpressionStatus(final IStatus message) { >+ if (message.isOK()) { >+ clearError(); >+ } else { >+ fWrongExpression.setDescriptionText(message.getMessage()); >+ fWrongExpression.show(); >+ } >+ } > } >\ No newline at end of file >Index: src/org/eclipse/cdt/debug/ui/memory/memorybrowser/MemoryBrowser.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt/memory/org.eclipse.cdt.debug.ui.memory.memorybrowser/src/org/eclipse/cdt/debug/ui/memory/memorybrowser/MemoryBrowser.java,v >retrieving revision 1.21 >diff -u -r1.21 MemoryBrowser.java >--- src/org/eclipse/cdt/debug/ui/memory/memorybrowser/MemoryBrowser.java 13 May 2010 19:43:28 -0000 1.21 >+++ src/org/eclipse/cdt/debug/ui/memory/memorybrowser/MemoryBrowser.java 16 May 2010 03:15:55 -0000 >@@ -41,7 +41,6 @@ > import org.eclipse.debug.core.model.IMemoryBlockRetrievalExtension; > import org.eclipse.debug.core.model.MemoryByte; > import org.eclipse.debug.internal.ui.memory.MemoryRenderingManager; >-import org.eclipse.debug.internal.ui.views.memory.MemoryViewUtil; > import org.eclipse.debug.ui.DebugUITools; > import org.eclipse.debug.ui.contexts.DebugContextEvent; > import org.eclipse.debug.ui.contexts.IDebugContextListener; >@@ -388,14 +387,21 @@ > final Object context = activeFolder.getData(KEY_CONTEXT); > > CTabItem item = activeFolder.getSelection(); >- if (inNewTab || item == null) { >- item = createTab(activeFolder, activeFolder.getSelectionIndex() + 1); >- populateTabWithRendering(item, retrieval, context, memorySpaceId); >- >- fContextFolders.put(retrieval, activeFolder); >- activeFolder.setSelection(item); >- getSite().getSelectionProvider().setSelection(new StructuredSelection(item.getData(KEY_RENDERING))); >- } >+ if(inNewTab || item == null) >+ { >+ try { >+ IMemoryBlockExtension block = createMemoryBlock(retrieval, expression, context, memorySpaceId); //$NON-NLS-1$ >+ item = createTab(activeFolder, activeFolder.getSelectionIndex() + 1); >+ populateTabWithRendering(item, retrieval, context, memorySpaceId, block); >+ fContextFolders.put(retrieval, activeFolder); >+ activeFolder.setSelection(item); >+ getSite().getSelectionProvider().setSelection(new StructuredSelection(item.getData(KEY_RENDERING))); >+ } catch (DebugException e1) { >+ fGotoAddressBar.handleExpressionStatus(new Status(Status.ERROR, MemoryBrowserPlugin.PLUGIN_ID, >+ Messages.getString("MemoryBrowser.FailedToGoToAddressTitle"), e1)); >+ return; >+ } >+ } > > IRepositionableMemoryRendering rendering = (IRepositionableMemoryRendering) activeFolder.getSelection().getData(KEY_RENDERING); > IMemoryRenderingContainer container = (IMemoryRenderingContainer)item.getData(KEY_CONTAINER); >@@ -419,13 +425,20 @@ > block.setBaseAddress(newBase); > } > renderingFinal.goToAddress(newBase); >+ fGotoAddressBar.handleExpressionStatus(Status.OK_STATUS); > runOnUIThread(new Runnable(){ > public void run() { > updateLabel(activeFolder.getSelection(), renderingFinal); > } > }); >- } catch (DebugException e1) { >- MemoryViewUtil.openError(Messages.getString("MemoryBrowser.FailedToGoToAddressTitle"), "", e1); //$NON-NLS-1$ >+ } catch (final DebugException e1) { >+ // widgets update require Display >+ runOnUIThread(new Runnable(){ >+ public void run() { >+ fGotoAddressBar.handleExpressionStatus(new Status(Status.ERROR, MemoryBrowserPlugin.PLUGIN_ID, >+ Messages.getString("MemoryBrowser.FailedToGoToAddressTitle"), e1)); >+ } >+ }); > } > } > }.start(); >@@ -746,8 +759,6 @@ > > tabFolder.setData(KEY_RETRIEVAL, retrieval); > >- CTabItem item = createTab(tabFolder, 0); >- populateTabWithRendering(item, retrieval, context, null); > fContextFolders.put(retrieval, tabFolder); > fStackLayout.topControl = tabFolder; > } >@@ -831,7 +842,7 @@ > store.setValue(PREF_DEFAULT_RENDERING, defaultRenderingTypeId); > } > >- private void populateTabWithRendering(final CTabItem tab, final IMemoryBlockRetrieval retrieval, Object context, String memorySpaceId) { >+ private void populateTabWithRendering(final CTabItem tab, final IMemoryBlockRetrieval retrieval, Object context, String memorySpaceId, IMemoryBlockExtension block) { > IMemoryRenderingType type = DebugUITools.getMemoryRenderingManager().getRenderingType(getDefaultRenderingTypeId()); > try { > final IMemoryRendering rendering = type.createRendering(); >@@ -863,8 +874,6 @@ > > }; > >- IMemoryBlockExtension block = createMemoryBlock(retrieval, "0", context, memorySpaceId); //$NON-NLS-1$ >- > fCurrentContainers.add(container); > rendering.init(container, block); > rendering.createControl(tab.getParent()); >@@ -1077,5 +1086,3 @@ > } > } > } >- >-
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 312098
:
167679
|
167680
|
167681
| 168643 |
168813
|
168975
|
170720