@SuppressWarnings("JavadocMethod")
  public ProjectSettingsEditor(
      Parent root, ProjectSettings projectSettings, AppSettings appSettings) {
    super();

    VBox content =
        new VBox(
            new CustomPropertySheet(BeanPropertyUtils.getProperties(projectSettings)),
            new Separator(),
            new CustomPropertySheet(BeanPropertyUtils.getProperties(appSettings)));
    content.setSpacing(5.0);

    DialogPane pane = getDialogPane();
    pane.getButtonTypes().setAll(ButtonType.OK, ButtonType.CANCEL);
    pane.setContent(content);
    pane.styleProperty().bind(root.styleProperty());
    pane.getStylesheets().addAll(root.getStylesheets());
    pane.setPrefSize(DPIUtility.SETTINGS_DIALOG_SIZE, DPIUtility.SETTINGS_DIALOG_SIZE);

    ImageView graphic =
        new ImageView(new Image(getClass().getResourceAsStream("icons/settings.png")));
    graphic.setFitWidth(DPIUtility.SMALL_ICON_SIZE);
    graphic.setFitHeight(DPIUtility.SMALL_ICON_SIZE);

    setTitle("Settings");
    setHeaderText("Settings");
    setGraphic(graphic);
    setResizable(true);
  }