use of javafx.scene.layout.BorderWidths in project tilesfx by HanSolo.
the class SunburstChart method redraw.
public void redraw() {
pane.setBackground(new Background(new BackgroundFill(backgroundPaint, CornerRadii.EMPTY, Insets.EMPTY)));
pane.setBorder(new Border(new BorderStroke(borderPaint, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, new BorderWidths(borderWidth / PREFERRED_WIDTH * size))));
segmentPane.setBackground(new Background(new BackgroundFill(getBackgroundColor(), CornerRadii.EMPTY, Insets.EMPTY)));
segmentPane.setManaged(isInteractive());
segmentPane.setVisible(isInteractive());
drawChart();
}
use of javafx.scene.layout.BorderWidths in project tilesfx by HanSolo.
the class PlusMinusTileSkin method increment.
private void increment() {
plusLabel.setTextFill(tile.getActiveColor());
plusLabel.setBorder(new Border(new BorderStroke(tile.getActiveColor(), BorderStrokeStyle.SOLID, new CornerRadii(1024), new BorderWidths(size * 0.01))));
double newValue = clamp(minValue, maxValue, tile.getValue() + tile.getIncrement());
tile.setValue(newValue);
}
use of javafx.scene.layout.BorderWidths in project tilesfx by HanSolo.
the class PlusMinusTileSkin method initGraphics.
// ******************** Initialization ************************************
@Override
protected void initGraphics() {
super.initGraphics();
mouseEventHandler = e -> {
final EventType TYPE = e.getEventType();
final Label SRC = (Label) e.getSource();
if (MouseEvent.MOUSE_PRESSED == TYPE) {
if (SRC.equals(minusLabel)) {
decrement();
} else if (SRC.equals(plusLabel)) {
increment();
}
} else if (MouseEvent.MOUSE_RELEASED == TYPE) {
if (SRC.equals(minusLabel)) {
minusLabel.setTextFill(tile.getForegroundColor());
minusLabel.setBorder(new Border(new BorderStroke(tile.getForegroundColor(), BorderStrokeStyle.SOLID, new CornerRadii(1024), new BorderWidths(size * 0.01))));
} else if (SRC.equals(plusLabel)) {
plusLabel.setTextFill(tile.getForegroundColor());
plusLabel.setBorder(new Border(new BorderStroke(tile.getForegroundColor(), BorderStrokeStyle.SOLID, new CornerRadii(1024), new BorderWidths(size * 0.01))));
}
}
};
titleText = new Text();
titleText.setFill(tile.getTitleColor());
Helper.enableNode(titleText, !tile.getTitle().isEmpty());
text = new Text(tile.getText());
text.setFill(tile.getUnitColor());
Helper.enableNode(text, tile.isTextVisible());
valueText = new Text(String.format(locale, formatString, ((tile.getValue() - minValue) / range * 100)));
valueText.setFill(tile.getValueColor());
Helper.enableNode(valueText, tile.isValueVisible());
upperUnitText = new Text("");
upperUnitText.setFill(tile.getUnitColor());
Helper.enableNode(upperUnitText, !tile.getUnit().isEmpty());
fractionLine = new Line();
unitText = new Text(tile.getUnit());
unitText.setFill(tile.getUnitColor());
Helper.enableNode(unitText, !tile.getUnit().isEmpty());
unitFlow = new VBox(upperUnitText, unitText);
unitFlow.setAlignment(Pos.CENTER_RIGHT);
valueUnitFlow = new HBox(valueText, unitFlow);
valueUnitFlow.setAlignment(Pos.BOTTOM_RIGHT);
valueUnitFlow.setMouseTransparent(true);
description = new Label(tile.getDescription());
description.setAlignment(tile.getDescriptionAlignment());
description.setWrapText(true);
description.setTextFill(tile.getTextColor());
Helper.enableNode(description, !tile.getDescription().isEmpty());
plusLabel = new Label("+");
plusLabel.setAlignment(Pos.CENTER);
plusLabel.setEffect(shadow);
plusLabel.setPickOnBounds(false);
minusLabel = new Label("-");
minusLabel.setAlignment(Pos.CENTER);
minusLabel.setEffect(shadow);
minusLabel.setPickOnBounds(false);
getPane().getChildren().addAll(titleText, text, valueUnitFlow, fractionLine, description, minusLabel, plusLabel);
}
use of javafx.scene.layout.BorderWidths in project tilesfx by HanSolo.
the class TileSkin method initGraphics.
// ******************** Initialization ************************************
protected void initGraphics() {
// Set initial size
if (Double.compare(tile.getPrefWidth(), 0.0) <= 0 || Double.compare(tile.getPrefHeight(), 0.0) <= 0 || Double.compare(tile.getWidth(), 0.0) <= 0 || Double.compare(tile.getHeight(), 0.0) <= 0) {
if (tile.getPrefWidth() > 0 && tile.getPrefHeight() > 0) {
tile.setPrefSize(tile.getPrefWidth(), tile.getPrefHeight());
} else {
tile.setPrefSize(PREFERRED_WIDTH, PREFERRED_HEIGHT);
}
}
shadow = new DropShadow(BlurType.TWO_PASS_BOX, Color.rgb(0, 0, 0, 0.65), 3, 0, 0, 0);
backgroundImageView = new ImageView();
backgroundImageView.setPreserveRatio(true);
backgroundImageView.setMouseTransparent(true);
if (null == tile.getBackgroundImage()) {
enableNode(backgroundImageView, false);
} else {
backgroundImageView.setImage(tile.getBackgroundImage());
enableNode(backgroundImageView, true);
}
notifyRegion = new NotifyRegion();
enableNode(notifyRegion, false);
infoRegion = new InfoRegion();
infoRegion.setPickOnBounds(false);
enableNode(infoRegion, false);
lowerRightRegion = new LowerRightRegion();
enableNode(lowerRightRegion, false);
pane = new Pane(backgroundImageView, notifyRegion, infoRegion, lowerRightRegion);
pane.getStyleClass().add("tile");
pane.setBorder(new Border(new BorderStroke(tile.getBorderColor(), BorderStrokeStyle.SOLID, new CornerRadii(PREFERRED_WIDTH * 0.025), new BorderWidths(tile.getBorderWidth()))));
pane.setBackground(new Background(new BackgroundFill(tile.getBackgroundColor(), new CornerRadii(PREFERRED_WIDTH * 0.025), Insets.EMPTY)));
getChildren().setAll(pane);
}
use of javafx.scene.layout.BorderWidths in project tilesfx by HanSolo.
the class TileSkin method redraw.
protected void redraw() {
boolean hasRoundedCorners = tile.getRoundedCorners();
pane.setBorder(new Border(new BorderStroke(tile.getBorderColor(), BorderStrokeStyle.SOLID, hasRoundedCorners ? new CornerRadii(clamp(0, Double.MAX_VALUE, size * 0.025)) : CornerRadii.EMPTY, new BorderWidths(clamp(0, Double.MAX_VALUE, tile.getBorderWidth() / PREFERRED_WIDTH * size)))));
pane.setBackground(new Background(new BackgroundFill(tile.getBackgroundColor(), hasRoundedCorners ? new CornerRadii(clamp(0, Double.MAX_VALUE, size * 0.025)) : CornerRadii.EMPTY, Insets.EMPTY)));
backgroundImageView.setOpacity(tile.getBackgroundImageOpacity());
notifyRegion.setRoundedCorner(hasRoundedCorners);
notifyRegion.setBackgroundColor(tile.getNotifyRegionBackgroundColor());
notifyRegion.setForegroundColor(tile.getNotifyRegionForegroundColor());
notifyRegion.setTooltipText(tile.getNotifyRegionTooltipText());
infoRegion.setRoundedCorner(hasRoundedCorners);
infoRegion.setBackgroundColor(tile.getInfoRegionBackgroundColor());
infoRegion.setForegroundColor(tile.getInfoRegionForegroundColor());
infoRegion.setTooltipText(tile.getInfoRegionTooltipText());
lowerRightRegion.setRoundedCorner(hasRoundedCorners);
lowerRightRegion.setBackgroundColor(tile.getLowerRightRegionBackgroundColor());
lowerRightRegion.setForegroundColor(tile.getLowerRightRegionForegroundColor());
lowerRightRegion.setTooltipText(tile.getLowerRightRegionTooltipText());
locale = tile.getLocale();
if (tile.getCustomDecimalFormatEnabled()) {
decimalFormat = tile.getCustomDecimalFormat();
} else {
formatString = new StringBuilder("%.").append(tile.getDecimals()).append("f").toString();
}
tickLabelFormatString = new StringBuilder("%.").append(tile.getTickLabelDecimals()).append("f").toString();
sectionsVisible = tile.getSectionsVisible();
textSize = tile.getTextSize();
}
Aggregations