mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-07-26 08:25:23 -04:00
spread view columns highlighted
This commit is contained in:
parent
96db67643d
commit
8c7e6b2a36
3 changed files with 17 additions and 8 deletions
|
@ -26,33 +26,37 @@ import javafx.scene.layout.HBox;
|
||||||
public class ColoredDecimalPlacesWithZerosText extends HBox {
|
public class ColoredDecimalPlacesWithZerosText extends HBox {
|
||||||
|
|
||||||
public ColoredDecimalPlacesWithZerosText(String number, int numberOfZerosToColorize) {
|
public ColoredDecimalPlacesWithZerosText(String number, int numberOfZerosToColorize) {
|
||||||
|
this(number, numberOfZerosToColorize, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ColoredDecimalPlacesWithZerosText(String number, int numberOfZerosToColorize, boolean highlight) {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
if (numberOfZerosToColorize <= 0) {
|
if (numberOfZerosToColorize <= 0) {
|
||||||
getChildren().addAll(new Label(number));
|
getChildren().addAll(new Label(number));
|
||||||
} else if (number.contains(FormattingUtils.RANGE_SEPARATOR)) {
|
} else if (number.contains(FormattingUtils.RANGE_SEPARATOR)) {
|
||||||
String[] splitNumber = number.split(FormattingUtils.RANGE_SEPARATOR);
|
String[] splitNumber = number.split(FormattingUtils.RANGE_SEPARATOR);
|
||||||
Tuple2<Label, Label> numbers = getSplittedNumberNodes(splitNumber[0], numberOfZerosToColorize);
|
Tuple2<Label, Label> numbers = getSplittedNumberNodes(splitNumber[0], numberOfZerosToColorize, highlight);
|
||||||
getChildren().addAll(numbers.first, numbers.second);
|
getChildren().addAll(numbers.first, numbers.second);
|
||||||
|
|
||||||
getChildren().add(new Label(FormattingUtils.RANGE_SEPARATOR));
|
getChildren().add(new Label(FormattingUtils.RANGE_SEPARATOR));
|
||||||
|
|
||||||
numbers = getSplittedNumberNodes(splitNumber[1], numberOfZerosToColorize);
|
numbers = getSplittedNumberNodes(splitNumber[1], numberOfZerosToColorize, highlight);
|
||||||
getChildren().addAll(numbers.first, numbers.second);
|
getChildren().addAll(numbers.first, numbers.second);
|
||||||
} else {
|
} else {
|
||||||
Tuple2<Label, Label> numbers = getSplittedNumberNodes(number, numberOfZerosToColorize);
|
Tuple2<Label, Label> numbers = getSplittedNumberNodes(number, numberOfZerosToColorize, highlight);
|
||||||
getChildren().addAll(numbers.first, numbers.second);
|
getChildren().addAll(numbers.first, numbers.second);
|
||||||
}
|
}
|
||||||
setAlignment(Pos.CENTER_LEFT);
|
setAlignment(Pos.CENTER_LEFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Tuple2<Label, Label> getSplittedNumberNodes(String number, int numberOfZeros) {
|
private Tuple2<Label, Label> getSplittedNumberNodes(String number, int numberOfZeros, boolean highlight) {
|
||||||
String placesBeforeZero = number.split("0{1," + Integer.toString(numberOfZeros) + "}$")[0];
|
String placesBeforeZero = number.split("0{1," + Integer.toString(numberOfZeros) + "}$")[0];
|
||||||
String zeroDecimalPlaces = number.substring(placesBeforeZero.length());
|
String zeroDecimalPlaces = number.substring(placesBeforeZero.length());
|
||||||
Label first = new AutoTooltipLabel(placesBeforeZero);
|
Label first = new AutoTooltipLabel(placesBeforeZero);
|
||||||
|
if (highlight) first.getStyleClass().add("highlight-text");
|
||||||
Label last = new Label(zeroDecimalPlaces);
|
Label last = new Label(zeroDecimalPlaces);
|
||||||
last.getStyleClass().add("zero-decimals");
|
last.getStyleClass().add("zero-decimals");
|
||||||
|
|
||||||
return new Tuple2<>(first, last);
|
return new Tuple2<>(first, last);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2542,3 +2542,8 @@ textfield */
|
||||||
-fx-border-width: 1;
|
-fx-border-width: 1;
|
||||||
-fx-border-color: -bs-color-border-form-field;
|
-fx-border-color: -bs-color-border-form-field;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.highlight-text {
|
||||||
|
-fx-text-fill: -fx-dark-text-color !important;
|
||||||
|
}
|
||||||
|
|
|
@ -261,7 +261,7 @@ public class SpreadView extends ActivatableViewAndModel<GridPane, SpreadViewMode
|
||||||
setMinWidth(140);
|
setMinWidth(140);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
column.getStyleClass().add("number-column");
|
column.getStyleClass().addAll("number-column", "highlight-text");
|
||||||
column.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
|
column.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
|
||||||
column.setCellFactory(
|
column.setCellFactory(
|
||||||
new Callback<>() {
|
new Callback<>() {
|
||||||
|
@ -273,7 +273,7 @@ public class SpreadView extends ActivatableViewAndModel<GridPane, SpreadViewMode
|
||||||
public void updateItem(final SpreadItem item, boolean empty) {
|
public void updateItem(final SpreadItem item, boolean empty) {
|
||||||
super.updateItem(item, empty);
|
super.updateItem(item, empty);
|
||||||
if (item != null && !empty)
|
if (item != null && !empty)
|
||||||
setGraphic(new ColoredDecimalPlacesWithZerosText(model.getAmount(item.totalAmount), GUIUtil.AMOUNT_DECIMALS_WITH_ZEROS));
|
setGraphic(new ColoredDecimalPlacesWithZerosText(model.getAmount(item.totalAmount), GUIUtil.AMOUNT_DECIMALS_WITH_ZEROS, true));
|
||||||
else {
|
else {
|
||||||
setText("");
|
setText("");
|
||||||
setGraphic(null);
|
setGraphic(null);
|
||||||
|
@ -291,7 +291,7 @@ public class SpreadView extends ActivatableViewAndModel<GridPane, SpreadViewMode
|
||||||
setMinWidth(110);
|
setMinWidth(110);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
column.getStyleClass().addAll("number-column");
|
column.getStyleClass().addAll("number-column", "highlight-text");
|
||||||
column.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
|
column.setCellValueFactory((item) -> new ReadOnlyObjectWrapper<>(item.getValue()));
|
||||||
column.setCellFactory(
|
column.setCellFactory(
|
||||||
new Callback<>() {
|
new Callback<>() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue