Skip to content

Commit

Permalink
Merge pull request #552 from JordanMartinez/cleanupCssProperties
Browse files Browse the repository at this point in the history
Cleanup css properties
  • Loading branch information
JordanMartinez authored Jul 31, 2017
2 parents 71f63cb + 76b5792 commit 14776d2
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 183 deletions.
93 changes: 0 additions & 93 deletions richtextfx/src/main/java/org/fxmisc/richtext/CssProperties.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package org.fxmisc.richtext;

import javafx.css.CssMetaData;
import javafx.css.Styleable;
import javafx.css.StyleableObjectProperty;

public class CustomStyleableProperty<T> extends StyleableObjectProperty<T> {

private final Object bean;
private final String name;
private final CssMetaData<? extends Styleable, T> cssMetaData;

public CustomStyleableProperty(T initialValue, String name, Object bean,
CssMetaData<? extends Styleable, T> cssMetaData) {
super(initialValue);
this.bean = bean;
this.name = name;
this.cssMetaData = cssMetaData;
}

@Override
public Object getBean() {
return bean;
}

@Override
public String getName() {
return name;
}

@Override
public CssMetaData<? extends Styleable, T> getCssMetaData() {
return cssMetaData;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,7 @@ private static int clamp(int min, int val, int max) {
: val;
}

private static final PseudoClass READ_ONLY = PseudoClass.getPseudoClass("read-only");
private static final PseudoClass HAS_CARET = PseudoClass.getPseudoClass("has-caret");
private static final PseudoClass FIRST_PAR = PseudoClass.getPseudoClass("first-paragraph");
private static final PseudoClass LAST_PAR = PseudoClass.getPseudoClass("last-paragraph");
Expand All @@ -279,23 +280,28 @@ private static int clamp(int min, int val, int max) {
* Background fill for highlighted text.
*/
private final StyleableObjectProperty<Paint> highlightFill
= new CssProperties.HighlightFillProperty(this, HIGHLIGHT_FILL);
= new CustomStyleableProperty<>(Color.DODGERBLUE, "highlightFill", this, HIGHLIGHT_FILL);

/**
* Text color for highlighted text.
*/
private final StyleableObjectProperty<Paint> highlightTextFill
= new CssProperties.HighlightTextFillProperty(this, HIGHLIGHT_TEXT_FILL);
= new CustomStyleableProperty<>(Color.WHITE, "highlightTextFill", this, HIGHLIGHT_TEXT_FILL);

/**
* Controls the blink rate of the caret, when one is displayed. Setting
* the duration to zero disables blinking.
*/
private final StyleableObjectProperty<javafx.util.Duration> caretBlinkRate
= new CssProperties.CaretBlinkRateProperty(this, CARET_BLINK_RATE);
= new CustomStyleableProperty<>(javafx.util.Duration.millis(500), "caretBlinkRate", this, CARET_BLINK_RATE);

// editable property
private final BooleanProperty editable = new CssProperties.EditableProperty<>(this);
private final BooleanProperty editable = new SimpleBooleanProperty(this, "editable", true) {
@Override
protected void invalidated() {
((Region) getBean()).pseudoClassStateChanged(READ_ONLY, !get());
}
};
@Override public final boolean isEditable() { return editable.get(); }
@Override public final void setEditable(boolean value) { editable.set(value); }
@Override public final BooleanProperty editableProperty() { return editable; }
Expand Down
106 changes: 20 additions & 86 deletions richtextfx/src/main/java/org/fxmisc/richtext/TextExt.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,92 +46,26 @@ public class TextExt extends Text {

CSS_META_DATA_LIST = Collections.unmodifiableList(styleables);
}

private final StyleableObjectProperty<Paint> backgroundColor = new StyleableObjectProperty<Paint>(null) {
@Override
public Object getBean() {
return TextExt.this;
}

@Override
public String getName() {
return "backgroundColor";
}

@Override
public CssMetaData<TextExt, Paint> getCssMetaData() {
return StyleableProperties.BACKGROUND_COLOR;
}
};

private final StyleableObjectProperty<Paint> underlineColor = new StyleableObjectProperty<Paint>(null) {
@Override
public Object getBean() {
return TextExt.this;
}

@Override
public String getName() {
return "underlineColor";
}

@Override
public CssMetaData<TextExt, Paint> getCssMetaData() {
return StyleableProperties.UNDERLINE_COLOR;
}
};

private final StyleableObjectProperty<Number> underlineWidth = new StyleableObjectProperty<Number>(null) {
@Override
public Object getBean() {
return TextExt.this;
}

@Override
public String getName() {
return "underlineWidth";
}

@Override
public CssMetaData<TextExt, Number> getCssMetaData() {
return StyleableProperties.UNDERLINE_WIDTH;
}
};

private final StyleableObjectProperty<Number[]> underlineDashArray = new StyleableObjectProperty<Number[]>(null) {
@Override
public Object getBean() {
return TextExt.this;
}

@Override
public String getName() {
return "underlineDashArray";
}

@Override
public CssMetaData<TextExt, Number[]> getCssMetaData() {
return StyleableProperties.UNDERLINE_DASH_ARRAY;
}
};


private final StyleableObjectProperty<StrokeLineCap> underlineCap = new StyleableObjectProperty<StrokeLineCap>(null) {
@Override
public Object getBean() {
return TextExt.this;
}

@Override
public String getName() {
return "underlineCap";
}

@Override
public CssMetaData<TextExt, StrokeLineCap> getCssMetaData() {
return StyleableProperties.UNDERLINE_CAP;
}
};

private final StyleableObjectProperty<Paint> backgroundColor = new CustomStyleableProperty<>(
null, "backgroundColor", this, StyleableProperties.BACKGROUND_COLOR
);

private final StyleableObjectProperty<Paint> underlineColor = new CustomStyleableProperty<>(
null, "underlineColor", this, StyleableProperties.UNDERLINE_COLOR
);

private final StyleableObjectProperty<Number> underlineWidth = new CustomStyleableProperty<>(
null, "underlineWidth", this, StyleableProperties.UNDERLINE_WIDTH
);

private final StyleableObjectProperty<Number[]> underlineDashArray = new CustomStyleableProperty<>(
null, "underlineDashArray", this, StyleableProperties.UNDERLINE_DASH_ARRAY
);

private final StyleableObjectProperty<StrokeLineCap> underlineCap = new CustomStyleableProperty<>(
null, "underlineCap", this, StyleableProperties.UNDERLINE_CAP
);

public TextExt(String text) {
super(text);
Expand Down

0 comments on commit 14776d2

Please sign in to comment.