RFR: 8228363: ContextMenu.show with side=TOP does not work the first time in the presence of CSS
Robert Lichtenberger
rlichten at openjdk.java.net
Thu Jan 21 06:47:41 UTC 2021
On Thu, 21 Jan 2021 06:37:59 GMT, Robert Lichtenberger <rlichten at openjdk.org> wrote:
>> Regarding the spec change, I was thinking of this section, which you removed:
>>
>> * To clarify the purpose of the {@code hpos} and {@code vpos} parameters,
>> * consider that they are relative to the anchor node. As such, a {@code hpos}
>> * and {@code vpos} of {@code CENTER} would mean that the ContextMenu appears
>> * on top of the anchor, with the (0,0) position of the {@code ContextMenu}
>> * positioned at (0,0) of the anchor. A {@code hpos} of right would then shift
>> * the {@code ContextMenu} such that its top-left (0,0) position would be attached
>> * to the top-right position of the anchor.
>>
>> As you pointed out, the reference to `hpos` and `vpos` is incorrect, but unless I'm missing something, it still seems like the concept still needs to be described.
>
>> Regarding the spec change, I was thinking of this section, which you removed:
>>
>> ```
>> * To clarify the purpose of the {@code hpos} and {@code vpos} parameters,
>> * consider that they are relative to the anchor node. As such, a {@code hpos}
>> * and {@code vpos} of {@code CENTER} would mean that the ContextMenu appears
>> * on top of the anchor, with the (0,0) position of the {@code ContextMenu}
>> * positioned at (0,0) of the anchor. A {@code hpos} of right would then shift
>> * the {@code ContextMenu} such that its top-left (0,0) position would be attached
>> * to the top-right position of the anchor.
>> ```
>>
>> As you pointed out, the reference to `hpos` and `vpos` is incorrect, but unless I'm missing something, it still seems like the concept still needs to be described.
>
> I assume that a very long time ago, there were hpos and vpos parameters for this method. And that really required an explanation, because then you could e.g. specify hpos=RIGHT and vpos=BOTTOM, which would give a very strange position for the context menu (the top left corner of the menu would be in the bottom right corner of the button).
> It also was very counter-intuitive that giving CENTER/CENTER for hpos/vpos would put the top left corner of the menu at the top left corner of the button.
> However all this confusion was ended when Side was used instead of HPos/VPos. At that very moment all the confusing cases went away. No more BOTTOM/RIGHT or CENTER/CENTER placement.
> So I think we can really just remove the (obsolete) explanation of hPos/vPos.
I've just "recreated" this PR as https://github.com/openjdk/jfx/pull/383 which is based on a separate branch as suggested.
-------------
PR: https://git.openjdk.java.net/jfx/pull/381
More information about the openjfx-dev
mailing list