0.7 Milestone 4
Regression
- When user types a key to insert a character into the document, the caret is not moved to be in front of that just-inserted character. Instead, the caret stays at its original position, reversing any inserted words/phrases via user keyboard input (See #472). To work around this, override the
replace
method:
public void replace(int from, int to, StyledDocument<PS, SEG, S> document) {
if (from == to && document.length() == 0) {
return; // ignore changes that do nothing. Or TextChange throws IllegalArgumentException
}
super.replace(from, to, document);
int newCaretPos = getCaretPosition() + document.length();
selectRange(newCaretPos, newCaretPos);
}
New features
- Expose API for "scroll[X/Y]By" to scroll view by specific amount
- Add "show()" methods to force viewport to display a specific line at top, bottom or within viewport
- Better support multi-line wrapped paragraphs API
- Added method to get the number of lines a wrapped multi-line paragraph spans
- Renamed "line" methods to "paragraph" methods and implement actual "line" methods
- Shift + Home/End moves caret to start of line, not paragraph
- Add API for caret/selection bounds on screen
- All areas are now FXML-ready
Fixed Bugs
- Fixed "-fx-highlight-fill" CSS issue
- Fixed "-fx-caret-blink-rate" CSS issue
- Fixed regression: RTFX supports ContextMenu as before
- Fixed horizontal scrollbar not working issue
- Fixed Exception thrown when trying to merge a change that inserts text with a change that deletes that text
- Fixed LineNumberFactory's type to use base area (GenericStyledArea) rather than StyledTextArea
Refactoring or Updates
- Default mouse behavior has been reconfigured to be more overridable-friendly. See
GenericStyledArea
's javadoc for details. - Javadoc to Flowless & ReactFX links have been fixed
- ".virtual-flow" removed from "styled-text-area.css"
- "positionCaret()" has been renamed to "displaceCaret()" and its javadoc better clarifies what it does
- Popup API fully deprecated
- ReadMe updated & dead links fixed
- RichText demo updated to use interface for better memory usage