Community
Participate
Working Groups
Several specifier have reported the need to locate their bordered nodes on one side of their parent. The current solution is to provide a style configuration with a specific border item locator. A simple solution (for the specifier) could be to have a border item locator concept directly in the diagram metamodel. It could be added on AbstractDNodeMapping, it shoudl have at least a preferred position (N, W, E, S) and a list of mappings. I write preferred, because we need to handle the case in which there are several bordered nodes but the preferred side is too small. The parent shoudl locate first the nodes which have a described bordered locator, then the others ones. We should put some validation rules: the same mapping should not be located by two locator on the same parent mapping. (to reword if we add some precondition on the locator).
+1 Would be very useful. Often required by users.
+1 it could be useful too to have a bordered node label border locator which always put the label outside the bordered node container.
+1
Marking issue as triage as this is a valid feature request
+1 I'm currently in need of such feature.
Note that if we create a DBorderITemLocator with a preferred side, this preferred side will not be taken into account to relocate the figures (and DBorderItemLocator javadoc should be improved).
+1 Would also be really useful for the representation I work on.
Gerrit change https://git.eclipse.org/r/45816 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=b83eb83583923a822acc21977fb4336afd3e2a0a
I've pushed a first version of a spec for this (by Steve), visible at https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/plain/plugins/org.eclipse.sirius.doc/specs/proposal/440296_Required_side_for_border_nodes/440296_Required_side_for_border_nodes.html?id=b83eb83583923a822acc21977fb4336afd3e2a0a This is not planned yet for a specific version of Sirius. It may come in 3.1 which is planned by then end of 2015, or later. In the meantime to move the bug forward we're open to remarks and discussions on the spec, to actual patches (see the Contributor Guide) or you can contact Obeo for sponsored work if you have specific constraints and/or deadline for this to become available.
2 points: - the specification does not talk about the bordered node label location, see my comment "it could be useful too to have a bordered node label border locator which always put the label outside the bordered node container by default." - "Optional: As it may be confusing for users that the south side is filled right to left and the west side is filled bottom-up, the DBorderItemLocator could be overridden to fill these side, alike their opposite, respectively left to right and top-down." -> very confusing for users, this should not be optional. This is due to a technical limitation, this is not very appealing from a UX point of view.
asked by one of my contact
A similar issue exists with edges. Handling edges is *not* in the scope of this particular ticket, but the retained solution must take that need in consideration so that it can be generalized at some later point to also handle edges with minimal impact on the nodes, and no duplication of two similar-but-different mechanisms.
Moving to 4.0. It would be nice to have for 3.1, but I don't think it is realistic given the time constraints.
New Gerrit change created: https://git.eclipse.org/r/55280
Gerrit change https://git.eclipse.org/r/55280 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=bfbc4b3ca9e61fc4653d72eea53560d56a780e7b
New Gerrit change created: https://git.eclipse.org/r/65926
Gerrit change https://git.eclipse.org/r/66381 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=98b40b37da9c67ae52031e11047fd74f4fa51a0f
Gerrit change https://git.eclipse.org/r/67981 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=6ff6ff246e493ca1e723aa482667263efaf60333
Gerrit change https://git.eclipse.org/r/66674 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=ddba658dce6a32f0a8dd1c17c3a8b38a1e016c46
Gerrit change https://git.eclipse.org/r/67553 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=73dc714fc0e0d0ceaa62a986cb63405ba8e47df8
Gerrit change https://git.eclipse.org/r/66923 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=e275da4ae0b07a34a32442b14171029210acf050
Gerrit change https://git.eclipse.org/r/67792 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=1f50e2dee98a6e225d0c3e1c3996d6d13769822b
Gerrit change https://git.eclipse.org/r/65926 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=a7575f922aaef53950f6e4c47d808323fff1d389
Gerrit change https://git.eclipse.org/r/67554 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=45c0d39a8dbef2c5431eb60a71f78993b2de3ae8
A last patchset will come to take into consideration the comments on this review: https://git.eclipse.org/r/#/c/67553/11/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/refresh/borderednode/CanonicalDBorderItemLocator.java Indeed, if a parent side is full, we still use the next side as the next candidate location even if this side is forbidden. The border node is finally located on the correct side but not at the expected location.
New Gerrit change created: https://git.eclipse.org/r/69223
Gerrit change https://git.eclipse.org/r/69223 was merged to [master]. Commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=cbd79943d28f7ebf41191306a02e5bd9c99e3004
Verified on Sirius 4.0.0 RC1 (4.0.0.201605180923)
Available in Sirius 4.0.0.