Skip to content

Commit cef005b

Browse files
Integrate new Caret / Selection API into GenericStyledArea
1 parent f0ad57d commit cef005b

7 files changed

Lines changed: 100 additions & 300 deletions

File tree

richtextfx/src/integrationTest/java/org/fxmisc/richtext/view/MiscellaneousAPITests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import javafx.geometry.Point2D;
77
import javafx.geometry.Pos;
88
import javafx.stage.Stage;
9+
import org.fxmisc.richtext.Caret;
910
import org.fxmisc.richtext.InlineCssTextAreaAppTest;
10-
import org.fxmisc.richtext.ViewActions.CaretVisibility;
1111
import org.fxmisc.richtext.model.NavigationActions;
1212
import org.junit.Before;
1313
import org.junit.Test;
@@ -83,7 +83,7 @@ public void start(Stage stage) throws Exception {
8383
super.start(stage);
8484

8585
// insure caret is always visible
86-
area.setShowCaret(CaretVisibility.ON);
86+
area.setShowCaret(Caret.CaretVisibility.ON);
8787

8888
StringBuilder sb = new StringBuilder();
8989
for (int i = 0; i < 50; i++) {

richtextfx/src/main/java/org/fxmisc/richtext/BoundedSelectionImpl.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ public class BoundedSelectionImpl implements BoundedSelection {
8181

8282
private Subscription subscription = () -> {};
8383

84+
BoundedSelectionImpl(GenericStyledArea<?, ?, ?> area) {
85+
this(area, area.getMainCaret());
86+
}
87+
8488
BoundedSelectionImpl(GenericStyledArea<?, ?, ?> area, Caret caret) {
8589
this(area, caret, new IndexRange(0, 0));
8690
}

richtextfx/src/main/java/org/fxmisc/richtext/Caret.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,15 @@
3535
*/
3636
public interface Caret {
3737

38+
public static enum CaretVisibility {
39+
/** Caret is displayed. */
40+
ON,
41+
/** Caret is displayed when area is focused, enabled, and editable. */
42+
AUTO,
43+
/** Caret is not displayed. */
44+
OFF
45+
}
46+
3847
/** The position of the caret within the text */
3948
public ObservableValue<Integer> positionProperty();
4049
public int getPosition();
@@ -53,11 +62,11 @@ public interface Caret {
5362

5463
/**
5564
* Whether to display the caret or not. Default value is
56-
* {@link org.fxmisc.richtext.ViewActions.CaretVisibility#AUTO}.
65+
* {@link CaretVisibility#AUTO}.
5766
*/
58-
public Var<GenericStyledArea.CaretVisibility> showCaretProperty();
59-
public GenericStyledArea.CaretVisibility getShowCaret();
60-
public void setShowCaret(GenericStyledArea.CaretVisibility value);
67+
public Var<CaretVisibility> showCaretProperty();
68+
public CaretVisibility getShowCaret();
69+
public void setShowCaret(CaretVisibility value);
6170

6271
/** Whether the caret is being shown in the viewport */
6372
public ObservableValue<Boolean> visibleProperty();

richtextfx/src/main/java/org/fxmisc/richtext/CaretImpl.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ final class CaretImpl implements Caret {
4444
@Override public final int getColumnPosition() { return columnPosition.getValue(); }
4545
@Override public final ObservableValue<Integer> columnPositionProperty() { return columnPosition; }
4646

47-
private final Var<GenericStyledArea.CaretVisibility> showCaret = Var.newSimpleVar(GenericStyledArea.CaretVisibility.AUTO);
48-
@Override public final GenericStyledArea.CaretVisibility getShowCaret() { return showCaret.getValue(); }
49-
@Override public final void setShowCaret(GenericStyledArea.CaretVisibility value) { showCaret.setValue(value); }
50-
@Override public final Var<GenericStyledArea.CaretVisibility> showCaretProperty() { return showCaret; }
47+
private final Var<CaretVisibility> showCaret = Var.newSimpleVar(CaretVisibility.AUTO);
48+
@Override public final CaretVisibility getShowCaret() { return showCaret.getValue(); }
49+
@Override public final void setShowCaret(CaretVisibility value) { showCaret.setValue(value); }
50+
@Override public final Var<CaretVisibility> showCaretProperty() { return showCaret; }
5151

5252
private final Binding<Boolean> visible;
5353
@Override public final boolean isVisible() { return visible.getValue(); }

0 commit comments

Comments
 (0)