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 22119 Details for
Bug 97780
[Model] Make BaseWorkbenchContentProvider and LabelProvider adapter manager friendly
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 to BaseWorkbenchContentProvider and LabelProvider
content-label-adapter-patch.txt (text/plain), 4.65 KB, created by
Jean-Michel Lemieux
on 2005-05-31 23:35:26 EDT
(
hide
)
Description:
patch to BaseWorkbenchContentProvider and LabelProvider
Filename:
MIME Type:
Creator:
Jean-Michel Lemieux
Created:
2005-05-31 23:35:26 EDT
Size:
4.65 KB
patch
obsolete
>Index: Eclipse UI/org/eclipse/ui/model/BaseWorkbenchContentProvider.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/BaseWorkbenchContentProvider.java,v >retrieving revision 1.5 >diff -u -r1.5 BaseWorkbenchContentProvider.java >--- Eclipse UI/org/eclipse/ui/model/BaseWorkbenchContentProvider.java 25 Feb 2005 20:52:37 -0000 1.5 >+++ Eclipse UI/org/eclipse/ui/model/BaseWorkbenchContentProvider.java 1 Jun 2005 03:25:50 -0000 >@@ -11,6 +11,7 @@ > package org.eclipse.ui.model; > > import org.eclipse.core.runtime.IAdaptable; >+import org.eclipse.core.runtime.Platform; > import org.eclipse.jface.viewers.ITreeContentProvider; > import org.eclipse.jface.viewers.Viewer; > >@@ -43,25 +44,27 @@ > > /** > * Returns the implementation of IWorkbenchAdapter for the given >- * object. Returns null if the adapter is not defined or the >- * object is not adaptable. >- * <p> >- * </p> >+ * object. Returns null if the adapter is not defined for this >+ * type. > * > * @param element the element > * @return the corresponding workbench adapter object > */ > protected IWorkbenchAdapter getAdapter(Object element) { >- if (!(element instanceof IAdaptable)) { >- return null; >- } >- return (IWorkbenchAdapter) ((IAdaptable) element) >- .getAdapter(IWorkbenchAdapter.class); >- } >- >- /* (non-Javadoc) >- * Method declared on ITreeContentProvider. >- */ >+ IWorkbenchAdapter adapter = null; >+ if (element instanceof IAdaptable) >+ adapter = (IWorkbenchAdapter) ((IAdaptable) element) >+ .getAdapter(IWorkbenchAdapter.class); >+ if (adapter == null) >+ adapter = (IWorkbenchAdapter) Platform.getAdapterManager() >+ .loadAdapter(element, IWorkbenchAdapter.class.getName()); >+ >+ return adapter; >+ } >+ >+ /* >+ * (non-Javadoc) Method declared on ITreeContentProvider. >+ */ > public Object[] getChildren(Object element) { > IWorkbenchAdapter adapter = getAdapter(element); > if (adapter != null) { >Index: Eclipse UI/org/eclipse/ui/model/WorkbenchLabelProvider.java >=================================================================== >RCS file: /home/eclipse/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/model/WorkbenchLabelProvider.java,v >retrieving revision 1.18 >diff -u -r1.18 WorkbenchLabelProvider.java >--- Eclipse UI/org/eclipse/ui/model/WorkbenchLabelProvider.java 29 Apr 2005 16:37:01 -0000 1.18 >+++ Eclipse UI/org/eclipse/ui/model/WorkbenchLabelProvider.java 1 Jun 2005 03:25:50 -0000 >@@ -11,6 +11,7 @@ > package org.eclipse.ui.model; > > import org.eclipse.core.runtime.IAdaptable; >+import org.eclipse.core.runtime.Platform; > import org.eclipse.jface.resource.ImageDescriptor; > import org.eclipse.jface.viewers.DecoratingLabelProvider; > import org.eclipse.jface.viewers.IColorProvider; >@@ -115,17 +116,32 @@ > > /** > * Returns the implementation of IWorkbenchAdapter for the given >+ * object. Returns null if the adapter is not defined for this >+ * type. >+ * >+ * @param element the element >+ * @return the corresponding workbench adapter object >+ */ >+ protected Object getAdapter(Object element, Class clazz) { >+ Object adapter = null; >+ if (element instanceof IAdaptable) >+ adapter = (IWorkbenchAdapter) ((IAdaptable) element) >+ .getAdapter(clazz); >+ if(adapter == null) { >+ adapter = Platform.getAdapterManager().loadAdapter(element, clazz.getName()); >+ } >+ return adapter; >+ } >+ >+ /** >+ * Returns the implementation of IWorkbenchAdapter for the given > * object. > * @param o the object to look up. > * @return IWorkbenchAdapter or<code>null</code> if the adapter is not defined or the > * object is not adaptable. > */ > protected final IWorkbenchAdapter getAdapter(Object o) { >- if (!(o instanceof IAdaptable)) { >- return null; >- } >- return (IWorkbenchAdapter) ((IAdaptable) o) >- .getAdapter(IWorkbenchAdapter.class); >+ return (IWorkbenchAdapter)getAdapter(o, IWorkbenchAdapter.class); > } > > /** >@@ -136,11 +152,7 @@ > * object is not adaptable. > */ > protected final IWorkbenchAdapter2 getAdapter2(Object o) { >- if (!(o instanceof IAdaptable)) { >- return null; >- } >- return (IWorkbenchAdapter2) ((IAdaptable) o) >- .getAdapter(IWorkbenchAdapter2.class); >+ return (IWorkbenchAdapter2)getAdapter(o, IWorkbenchAdapter2.class); > } > > /* (non-Javadoc)
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 97780
:
22119
|
22564