diff --git a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryListCell.java b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryListCell.java new file mode 100644 index 0000000000000000000000000000000000000000..df713ee25c21fda1adaefdd9cd76c9519af6d121 --- /dev/null +++ b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryListCell.java @@ -0,0 +1,20 @@ +package de.hft.stuttgart.citydoctor2.gui.tree; + +import javafx.scene.control.ListCell; + +public class ZipEntryListCell extends ListCell<ZipEntryNode> { + + @Override + protected void updateItem(ZipEntryNode item, boolean empty) { + super.updateItem(item, empty); + if (!empty || item != null) { + setText(item.getText()); + } else { + setText(null); + } + } + + public void updateColor() { + setTextFill(getItem().getTextColor()); + } +} diff --git a/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryNode.java b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryNode.java new file mode 100644 index 0000000000000000000000000000000000000000..a260a62adb34c232e79c9cbace7b79eef88feac5 --- /dev/null +++ b/CityDoctorParent/Extensions/CityDoctorGUI/src/main/java/de/hft/stuttgart/citydoctor2/gui/tree/ZipEntryNode.java @@ -0,0 +1,32 @@ +package de.hft.stuttgart.citydoctor2.gui.tree; + +import de.hft.stuttgart.citydoctor2.zip.CityGmlZipEntry; +import javafx.scene.paint.Color; + +public class ZipEntryNode { + + private final CityGmlZipEntry entry; + + public ZipEntryNode(CityGmlZipEntry entry) { + this.entry = entry; + } + + public Color getTextColor() { + if (entry.getErrorType() != null) { + return Color.RED; + } else if (entry.isDecompressed()) { + return Color.GREEN; + } else { + return Color.BLACK; + } + } + + public String getText() { + return entry.getDisplayName(); + } + + public CityGmlZipEntry getEntry() { + return entry; + } + +}