diff --git a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/CharityPageController.java b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/CharityPageController.java index bf51b00..b52a0cb 100644 --- a/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/CharityPageController.java +++ b/helpmehelpapplication/src/main/java/ntnu/systemutvikling/team6/controller/CharityPageController.java @@ -1,6 +1,8 @@ package ntnu.systemutvikling.team6.controller; import java.io.ByteArrayInputStream; +import java.util.ArrayList; +import java.util.List; import java.util.Objects; import javafx.event.ActionEvent; import javafx.fxml.FXML; @@ -9,6 +11,7 @@ import javafx.scene.control.TextField; import javafx.scene.image.Image; import javafx.scene.image.ImageView; +import javafx.scene.shape.Arc; import ntnu.systemutvikling.team6.controller.components.LoaderScene; import ntnu.systemutvikling.team6.models.Charity; @@ -27,6 +30,18 @@ public class CharityPageController { @FXML private Hyperlink CharityURL; + @FXML private Arc keyValueInnsamlingArc; + + @FXML private Label keyValueInnsamlingLabel; + + @FXML private Arc keyValueAdminArc; + + @FXML private Label keyValueAdminLabel; + + @FXML private Arc keyValueFormaalArc; + + @FXML private Label keyValueFormaalLabel; + @FXML public void initialize() {} @@ -60,6 +75,25 @@ public void setCharity(Charity charity) { Image placeholderImage = new Image(placeholderImagePath); this.CharityLogo.setImage(placeholderImage); } + + // Sets key values to a List + String input = charity.getKeyValues(); + + String[] parts = input.split(":"); + List numbers = new ArrayList<>(); + + for (String part : parts) { + part = part.replace(",", "."); + numbers.add(Double.parseDouble(part)); + } + + // Sets the value of each arc and label + setArc(keyValueInnsamlingArc, numbers.getFirst()); + keyValueInnsamlingLabel.setText(String.format("%.1f%%", numbers.getFirst())); + setArc(keyValueAdminArc, numbers.get(1)); + keyValueAdminLabel.setText(String.format("%.1f%%", numbers.get(1))); + setArc(keyValueFormaalArc, numbers.getLast()); + keyValueFormaalLabel.setText(String.format("%.1f%%", numbers.getLast())); } /** @@ -105,4 +139,9 @@ public void handleHomepageClick(ActionEvent event) { e.printStackTrace(); } } + + private void setArc(Arc arc, double percent) { + double angle = -360 * (percent / 100.0); + arc.setLength(angle); + } }