use of javafx.scene.Node in project JFoenix by jfoenixadmin.
the class JFXTextFieldSkin method showError.
private void showError(ValidatorBase validator) {
// set text in error label
errorLabel.setText(validator.getMessage());
// show error icon
Node awsomeIcon = validator.getIcon();
errorIcon.getChildren().clear();
if (awsomeIcon != null) {
errorIcon.getChildren().add(awsomeIcon);
StackPane.setAlignment(awsomeIcon, Pos.TOP_RIGHT);
}
// init only once, to fix the text pane from resizing
if (initYLayout == -1) {
textPane.setMaxHeight(textPane.getHeight());
initYLayout = textPane.getBoundsInParent().getMinY();
initHeight = getSkinnable().getHeight();
currentFieldHeight = initHeight;
}
errorContainer.setVisible(true);
errorShown = true;
}
use of javafx.scene.Node in project JFoenix by jfoenixadmin.
the class GenericEditableTreeTableCell method updateItem.
@Override
public void updateItem(T item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setText(null);
setGraphic(null);
} else {
if (isEditing() && checkGroupedColumn()) {
if (editorNode != null) {
builder.setValue(getValue());
}
setGraphic(editorNode);
setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
builder.updateItem(item, empty);
} else {
Object value = getValue();
if (value instanceof Node) {
setGraphic((Node) value);
setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
} else {
setText(value.toString());
setContentDisplay(ContentDisplay.TEXT_ONLY);
}
}
}
}
use of javafx.scene.Node in project PayFile by mikehearn.
the class Controller method animateSwap.
/** Swap the download/disconnect buttons for a progress bar + cancel button */
public void animateSwap() {
Node n1 = controlsBoxOnScreen ? controlsBox : syncBox;
Node n2 = controlsBoxOnScreen ? syncBox : controlsBox;
TranslateTransition leave = new TranslateTransition(Duration.millis(600), n1);
leave.setByY(80.0);
TranslateTransition arrive = new TranslateTransition(Duration.millis(600), n2);
arrive.setToY(0.0);
SequentialTransition both = new SequentialTransition(leave, arrive);
both.setCycleCount(1);
both.setInterpolator(Interpolator.EASE_BOTH);
both.play();
controlsBoxOnScreen = !controlsBoxOnScreen;
}
use of javafx.scene.Node in project Retrospector by NonlinearFruit.
the class AchievementTabController method update.
public void update() {
achievementPane.getChildren().clear();
header.getChildren().clear();
List<Node> list = new ArrayList<>();
// Header Vars
int first = 0;
int second = 0;
int third = 0;
int locked = 0;
// Achievement Pane
for (Achievement achievement : AchievementFactory.getAchievements()) {
list.add(new AchievementManager(achievement).getDisplay());
if (!achievement.isUnlocked()) {
locked++;
continue;
}
switch(achievement.getTier()) {
case 3:
third++;
break;
case 2:
second++;
break;
case 1:
first++;
break;
default:
locked++;
}
}
// Achievement Display
achievementPane.getChildren().addAll(list);
// Header Display
header.getChildren().add(new Text(first + " "));
header.getChildren().add(AchievementManager.trophyize(headerImage, 1, headerSize));
header.getChildren().add(new Text("\t" + second + " "));
header.getChildren().add(AchievementManager.trophyize(headerImage, 2, headerSize));
header.getChildren().add(new Text("\t" + third + " "));
header.getChildren().add(AchievementManager.trophyize(headerImage, 3, headerSize));
header.getChildren().add(new Text("\t" + locked + " "));
header.getChildren().add(AchievementManager.trophyize(AchievementManager.lockedImage, 0, headerSize));
}
use of javafx.scene.Node in project Retrospector by NonlinearFruit.
the class StatsTabController method updateOverall.
private void updateOverall() {
// Constants
int last__days = DataManager.getPastDays();
// Graph Title
chartReviewsPerDay.setTitle("Past " + last__days + " Days");
// Data Mining - Vars
Map<String, Integer> categories = new HashMap<>();
Map<LocalDate, Map<String, Integer>> last30Days = new HashMap<>();
InfoBlipAccumulator info = new InfoBlipAccumulator();
// Data Mining - Calcs
for (Media m : allMedia) {
boolean used = false;
for (Review r : m.getReviews()) {
if (strooleans.stream().anyMatch(x -> x.getString().equalsIgnoreCase(r.getUser()) && x.isBoolean())) {
if (ChronoUnit.DAYS.between(r.getDate(), LocalDate.now()) <= last__days) {
Map<String, Integer> cat2Num = last30Days.getOrDefault(r.getDate(), new HashMap<>());
Integer num = cat2Num.getOrDefault(m.getCategory(), 0);
cat2Num.put(m.getCategory(), num + 1);
last30Days.put(r.getDate(), cat2Num);
}
info.accumulate(r);
used = true;
}
}
if (used) {
categories.put(m.getCategory(), categories.getOrDefault(m.getCategory(), 0) + 1);
info.accumulate(m);
for (Factoid f : m.getFactoids()) {
info.accumulate(f);
}
// media++;
}
}
if (overallContainer.getChildren().size() > 3)
overallContainer.getChildren().remove(2);
overallContainer.getChildren().add(2, info.getInfo());
// Chart # Media / Category
chartMediaPerCategory.setData(FXCollections.observableArrayList(Arrays.asList(DataManager.getCategories()).stream().map(c -> {
int count = categories.getOrDefault(c, 0);
PieChart.Data data = new PieChart.Data(c + " - " + count, count);
return data;
}).collect(Collectors.toList())));
for (PieChart.Data data : chartMediaPerCategory.getData()) {
String category = data.getName().substring(0, data.getName().indexOf(" - "));
int i = Arrays.asList(DataManager.getCategories()).indexOf(category);
data.getNode().setStyle("-fx-pie-color: " + colors[(i > 0 ? i : 0) % colors.length] + ";");
}
for (Node node : chartMediaPerCategory.lookupAll("Label.chart-legend-item")) {
Shape symbol = new Circle(5);
Label label = (Label) node;
String category = label.getText().substring(0, label.getText().indexOf(" - "));
int i = Arrays.asList(DataManager.getCategories()).indexOf(category);
symbol.setStyle("-fx-fill: " + colors[(i > 0 ? i : 0) % colors.length]);
label.setGraphic(symbol);
}
// Chart # Reviews / Day
ObservableList<XYChart.Series<String, Number>> list = FXCollections.observableArrayList();
LocalDate now = LocalDate.now();
for (String category : DataManager.getCategories()) {
XYChart.Series data = new XYChart.Series();
data.setName(category);
for (int i = last__days; i > -1; i--) {
LocalDate target = now.minusDays(i);
int count = last30Days.getOrDefault(target, new HashMap<>()).getOrDefault(category, 0);
String key = target.getDayOfMonth() + "";
data.getData().add(new XYChart.Data(key, count));
}
list.add(data);
}
chartReviewsPerDay.setData(list);
for (Node node : chartReviewsPerDay.lookupAll("Label.chart-legend-item")) {
Shape symbol = new Rectangle(7, 7);
Label label = (Label) node;
String category = label.getText();
int i = Arrays.asList(DataManager.getCategories()).indexOf(category);
symbol.setStyle("-fx-fill: " + colors[(i > 0 ? i : 0) % colors.length]);
label.setGraphic(symbol);
}
for (XYChart.Series<String, Number> serie : chartReviewsPerDay.getData()) {
String category = serie.getName();
int i = Arrays.asList(DataManager.getCategories()).indexOf(category);
for (XYChart.Data<String, Number> data : serie.getData()) {
data.getNode().setStyle("-fx-background-color: " + colors[(i > 0 ? i : 0) % colors.length] + ";");
}
}
}
Aggregations