I have to say that I don't like to way auto-rotation of text works in the Visio stencil version 13+. Specifically, I never use the style having the relationship vertical and the text horizontal. In my opinion that is a very space-hungry configuration and doesn't read well (ambiguous which way to read the roles when the text is orthogonal to the role boxes). In addition, for relationships with more than one short word, the relationship text has to be moved if the relationship is rotated, which is not easy.
I would really prefer that the text be rotated so that in the top of the text is always towards the role boxes except when the roles are rotated between +/-135 degrees (i.e. the text is "on top" of the role boxes), in which case the bottom of the text is towards the role boxes.
There are two "reversal" scenarios to consider:
First, the user wants to simply change the direction of the reading leaving the text as it is. The current context menu to add an arrow solves this problem.
Second, the user wants to completely reverse the relationship (i.e. a "flip"). I do this all the time when copying relationships to re-use them. A context menu that swaps all the connection points relative to the left-right centerline of the shape would do this (i.e. swap all the relative "x" coordinates). I do this in some of my custom shapes that have connection points.
In my opinion, automatically adding the text arrow as I rotate through 360 degrees "almost" works. Here is an idea for horizontal text.
As the roles rotate to nominally 180 degrees (past +/- 135 degrees), move the text anchor to the other side so it always remains on the bottom of the role boxes, and rotate the text 180 degrees. At the same time, add the reversal arrow. As the shape rotates back, move the text back and remove the arrow.
Vertical text is trickier because there is no convention in English for which way to orient vertical text (top-to-bottom or bottom-to-top). Add the convention that vertical text must always read top-to-bottom in the "natural" English reading, and we also add the constraint that the text must always be on the left of the role boxes. If we add this convention and constraint, then we can use the same rules for horizontal text with vertical text.
I'm not sure if I'd like this "left-side top-to-bottom" convention because I have to admit I use both top-to-bottom and bottom-to-top text in order to eliminate the need for a text arrow. I think I could live with it. This would constrain the relationship text to be on the left or bottom or the relationship and to always be read top-to-bottom or left-to-right for English.
Lots of comments, but I have to say that I CANNOT use the roles in their current form with the auto-rotating text. Until that is changed, I have to stick with the v12- shapes.
(On the bright side, I really like the results of my first test with the v14 macro for shadow corrections--great idea)
Roger Cass