Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » ITreeItemContentProvider vs ITreeContentProvider(EMF generates one; the TreeViewer needs the other)
ITreeItemContentProvider vs ITreeContentProvider [message #511799] Tue, 02 February 2010 22:39 Go to next message
Herb Miller is currently offline Herb MillerFriend
Messages: 23
Registered: February 2010
Junior Member
I am using EMF to generate code for a model. EMF generates a ProviderAdapterFactory which includes all of the ItemProviders. The problem is when I try to use them in treeViewer.setContentProvider.

This method wants an ITreeContentProvider, but EMF only generates ITreeItemContentProvider . Do I have to write my own ITreeContentProvider, or is there a way EMF will generate them for me? or, am I using the wrong thing for the TreeViewer?

Thanks,
Re: ITreeItemContentProvider vs ITreeContentProvider [message #511939 is a reply to message #511799] Wed, 03 February 2010 13:29 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33147
Registered: July 2009
Senior Member
Herb,

Comments below.

Herb Miller wrote:
> I am using EMF to generate code for a model. EMF generates a
> ProviderAdapterFactory which includes all of the ItemProviders. The
> problem is when I try to use them in treeViewer.setContentProvider.
>
> This method wants an ITreeContentProvider, but EMF only generates
> ITreeItemContentProvider . Do I have to write my own
> ITreeContentProvider, or is there a way EMF will generate them for
> me? or, am I using the wrong thing for the TreeViewer?
You should look at the generated editor to see how that works. You'd
notice AdapterFactoryContentProvider and AdapterFactoryLabelProvider
help bridge the gap.
>
> Thanks,
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: ITreeItemContentProvider vs ITreeContentProvider [message #512035 is a reply to message #511939] Wed, 03 February 2010 17:21 Go to previous messageGo to next message
Herb Miller is currently offline Herb MillerFriend
Messages: 23
Registered: February 2010
Junior Member
Thanks.

I looked at that before in it was way too complicated just to display a tree, but I tried it again.

I added these lines:

public ComposedAdapterFactory adapterFactory;
adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Reg istry.INSTANCE);

adapterFactory.addAdapterFactory(new My_kmsItemProviderAdapterFactory());

treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));

treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));

treeViewer.setInput(resourceSet);

My program did not crash, but nothing was displayed in the tree. I know the resource set has data, because I printed it out. Is there something else I can do to get the data to display? Is there some way to check the treeViewer from code to see what should display?

Thanks,


Re: ITreeItemContentProvider vs ITreeContentProvider [message #512041 is a reply to message #512035] Wed, 03 February 2010 17:30 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33147
Registered: July 2009
Senior Member
Herb,

Comments below.

Herb Miller wrote:
> Thanks.
>
> I looked at that before in it was way too complicated just to display
> a tree, but I tried it again.
>
> I added these lines:
>
> public ComposedAdapterFactory adapterFactory;
> adapterFactory = new
> ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Reg
> istry.INSTANCE);
>
> adapterFactory.addAdapterFactory(new My_kmsItemProviderAdapterFactory());
>
> treeViewer.setContentProvider(new
> AdapterFactoryContentProvider(adapterFactory));
>
> treeViewer.setLabelProvider(new
> AdapterFactoryLabelProvider(adapterFactory));
>
> treeViewer.setInput(resourceSet);
Given the resource set is the input, you need
ResourceItemProviderAdapterFactory in the composed factory.
>
> My program did not crash, but nothing was displayed in the tree. I
> know the resource set has data, because I printed it out. Is there
> something else I can do to get the data to display? Is there some way
> to check the treeViewer from code to see what should display?
>
> Thanks,
>
>
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: ITreeItemContentProvider vs ITreeContentProvider [message #512044 is a reply to message #512041] Wed, 03 February 2010 17:56 Go to previous messageGo to next message
Herb Miller is currently offline Herb MillerFriend
Messages: 23
Registered: February 2010
Junior Member
You are SO right!

Somehow, I missed those.
I added the following, and my tree actually displays:

adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());

adapterFactory.addAdapterFactory(new My_kmsItemProviderAdapterFactory());
adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());

HOWEVER, I may be doing something wrong. I wrote my own viewer to try and take advantage of the EMF generated code. I wrote it as a straight Java application (not a plugin; has a main). I get an error popup window when it runs:

"Workbench has not been created yet"

Is the generated code intended just for plugins, or am I doing something else wrong?

Thanks again,

Re: ITreeItemContentProvider vs ITreeContentProvider [message #512056 is a reply to message #512044] Wed, 03 February 2010 18:31 Go to previous messageGo to next message
Herb Miller is currently offline Herb MillerFriend
Messages: 23
Registered: February 2010
Junior Member
It looks like I have switched topics with my last reply, so if it is okay, I will end this thread (as far as I'm concerned), and I will start another one with my last question.
Yhanks,
Re: ITreeItemContentProvider vs ITreeContentProvider [message #512377 is a reply to message #512056] Thu, 04 February 2010 19:45 Go to previous message
Herb Miller is currently offline Herb MillerFriend
Messages: 23
Registered: February 2010
Junior Member
For completeness to this thread:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=301758
Previous Topic:DataBinding + Validation Framework
Next Topic:New behavior of ItemPropertyDescriptor class
Goto Forum:
  


Current Time: Mon May 13 07:16:13 GMT 2024

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

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

Back to the top