[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-openjfx-dev
Subject:    JDK-8130738  TextFlow's tab width is static
From:       Scott Palmer <swpalmer () gmail ! com>
Date:       2019-09-19 1:14:00
Message-ID: F33B73E2-B474-4F57-A1C3-C50F612DBB50 () gmail ! com
[Download RAW message or body]

I would like to implement this feature, being able to adjust the tab size in a \
TextFlow or Text node (JDK-8130738 \
<https://bugs.openjdk.java.net/browse/JDK-8130738>).  It involves new public API, so \
I want to start a discussion about it here.  (My motivation is that RichTextFX \
suggests an entirely unacceptable workaround of substituting actual spaces when the \
tab character is typed and cites the lack of this API.)

I've already jumped the gun and taken a crack at an implementation.  It is currently \
incomplete as I was just poking around to see if it was going to be easy enough to \
not take up too much of my time.  It boils down to: TextFlow and Text get a new \
property for tab width, an integer representing the number of spaces taken by a tab. \
(The value is only used to initialize the tab width for the TextLayout when needed.) \
TextLayout interface gets a new method:  boolean setTabWidth(int spaces) TextLayout \
gets a new constant: DEFAULT_TAB_WIDTH = 8; PrismTextLayout implements the new \
setTabWidth API.

I'm not sure that the Text node needs this new property.  I figured it would be \
rarely used on that class, so I had implemented it via an added property in the \
private TextAttributes class.  Maybe it isn't needed at all.

What's the next step?

Regards,

Scott=


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic