TreeItem problem in JavaxFX with EMF Edit [message #1729143] |
Mon, 11 April 2016 13:55 |
Fabian Kopatschek Messages: 4 Registered: April 2016 |
Junior Member |
|
|
Hallo together,
i set up an project, in which in want to use an EMF Model for an JavaFX Application.
Sadly i got stuck at different points in that project.
The first one is very confusing me and i hope you can help.
Following Code is working:
...
ComposedAdapterFactory adapterFactory;
adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
adapterFactory.addAdapterFactory(new FinanceAppItemProviderAdapterFactory());
adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
EditingDomain editingDomain;
BasicCommandStack commandStack = new BasicCommandStack();
editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack);
TreeView<Object> treeView = new TreeView<>();
treeView.setRoot(new AdapterFactoryTreeItem(modelData.get(0), adapterFactory));
treeView.getRoot().setExpanded(true);
AdapterFactoryTreeCellFactory cellFact;
cellFact = new AdapterFactoryTreeCellFactory(adapterFactory);
treeView.setCellFactory(cellFact);
...
And this try gives me an exception:
...
ComposedAdapterFactory adapterFactory;
adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
adapterFactory.addAdapterFactory(new FinanceAppItemProviderAdapterFactory());
adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
EditingDomain editingDomain;
BasicCommandStack commandStack = new BasicCommandStack();
editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack);
TreeView<Object> treeView = new TreeView<>();
TreeItem<Object> rootItem = new AdapterFactoryTreeItem(modelData.get(0), adapterFactory);
System.out.println(rootItem.getValue().getClass());
treeView.setRoot(new AdapterFactoryTreeItem(rootItem, adapterFactory));
treeView.getRoot().setExpanded(true);
AdapterFactoryTreeCellFactory cellFact;
cellFact = new AdapterFactoryTreeCellFactory(adapterFactory);
treeView.setCellFactory(cellFact);
...
The difference in one box:
treeView.setRoot(new AdapterFactoryTreeItem(modelData.get(0), adapterFactory)); // is working
-------------------------------------------------------------------------------------------------------------------------------
TreeItem<Object> rootItem = new AdapterFactoryTreeItem(modelData.get(0), adapterFactory);
treeView.setRoot(new AdapterFactoryTreeItem(rootItem, adapterFactory)); // throws an exception
The exception is:
java.lang.IllegalArgumentException: Provided root object cannot be adapted.
If you need more information please let me know.
Thanks and regards
Fabian
|
|
|
Re: TreeItem problem in JavaxFX with EMF Edit [message #1729172 is a reply to message #1729143] |
Mon, 11 April 2016 18:44 |
Thomas Schindl Messages: 6651 Registered: July 2009 |
Senior Member |
|
|
Not sure what you expect in the case not working you have wrapped your
root object into a TreeItem and pass that on but AdapterFactoryTreeItem
expects EObjects hence it fails.
Tom
On 11.04.16 16:51, Fabian Kopatschek wrote:
> Hallo together,
>
> i set up an project, in which in want to use an EMF Model for an JavaFX
> Application.
>
> Sadly i got stuck at different points in that project.
>
> The first one is very confusing me and i hope you can help.
>
> Following Code is working:
>
>
> ..
> ComposedAdapterFactory adapterFactory;
> adapterFactory = new
> ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
>
> adapterFactory.addAdapterFactory(new
> ResourceItemProviderAdapterFactory());
> adapterFactory.addAdapterFactory(new
> FinanceAppItemProviderAdapterFactory());
> adapterFactory.addAdapterFactory(new
> ReflectiveItemProviderAdapterFactory());
> EditingDomain editingDomain;
> BasicCommandStack commandStack = new BasicCommandStack();
> editingDomain = new AdapterFactoryEditingDomain(adapterFactory,
> commandStack);
> TreeView<Object> treeView = new TreeView<>();
> treeView.setRoot(new AdapterFactoryTreeItem(modelData.get(0),
> adapterFactory));
> treeView.getRoot().setExpanded(true);
> AdapterFactoryTreeCellFactory cellFact;
> cellFact = new AdapterFactoryTreeCellFactory(adapterFactory);
>
> treeView.setCellFactory(cellFact);
> ..
>
>
> And this try gives me an exception:
>
>
> ..
> ComposedAdapterFactory adapterFactory;
> adapterFactory = new
> ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
>
> adapterFactory.addAdapterFactory(new
> ResourceItemProviderAdapterFactory());
> adapterFactory.addAdapterFactory(new
> FinanceAppItemProviderAdapterFactory());
> adapterFactory.addAdapterFactory(new
> ReflectiveItemProviderAdapterFactory());
> EditingDomain editingDomain;
> BasicCommandStack commandStack = new BasicCommandStack();
> editingDomain = new AdapterFactoryEditingDomain(adapterFactory,
> commandStack);
> TreeView<Object> treeView = new TreeView<>();
> TreeItem<Object> rootItem = new
> AdapterFactoryTreeItem(modelData.get(0), adapterFactory);
> System.out.println(rootItem.getValue().getClass());
> treeView.setRoot(new AdapterFactoryTreeItem(rootItem,
> adapterFactory));
> treeView.getRoot().setExpanded(true);
> AdapterFactoryTreeCellFactory cellFact;
> cellFact = new AdapterFactoryTreeCellFactory(adapterFactory);
>
> treeView.setCellFactory(cellFact);
> ..
>
>
> The difference in one box:
>
>
> treeView.setRoot(new AdapterFactoryTreeItem(modelData.get(0),
> adapterFactory)); // is working
>
> -------------------------------------------------------------------------------------------------------------------------------
>
>
> TreeItem<Object> rootItem = new AdapterFactoryTreeItem(modelData.get(0),
> adapterFactory);
> treeView.setRoot(new AdapterFactoryTreeItem(rootItem, adapterFactory));
> // throws an exception
>
>
> The exception is:
>
> java.lang.IllegalArgumentException: Provided root object cannot be adapted.
>
>
>
>
> If you need more information please let me know.
>
> Thanks and regards
> Fabian
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03080 seconds