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 77902 Details for
Bug 202678
IViewerUpdate should have a method to return viewer input.
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]
Patch adding the IViewerUpdate.getViewerInput() method (loc=39).
2007_09_07.patch (text/plain), 15.26 KB, created by
Pawel Piech
on 2007-09-07 14:43:10 EDT
(
hide
)
Description:
Patch adding the IViewerUpdate.getViewerInput() method (loc=39).
Filename:
MIME Type:
Creator:
Pawel Piech
Created:
2007-09-07 14:43:10 EDT
Size:
15.26 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.debug.ui >Index: ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java,v >retrieving revision 1.2 >diff -u -r1.2 RegisterGroupProxy.java >--- ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java 20 Aug 2007 20:22:12 -0000 1.2 >+++ ui/org/eclipse/debug/internal/ui/elements/adapters/RegisterGroupProxy.java 7 Sep 2007 18:45:07 -0000 >@@ -91,6 +91,10 @@ > return TreePath.EMPTY; > } > >+ public Object getViewerInput() { >+ return fFrame; >+ } >+ > /* (non-Javadoc) > * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate#getPresentationContext() > */ >Index: ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java,v >retrieving revision 1.3 >diff -u -r1.3 ElementMementoRequest.java >--- ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java 22 Nov 2006 20:05:22 -0000 1.3 >+++ ui/org/eclipse/debug/internal/ui/viewers/model/ElementMementoRequest.java 7 Sep 2007 18:45:07 -0000 >@@ -29,8 +29,8 @@ > * @param element > * @param memento > */ >- public ElementMementoRequest(ModelContentProvider provider, IMementoManager manager, IPresentationContext context, Object element, TreePath elementPath, IMemento memento, ModelDelta delta) { >- super(provider, context, element, elementPath, memento); >+ public ElementMementoRequest(ModelContentProvider provider, IMementoManager manager, IPresentationContext context, Object element, TreePath elementPath, Object viewerInput, IMemento memento, ModelDelta delta) { >+ super(provider, context, element, elementPath, viewerInput, memento); > fManager = manager; > fDelta = delta; > } >Index: ui/org/eclipse/debug/internal/ui/viewers/model/LabelUpdate.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/LabelUpdate.java,v >retrieving revision 1.17 >diff -u -r1.17 LabelUpdate.java >--- ui/org/eclipse/debug/internal/ui/viewers/model/LabelUpdate.java 23 Aug 2007 16:01:22 -0000 1.17 >+++ ui/org/eclipse/debug/internal/ui/viewers/model/LabelUpdate.java 7 Sep 2007 18:45:07 -0000 >@@ -29,6 +29,7 @@ > class LabelUpdate extends Request implements ILabelUpdate { > > private TreePath fElementPath; >+ private Object fViewerInput; > private String[] fColumnIds; > private RGB[] fBackgrounds; > private RGB[] fForegrounds; >@@ -57,9 +58,10 @@ > * @param columnIds column identifiers or <code>null</code> > * @param context presentation context > */ >- public LabelUpdate(TreePath elementPath, TreeItem item, TreeModelLabelProvider provider, String[] columnIds, IPresentationContext context) { >+ public LabelUpdate(TreePath elementPath, Object viewerInput, TreeItem item, TreeModelLabelProvider provider, String[] columnIds, IPresentationContext context) { > fContext = context; > fElementPath = elementPath; >+ fViewerInput = viewerInput; > fProvider = provider; > fColumnIds = columnIds; > fItem = item; >@@ -84,6 +86,10 @@ > public TreePath getElementPath() { > return fElementPath; > } >+ >+ public Object getViewerInput() { >+ return fViewerInput; >+ } > > /* (non-Javadoc) > * @see org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate#setBackground(org.eclipse.swt.graphics.RGB, int) >Index: ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java,v >retrieving revision 1.11 >diff -u -r1.11 TreeModelLabelProvider.java >--- ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java 20 Aug 2007 20:22:12 -0000 1.11 >+++ ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelLabelProvider.java 7 Sep 2007 18:45:07 -0000 >@@ -196,7 +196,7 @@ > Object element = elementPath.getLastSegment(); > IElementLabelProvider presentation = ViewerAdapterService.getLabelProvider(element); > if (presentation != null) { >- presentation.update(new ILabelUpdate[]{new LabelUpdate(elementPath, (TreeItem) row.getItem(), this, visibleColumns, fViewer.getPresentationContext())}); >+ presentation.update(new ILabelUpdate[]{new LabelUpdate(elementPath, fViewer.getInput(), (TreeItem) row.getItem(), this, visibleColumns, fViewer.getPresentationContext())}); > } else if (element instanceof String) { > // for example, expression error messages > row.setText(0, (String)element); >Index: ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java,v >retrieving revision 1.27 >diff -u -r1.27 TreeModelContentProvider.java >--- ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java 20 Aug 2007 20:22:12 -0000 1.27 >+++ ui/org/eclipse/debug/internal/ui/viewers/model/TreeModelContentProvider.java 7 Sep 2007 18:45:07 -0000 >@@ -61,7 +61,7 @@ > Object element = getElement(path); > IElementContentProvider contentAdapter = ViewerAdapterService.getContentProvider(element); > if (contentAdapter != null) { >- ChildrenCountUpdate request = new ChildrenCountUpdate(this, path, element, contentAdapter, getPresentationContext()); >+ ChildrenCountUpdate request = new ChildrenCountUpdate(this, path, getViewer().getInput(), contentAdapter, getPresentationContext()); > schedule(request); > } > } >@@ -70,7 +70,7 @@ > Object parent = getElement(parentPath); > IElementContentProvider contentAdapter = ViewerAdapterService.getContentProvider(parent); > if (contentAdapter != null) { >- ChildrenUpdate request = new ChildrenUpdate(this, parentPath, parent, modelIndex, contentAdapter, getPresentationContext()); >+ ChildrenUpdate request = new ChildrenUpdate(this, parentPath, getViewer().getInput(), modelIndex, contentAdapter, getPresentationContext()); > schedule(request); > } > } >@@ -79,7 +79,7 @@ > Object element = getElement(path); > IElementContentProvider contentAdapter = ViewerAdapterService.getContentProvider(element); > if (contentAdapter != null) { >- HasChildrenUpdate request = new HasChildrenUpdate(this, path, element, contentAdapter, getPresentationContext()); >+ HasChildrenUpdate request = new HasChildrenUpdate(this, path, getViewer().getInput(), contentAdapter, getPresentationContext()); > schedule(request); > } > } >Index: ui/org/eclipse/debug/internal/ui/viewers/model/MementoUpdate.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/MementoUpdate.java,v >retrieving revision 1.5 >diff -u -r1.5 MementoUpdate.java >--- ui/org/eclipse/debug/internal/ui/viewers/model/MementoUpdate.java 27 Mar 2007 02:08:32 -0000 1.5 >+++ ui/org/eclipse/debug/internal/ui/viewers/model/MementoUpdate.java 7 Sep 2007 18:45:07 -0000 >@@ -24,6 +24,7 @@ > private IPresentationContext fContext; > private Object fElement; > private TreePath fElementPath; >+ private Object fViewerInput; > private IMemento fMemento; > protected ModelContentProvider fProvider; > >@@ -34,10 +35,11 @@ > * @param element element > * @param memento memento > */ >- public MementoUpdate(ModelContentProvider provider, IPresentationContext context, Object element, TreePath elementPath, IMemento memento) { >+ public MementoUpdate(ModelContentProvider provider, IPresentationContext context, Object element, TreePath elementPath, Object viewerInput, IMemento memento) { > fContext = context; > fElement = element; > fElementPath = elementPath; >+ fViewerInput = viewerInput; > fMemento = memento; > fProvider = provider; > } >@@ -57,6 +59,10 @@ > return fElementPath; > } > >+ public Object getViewerInput() { >+ return fViewerInput; >+ } >+ > public IMemento getMemento() { > return fMemento; > } >Index: ui/org/eclipse/debug/internal/ui/viewers/model/ViewerUpdateMonitor.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ViewerUpdateMonitor.java,v >retrieving revision 1.8 >diff -u -r1.8 ViewerUpdateMonitor.java >--- ui/org/eclipse/debug/internal/ui/viewers/model/ViewerUpdateMonitor.java 23 Apr 2007 15:12:22 -0000 1.8 >+++ ui/org/eclipse/debug/internal/ui/viewers/model/ViewerUpdateMonitor.java 7 Sep 2007 18:45:07 -0000 >@@ -37,7 +37,7 @@ > /** > * Element > */ >- private Object fElement; >+ private Object fViewerInput; > > /** > * Element content provider >@@ -83,11 +83,11 @@ > * @param elementPath path to associated model element - empty for root element > * @param element associated model element > */ >- public ViewerUpdateMonitor(ModelContentProvider contentProvider, TreePath elementPath, Object element, IElementContentProvider elementContentProvider, IPresentationContext context) { >+ public ViewerUpdateMonitor(ModelContentProvider contentProvider, TreePath elementPath, Object viewerInput, IElementContentProvider elementContentProvider, IPresentationContext context) { > fContext = context; > fElementContentProvider = elementContentProvider; > fContentProvider = contentProvider; >- fElement = element; >+ fViewerInput = viewerInput; > fElementPath = elementPath; > // serialize updates per viewer > fViewerUpdateJob.setRule(getUpdateSchedulingRule()); >@@ -168,15 +168,23 @@ > * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate#getElement() > */ > public Object getElement() { >- return fElement; >+ if (fElementPath.getSegmentCount() != 0) { >+ return fElementPath.getLastSegment(); >+ } else { >+ return fViewerInput; >+ } > } >- >+ > /* (non-Javadoc) > * @see org.eclipse.debug.internal.ui.viewers.model.provisional.IViewerUpdate#getElementPath() > */ > public TreePath getElementPath() { > return fElementPath; > } >+ >+ public Object getViewerInput() { >+ return fViewerInput; >+ } > > /** > * Returns whether this request can coalesce the given request, and performs the >Index: ui/org/eclipse/debug/internal/ui/viewers/model/ModelContentProvider.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ModelContentProvider.java,v >retrieving revision 1.29 >diff -u -r1.29 ModelContentProvider.java >--- ui/org/eclipse/debug/internal/ui/viewers/model/ModelContentProvider.java 22 Aug 2007 20:06:25 -0000 1.29 >+++ ui/org/eclipse/debug/internal/ui/viewers/model/ModelContentProvider.java 7 Sep 2007 18:45:07 -0000 >@@ -311,7 +311,7 @@ > > }; > manager.addRequest(new ElementMementoRequest(ModelContentProvider.this, manager, getPresentationContext(), >- delta.getElement(), getViewerTreePath(delta), inputMemento, delta)); >+ delta.getElement(), getViewerTreePath(delta), getViewer().getInput(), inputMemento, delta)); > manager.processReqeusts(); > } > } >@@ -350,7 +350,7 @@ > if (provider != null) { > provider.compareElements(new IElementCompareRequest[]{ > new ElementCompareRequest(ModelContentProvider.this, >- potentialMatch, path, (IMemento) element, (ModelDelta)delta)}); >+ potentialMatch, path, getViewer().getInput(), (IMemento) element, (ModelDelta)delta)}); > } > } else { > if (element.equals(potentialMatch)) { >@@ -377,7 +377,7 @@ > buildViewerState(delta); > if (delta.getChildDeltas().length > 0) { > // encode delta with mementos in place of elements, in non-UI thread >- encodeDelta(delta, stateProvider); >+ encodeDelta(input, delta, stateProvider); > } > } > } >@@ -388,7 +388,7 @@ > * @param delta > * @param stateProvider > */ >- protected void encodeDelta(final ModelDelta rootDelta, final IElementMementoProvider defaultProvider) { >+ protected void encodeDelta(final Object input, final ModelDelta rootDelta, final IElementMementoProvider defaultProvider) { > final XMLMemento inputMemento = XMLMemento.createWriteRoot("VIEWER_INPUT_MEMENTO"); //$NON-NLS-1$ > final XMLMemento childrenMemento = XMLMemento.createWriteRoot("CHILDREN_MEMENTO"); //$NON-NLS-1$ > final IMementoManager manager = new IMementoManager() { >@@ -471,11 +471,11 @@ > if (delta.getParentDelta() == null) { > manager.addRequest( > new ElementMementoRequest(ModelContentProvider.this, manager, getPresentationContext(), >- delta.getElement(), getViewerTreePath(delta), inputMemento, (ModelDelta)delta)); >+ delta.getElement(), getViewerTreePath(delta), input, inputMemento, (ModelDelta)delta)); > } else { > manager.addRequest( > new ElementMementoRequest(ModelContentProvider.this, manager, getPresentationContext(), >- delta.getElement(), getViewerTreePath(delta), childrenMemento.createChild("CHILD_ELEMENT"), (ModelDelta)delta)); //$NON-NLS-1$ >+ delta.getElement(), getViewerTreePath(delta), input, childrenMemento.createChild("CHILD_ELEMENT"), (ModelDelta)delta)); //$NON-NLS-1$ > } > return true; > } >Index: ui/org/eclipse/debug/internal/ui/viewers/model/ElementCompareRequest.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/ElementCompareRequest.java,v >retrieving revision 1.3 >diff -u -r1.3 ElementCompareRequest.java >--- ui/org/eclipse/debug/internal/ui/viewers/model/ElementCompareRequest.java 22 Nov 2006 20:05:22 -0000 1.3 >+++ ui/org/eclipse/debug/internal/ui/viewers/model/ElementCompareRequest.java 7 Sep 2007 18:45:07 -0000 >@@ -27,8 +27,8 @@ > * @param element > * @param memento > */ >- public ElementCompareRequest(ModelContentProvider provider, Object element, TreePath elementPath, IMemento memento, ModelDelta delta) { >- super(provider, provider.getPresentationContext(), element, elementPath, memento); >+ public ElementCompareRequest(ModelContentProvider provider, Object element, TreePath elementPath, Object viewerInput, IMemento memento, ModelDelta delta) { >+ super(provider, provider.getPresentationContext(), element, elementPath, viewerInput, memento); > fProvider = provider; > fDelta = delta; > } >Index: ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java,v >retrieving revision 1.9 >diff -u -r1.9 IViewerUpdate.java >--- ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java 27 Mar 2007 02:08:32 -0000 1.9 >+++ ui/org/eclipse/debug/internal/ui/viewers/model/provisional/IViewerUpdate.java 7 Sep 2007 18:45:07 -0000 >@@ -43,4 +43,12 @@ > * @return tree path, possibly empty > */ > public TreePath getElementPath(); >+ >+ /** >+ * Returns the input in the viewer associated with this request. The >+ * viewer input is not part of the element path. >+ * >+ * @return viewer input >+ */ >+ public Object getViewerInput(); > }
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 202678
: 77902