On Fri, 10 Feb 2023 05:39:33 GMT, Karthik P K <k...@openjdk.org> wrote:

>> When Text width was more than TextField width, the logic to update 
>> `textTranslateX` in `updateCaretOff` method was causing the issue of 
>> unexpected behavior for Right and Center alignment.
>> 
>> Made changes to update `textTranslateX` in `updateCaretOff` method only when 
>> text width is less than text field width i.e `delta` is positive. 
>> For both right and center alignments, the `textTranslateX` value calculated 
>> in `updateTextPos` method will be updated without any condition so that 
>> expected behavior is achieved for all scenarios of text width relative to 
>> text field width. 
>> 
>> Added unit tests to validate LEFT, CENTER and RIGHT alignments. RIGHT and 
>> CENTER alignment tests are expected to fail without the fix provided in this 
>> PR.
>
> Karthik P K has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains four additional 
> commits since the last revision:
> 
>  - Merge branch 'openjdk:master' into textfield_issue_fix
>  - Update comments
>  - Fix textfield right and center alignment issues
>  - Fix for TextField right alignement issue

I think the behavior with the fix is correct - it should follow the alignment 
setting.

@hjohn is right on one account - scroll to cursor is not working right.  to 
reproduce
- set the alignment to either *_RIGHT or *_CENTER
- set a long text string (longer than can fit the control)
- click on the visible area and repeatedly move cursor left beyond the left 
edge.
Expected:
-- the view should scroll horizontally to bring the caret back into the view
Observed with the fix:
-- it doesn't

-------------

PR: https://git.openjdk.org/jfx/pull/980

Reply via email to