Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse Platform » About CommonViewers.init() in org.eclipse.ui.navigator(whether there is a class implements org.eclipse.jface.viewers.ILazyContentProvider in org.eclipse.ui.navigator)
About CommonViewers.init() in org.eclipse.ui.navigator [message #1786854] Mon, 14 May 2018 09:21 Go to next message
jingjing wang is currently offline jingjing wangFriend
Messages: 28
Registered: July 2017
Junior Member
I have a question which is whether org.eclipse.ui.navigator supports virtual tree of SWT.

The class CommonViewers in org.eclipse.ui.navigator provides the Tree viewer for the common navigator. But from our analysis, we find that CommonViewers does not support virtual tree of SWT. Because in its init() func, the type of ContentProvider is NavigatorContentServiceContentProvider which is instance of ITreeContentProvider and ITreePathContentProvider, not instance of ILazyContentProvider and ILazyTreePathContentProvider which are the content provider for trees viewers created using the SWT.VIRTUAL. And we don't find any class implements ILazyContentProvider and ILazyTreePathContentProvider in org.eclipse.ui.navigator.
So if anyone can give me some advise about the class implements ILazyContentProvider and ILazyTreePathContentProvider in org.eclipse.ui.navigator, or if there is other tree viewers in org.eclipse.ui.navigator support SWT.VIRTUAL, and anything about the question is welcomed.

Thank you very much!



protected void init() {
setUseHashlookup(true);
setContentProvider(contentService.createCommonContentProvider());
setLabelProvider(new NavigatorDecoratingLabelProvider(contentService.createCommonLabelProvider()));
initDragAndDrop();
}

public ITreeContentProvider createCommonContentProvider() {
if (contentProviderInitialized) {
return contentProvider;
}
synchronized (this) {
if (contentProvider == null) {
contentProvider = new NavigatorContentServiceContentProvider(
this);
}
contentProviderInitialized = true;
}
return contentProvider;
}
Re: About CommonViewers.init() in org.eclipse.ui.navigator [message #1786860 is a reply to message #1786854] Mon, 14 May 2018 12:52 Go to previous messageGo to next message
Brian de Alwis is currently offline Brian de AlwisFriend
Messages: 772
Registered: January 2012
Senior Member

You're right, it doesn't support lazy content providers. There is a bug open around this, but supporting lazy content providers would require a lot of work and nobody has tried to undertake it.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=130221


Eclipse Platform committer. Ask me about Eclipse support, training, and consulting.
Re: About CommonViewers.init() in org.eclipse.ui.navigator [message #1786890 is a reply to message #1786860] Tue, 15 May 2018 03:24 Go to previous message
jingjing wang is currently offline jingjing wangFriend
Messages: 28
Registered: July 2017
Junior Member
OK. Thanks for your reply. And I have read the comment of bug130221. This is very useful for us. Thank you very much.
Anyway, we also expect to solve the bug in the new eclipse platform in the future. And from our analysis, we think that lazy tree expansion can really have a good performance improvement for explore tree viewer.
Previous Topic:Publishing plugin
Next Topic:Error in newly installed Oxygen: Unable to locate secure storage module
Goto Forum:
  


Current Time: Thu Sep 20 02:14:38 GMT 2018

Powered by FUDForum. Page generated in 0.01556 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top