Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

RichTextFX updated to versoin 0.6.9

AuthorKarl Tauber <email>
Date2015-09-27 16:13:59 GMT+0200
Commit405f7c4a09ded1a5d78b541af56b8695454d8fd3
Parente03139b
Delta7 lines added, 18 lines removed, 11-line decrease
src/main/java/org/markdownwriterfx/editor/MarkdownEditorPane.java
public void setMarkdown(String markdown) {
lineSeparator = determineLineSeparator(markdown);
- // always replace CRLF line separators to LF because RichTextFX does
- // not handle CRLF line separators well (e.g. need to press Backspace
- // or Del key twice to delete a CRLF line separator)
- markdown = markdown.replace("\r\n", "\n");
textArea.replaceText(markdown);
textArea.selectRange(0, 0);
private void deleteLine(KeyEvent e) {
int start = textArea.getCaretPosition() - textArea.getCaretColumn();
- int end = start + textArea.getParagraph(textArea.getCurrentParagraph()).fullLength();
+ int end = start + textArea.getParagraph(textArea.getCurrentParagraph()).length() + 1;
textArea.deleteText(start, end);
}
src/main/java/org/markdownwriterfx/editor/WhitespaceOverlayFactory.java
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Optional;
+import javafx.collections.ObservableList;
import javafx.geometry.Rectangle2D;
import javafx.geometry.VPos;
import javafx.scene.Node;
import javafx.scene.text.Text;
-import org.fxmisc.richtext.LineTerminator;
import org.fxmisc.richtext.Paragraph;
import org.fxmisc.richtext.StyledText;
@Override
public Node[] createOverlayNodes(int paragraphIndex) {
- Paragraph<Collection<String>> par = getTextArea().getParagraph(paragraphIndex);
+ ObservableList<Paragraph<Collection<String>>> paragraphs = getTextArea().getParagraphs();
+ Paragraph<Collection<String>> par = paragraphs.get(paragraphIndex);
ArrayList<Node> nodes = new ArrayList<>();
}
- Optional<LineTerminator> lineTerminator = par.getLineTerminator();
- if (lineTerminator.isPresent()) {
- String text;
- switch (lineTerminator.get()) {
- default:
- case LF: text = "\u00B6"; break;
- case CR: text = "\u00A4"; break;
- case CRLF: text = "\u00A4\u00B6"; break;
- }
+ if (paragraphIndex < paragraphs.size() - 1) {
+ // all paragraphs except last one have line separators
Rectangle2D bounds = getBounds(segmentStart - 1, segmentStart);
- nodes.add(createTextNode(text,
+ nodes.add(createTextNode("\u00B6",
par.getStyleAtPosition(segmentStart),
bounds.getMaxX(),