RFR: 8290844: Add Skin.install() method [v4]
Jeanette Winzenburg
fastegal at openjdk.org
Sat Sep 3 10:18:47 UTC 2022
On Fri, 12 Aug 2022 18:15:37 GMT, Andy Goryachev <angorya at openjdk.org> wrote:
>> - added Skin.install()
>> - javadoc changes for Skinnable.setSkin(Skin)
>>
>> no code changes for Skinnable.setSkin(Skin) yet.
>
> Andy Goryachev has updated the pull request incrementally with one additional commit since the last revision:
>
> 8290844: review comments
that's basically the problem we identified as not solvable by current api, though I would formulate slightly differently: there are two bugs in our current implementation, one in step 3 and one in step 6
// bug in step 3: should be replacing the property only if not set be the user
if (control.getInputMethodRequest() == USER1) { // no means to detect user vs. skin installed
// do nothing
} else {
control.setInputMethodRequest(SKIN1);
}
// bug in step 6: nulling unconditionally in dispose is wrong, should only do if installed by the skin
if (control.getInputMethodRequest() == SKIN1) control.setInputMethodRequest(null);
Yes: there is no way to differentiate USER1 from SKIN1 in step 5 without new API :) There are options besides a new life-cycle, but I agree that adding a life-cycle state is the most clean.
-------------
PR: https://git.openjdk.org/jfx/pull/845
More information about the openjfx-dev
mailing list