| Summary: | [Palette] New framework breaks inherited diagrams | ||
|---|---|---|---|
| Product: | [Modeling] Papyrus | Reporter: | Yann Tanguy <yann.tanguy> |
| Component: | Core | Assignee: | Yann Tanguy <yann.tanguy> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | eclipse-bugzilla, sebastien.gerard |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 348866 | ||
|
Description
Yann Tanguy
In r4751: - Fix for Package, Requirement and Internal Block Diagrams. Some issues remains in 0.8.0 RC3 (BDD Especially) - The provides (ViewForKind version) of the ViewProvider for inherited element is not restrictive enough, once activated, it always return true whatever the IElementType. 1. We should investigate in Papyrus a way to avoid relying on this method which default implementation is incorrect (other diagram may corrupt ours). 2. When implemented in Papyrus, the implementation should take the diagram type / container type / sem. hint into account in the provides method. 3. The CreationEditPolicy should maybe ensure a view can be created before returning a command for view creation. In r5003 : Fix in oep.sysml.diagram.common - "provides(CreateViewForKindOperation op)" from ViewProviders is not reliable and should not be used in BDD - Throw an exception in this method to avoid it to be used - Make sure the exception is only thrown when an unexpected diagram ask for provides (return false in such a case) - Modify the following EditPolicies (responsible for view creation) so that they return a view creation command with a different canExecute() implementation: - ContainerNodeEditPolicy - CreationEditPolicy - GraphicalNodeEditPolicy - CreateViewCommand replace CreateCommand with a new canExecute() method that never rely on provides(CreateViewForKindOperation op) to know if a ViewProvider can provide a View. (In reply to comment #3) > In r5003 : Fix in oep.sysml.diagram.common > Merge in trunk : r5129. Not relevant anymore, IBD and BDD now avoid the use of "provides(CreateViewForKindOperation op)". |