Bug 438252 - Navigation tool available only on diagram
Summary: Navigation tool available only on diagram
Status: NEW
Alias: None
Product: Sirius
Classification: Modeling
Component: Core (show other bugs)
Version: 1.0.0   Edit
Hardware: PC Linux
: P3 minor (vote)
Target Milestone: ---   Edit
Assignee: Project inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2014-06-26 07:49 EDT by Melanie Bats CLA
Modified: 2021-02-19 01:23 EST (History)
3 users (show)

See Also:


Attachments
Navigation tool only available on diagrams (115.40 KB, image/png)
2014-06-26 07:49 EDT, Melanie Bats CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Melanie Bats CLA 2014-06-26 07:49:19 EDT
Created attachment 244546 [details]
Navigation tool only available on diagrams

In the specifier tree view, it is possible to create a navigation tool on a change context. But then it is only possible to reference a diagram, we should be able to reference any kind of representation.
Comment 1 Esteban DUGUEPEROUX CLA 2014-06-26 11:30:09 EDT
Indeed, the navigation model operation, i.e. org.eclipse.sirius.diagram.description.tool.Navigation inheriting of org.eclipse.sirius.viewpoint.description.tool.ContainerModelOperation is diagram dialect specific but as inheriting of the viewpoint metamodel can be reused on other dialect which can use model operations like tree/table.
We have the same issue with CreateView/DeleteView model operations, but these lasts make non sense in other dialects than diagram. Navigation model operation make sense in all dialects then could be moved in the viewpoint metamodel.
NavigationTask could be moved from org.eclipse.sirius.diagram to org.eclipse.sirius and be generalized.
Comment 2 Esteban DUGUEPEROUX CLA 2014-06-27 03:01:01 EDT
A beginning of fix is available here : https://git.eclipse.org/r/#/c/29093/ .
Comment 3 Pierre-Charles David CLA 2014-07-01 04:46:17 EDT
+1 on the principle (I have not looked at the current patch in detail). Don't forget that the specifier documentation would also need to be updated.
Comment 4 Pierre-Charles David CLA 2014-07-01 05:11:36 EDT
Related to this (but maybe out of scope), we have redundancies at the tools level (as opposed to the model operaitons level), with: 

- RepresentationCreationDescription and RepresentationNavigationDescription in viewpoint.ecore, both abstract
- DiagramCreationDescription and DiagramNavigationDescription in diagram.ecore, which inherit from the two above
- TableCreationDescription and TableNavigationDescription in table.ecore, same
- TreeCreationDescription and TreeNavigationDescription in tree.ecore, same

It looks like we could do with a single concrete RepresentationNavigationDescription, with a mode = { CREATE_ALWAYS, CREATE_IF_NOT_EXISTS, CREATE_NEVER } which would work for all dialects (using the generic DialectServices API), existing and yet to be created.
Comment 5 Esteban DUGUEPEROUX CLA 2014-07-09 05:16:45 EDT
There are issues on src-gen/ code regeneration, for Edit part, for example in org.eclipse.sirius.ui plugin too many classes are changed, all provider even these not related to Navigation get more interface than before, i.e. what is on the HEAD. For example AbstractToolDescriptionItemProvider before extends only of DocumentedElementItemProvider without implementing directly interfaces, now after regeneration it implements "IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider,
        IItemLabelProvider, IItemPropertySource"

It is very annoying to regenerate the code.
Comment 6 Esteban DUGUEPEROUX CLA 2014-07-09 05:17:36 EDT
I have tried regenerate with Luna.