javafx.scene.control.DialogPane Java Examples

The following examples show how to use javafx.scene.control.DialogPane. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: LoginUIController.java    From RentLio with Apache License 2.0 8 votes vote down vote up
@FXML
private void adminLoginAction(){
    String userName = txtAdminUserName.getText();
    String password = txtAdminPassword.getText();

    if (!userName.isEmpty() && !password.isEmpty()){
        for (AdminDTO adminDTO: adminDTOList
             ) {
            if (adminDTO.getAdminName().equals(userName) && adminDTO.getPassword().equals(password)){
                loadDashBoardUI();
            }else {
                Alert adminLoginFailedAlert = new Alert(Alert.AlertType.ERROR);
                DialogPane dialogPane = adminLoginFailedAlert.getDialogPane();
                dialogPane
                        .getStylesheets().add(getClass()
                        .getResource("/css/dialog-pane-styles.css")
                                .toExternalForm());
                dialogPane.getStyleClass().add("myDialog");
                adminLoginFailedAlert.setTitle("Admin Login");
                adminLoginFailedAlert.setHeaderText("Admin Login failed");
                adminLoginFailedAlert.setContentText("Please check your user name or password again.");
                adminLoginFailedAlert.showAndWait();
            }
        }
    }
}
 
Example #2
Source File: AlertHelper.java    From AsciidocFX with Apache License 2.0 7 votes vote down vote up
public static void showDuplicateWarning(List<String> duplicatePaths, Path lib) {
    Alert alert = new WindowModalAlert(Alert.AlertType.WARNING);

    DialogPane dialogPane = alert.getDialogPane();

    ListView listView = new ListView();
    listView.getStyleClass().clear();
    ObservableList items = listView.getItems();
    items.addAll(duplicatePaths);
    listView.setEditable(false);

    dialogPane.setContent(listView);

    alert.setTitle("Duplicate JARs found");
    alert.setHeaderText(String.format("Duplicate JARs found, it may cause unexpected behaviours.\n\n" +
            "Please remove the older versions from these pair(s) manually. \n" +
            "JAR files are located at %s directory.", lib));
    alert.getButtonTypes().clear();
    alert.getButtonTypes().addAll(ButtonType.OK);
    alert.showAndWait();
}
 
Example #3
Source File: GUIController.java    From dctb-utfpr-2018-1 with Apache License 2.0 5 votes vote down vote up
public void showAboutInformationAlert() {
    Alert aboutInfo = new Alert(Alert.AlertType.INFORMATION);
    
    aboutInfo.setTitle("Sobre o Software");
    aboutInfo.setHeaderText("Sistema de Gerênciamento para Lojas de Informática.");
    aboutInfo.setContentText("Software desenvolvido como trabalho prático para a \ndiscíplina de Programação Desktop.\n");
    
    DialogPane diagPanel = aboutInfo.getDialogPane();
    diagPanel.getStylesheets().add(getClass().getResource("css/alert.css").toExternalForm());
    aboutInfo.showAndWait();
}
 
Example #4
Source File: CRSChooser.java    From sis with Apache License 2.0 5 votes vote down vote up
/**
 * Show a modal dialog to select a {@link CoordinateReferenceSystem}.
 *
 * @param parent parent frame of widget.
 * @param crs {@link CoordinateReferenceSystem} to edit.
 * @return modified {@link CoordinateReferenceSystem}.
 */
public static CoordinateReferenceSystem showDialog(Object parent, CoordinateReferenceSystem crs) {
    final CRSChooser chooser = new CRSChooser();
    chooser.crsProperty.set(crs);
    final Alert alert = new Alert(Alert.AlertType.NONE);
    final DialogPane pane = alert.getDialogPane();
    pane.setContent(chooser);
    alert.getButtonTypes().setAll(ButtonType.OK,ButtonType.CANCEL);
    alert.setResizable(true);
    final ButtonType res = alert.showAndWait().orElse(ButtonType.CANCEL);
    return res == ButtonType.CANCEL ? null : chooser.crsProperty.get();
}
 
Example #5
Source File: WKTPane.java    From sis with Apache License 2.0 5 votes vote down vote up
public static void showDialog(Object parent, FormattableObject candidate){
    final WKTPane chooser = new WKTPane(candidate);

    final Alert alert = new Alert(Alert.AlertType.NONE);
    final DialogPane pane = alert.getDialogPane();
    pane.setContent(chooser);
    alert.getButtonTypes().setAll(ButtonType.OK);
    alert.setResizable(true);
    alert.showAndWait();
}
 
Example #6
Source File: DefenderDialog.java    From AsciidocFX with Apache License 2.0 5 votes vote down vote up
default void setDefaultIcon(DialogPane dialog) {
    Stage stage = (Stage) dialog.getScene().getWindow();
    try (InputStream logoStream = DefenderDialog.class.getResourceAsStream("/logo.png")) {
        stage.getIcons().add(new Image(logoStream));
    } catch (IOException e) {
        logger.error("logo.png is not found", e);
    }
}
 
Example #7
Source File: AlertHelper.java    From AsciidocFX with Apache License 2.0 5 votes vote down vote up
public static Optional<String> showOldConfiguration(List<String> paths) {
    Alert alert = new WindowModalAlert(AlertType.INFORMATION);

    DialogPane dialogPane = alert.getDialogPane();

    ListView listView = new ListView();
    listView.getStyleClass().clear();
    ObservableList items = listView.getItems();
    items.addAll(paths);
    listView.setEditable(false);

    dialogPane.setContent(listView);

    alert.setTitle("Load previous configuration?");
    alert.setHeaderText(String.format("You have configuration files from previous AsciidocFX versions\n\n" +
            "Select the configuration which you want to load configuration \n" +
            "or continue with fresh configuration"));
    alert.getButtonTypes().clear();
    alert.getButtonTypes().addAll(ButtonType.APPLY);
    alert.getButtonTypes().addAll(ButtonType.CANCEL);
    ButtonType buttonType = alert.showAndWait().orElse(ButtonType.CANCEL);

    Object selectedItem = listView.getSelectionModel().getSelectedItem();
    return (buttonType == ButtonType.APPLY) ?
            Optional.ofNullable((String) selectedItem) :
            Optional.empty();
}
 
Example #8
Source File: ImageDialog.java    From markdown-writer-fx with BSD 2-Clause "Simplified" License 5 votes vote down vote up
public ImageDialog(Window owner, Path basePath) {
	setTitle(Messages.get("ImageDialog.title"));
	initOwner(owner);
	setResizable(true);

	initComponents();

	linkBrowseFileButton.setBasePath(basePath);
	linkBrowseFileButton.addExtensionFilter(new ExtensionFilter(Messages.get("ImageDialog.chooser.imagesFilter"), "*.png", "*.gif", "*.jpg", "*.svg"));
	linkBrowseFileButton.urlProperty().bindBidirectional(urlField.escapedTextProperty());

	DialogPane dialogPane = getDialogPane();
	dialogPane.setContent(pane);
	dialogPane.getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);

	dialogPane.lookupButton(ButtonType.OK).disableProperty().bind(
			urlField.escapedTextProperty().isEmpty()
				.or(textField.escapedTextProperty().isEmpty()));

	Utils.fixSpaceAfterDeadKey(dialogPane.getScene());

	image.bind(Bindings.when(titleField.escapedTextProperty().isNotEmpty())
			.then(Bindings.format("![%s](%s \"%s\")", textField.escapedTextProperty(), urlField.escapedTextProperty(), titleField.escapedTextProperty()))
			.otherwise(Bindings.format("![%s](%s)", textField.escapedTextProperty(), urlField.escapedTextProperty())));
	previewField.textProperty().bind(image);

	setResultConverter(dialogButton -> {
		return (dialogButton == ButtonType.OK) ? image.get() : null;
	});

	Platform.runLater(() -> {
		urlField.requestFocus();

		if (urlField.getText().startsWith("http://"))
			urlField.selectRange("http://".length(), urlField.getLength());
	});
}
 
Example #9
Source File: LinkDialog.java    From markdown-writer-fx with BSD 2-Clause "Simplified" License 5 votes vote down vote up
public LinkDialog(Window owner, Path basePath) {
	setTitle(Messages.get("LinkDialog.title"));
	initOwner(owner);
	setResizable(true);

	initComponents();

	linkBrowseDirectoyButton.setBasePath(basePath);
	linkBrowseDirectoyButton.urlProperty().bindBidirectional(urlField.escapedTextProperty());

	linkBrowseFileButton.setBasePath(basePath);
	linkBrowseFileButton.urlProperty().bindBidirectional(urlField.escapedTextProperty());

	DialogPane dialogPane = getDialogPane();
	dialogPane.setContent(pane);
	dialogPane.getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);

	dialogPane.lookupButton(ButtonType.OK).disableProperty().bind(
			urlField.escapedTextProperty().isEmpty());

	Utils.fixSpaceAfterDeadKey(dialogPane.getScene());

	link.bind(Bindings.when(titleField.escapedTextProperty().isNotEmpty())
			.then(Bindings.format("[%s](%s \"%s\")", textField.escapedTextProperty(), urlField.escapedTextProperty(), titleField.escapedTextProperty()))
			.otherwise(Bindings.when(textField.escapedTextProperty().isNotEmpty())
					.then(Bindings.format("[%s](%s)", textField.escapedTextProperty(), urlField.escapedTextProperty()))
					.otherwise(Bindings.format("<%s>", urlField.escapedTextProperty()))));
	previewField.textProperty().bind(link);

	setResultConverter(dialogButton -> {
		return (dialogButton == ButtonType.OK) ? link.get() : null;
	});

	Platform.runLater(() -> {
		urlField.requestFocus();

		if (urlField.getText().startsWith("http://"))
			urlField.selectRange("http://".length(), urlField.getLength());
	});
}
 
Example #10
Source File: ErrorDialogue.java    From VocabHunter with Apache License 2.0 5 votes vote down vote up
public ErrorDialogue(final I18nManager i18nManager, final I18nKey titleKey, final Throwable e, final String... messages) {
    alert = new Alert(AlertType.ERROR);
    alert.setTitle(i18nManager.text(titleKey));
    alert.setHeaderText(headerText(messages));

    TextArea textArea = new TextArea(exceptionText(e));
    VBox expContent = new VBox();
    DialogPane dialoguePane = alert.getDialogPane();

    expContent.getChildren().setAll(new Label(i18nManager.text(ERROR_DETAILS)), textArea);
    dialoguePane.setExpandableContent(expContent);
    dialoguePane.expandedProperty().addListener(p -> Platform.runLater(this::resizeAlert));
    dialoguePane.setId("errorDialogue");
}
 
Example #11
Source File: AlertMaker.java    From Library-Assistant with Apache License 2.0 5 votes vote down vote up
private static void styleAlert(Alert alert) {
    Stage stage = (Stage) alert.getDialogPane().getScene().getWindow();
    LibraryAssistantUtil.setStageIcon(stage);

    DialogPane dialogPane = alert.getDialogPane();
    dialogPane.getStylesheets().add(AlertMaker.class.getResource("/resources/dark-theme.css").toExternalForm());
    dialogPane.getStyleClass().add("custom-alert");
}
 
Example #12
Source File: PasswordDialog.java    From phoebus with Eclipse Public License 1.0 5 votes vote down vote up
/** @param title Title, message
 *  @param correct_password Password to check
 */
public PasswordDialog(final String title, final String correct_password)
{
    this.correct_password = correct_password;
    final DialogPane pane = getDialogPane();

    pass_entry.setPromptText(Messages.Password_Prompt);
    pass_entry.setMaxWidth(Double.MAX_VALUE);

    HBox.setHgrow(pass_entry, Priority.ALWAYS);

    pane.setContent(new HBox(6, pass_caption, pass_entry));

    pane.setMinSize(300, 150);
    setResizable(true);

    setTitle(Messages.Password);
    setHeaderText(title);
    pane.getStyleClass().add("text-input-dialog");
    pane.getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);

    // Check password in dialog?
    if (correct_password != null  &&  correct_password.length() > 0)
    {
        final Button okButton = (Button) pane.lookupButton(ButtonType.OK);
        okButton.addEventFilter(ActionEvent.ACTION, event ->
        {
            if (! checkPassword())
                event.consume();
        });
    }

    setResultConverter((button) ->
    {
        return button.getButtonData() == ButtonData.OK_DONE ? pass_entry.getText() : null;
    });

    Platform.runLater(() -> pass_entry.requestFocus());
}
 
Example #13
Source File: GUIController.java    From dctb-utfpr-2018-1 with Apache License 2.0 5 votes vote down vote up
public void showInformationEraseAlert() {
    Alert aboutInfo = new Alert(Alert.AlertType.CONFIRMATION);
    
    aboutInfo.setTitle("Operação de remoção");
    aboutInfo.setHeaderText("Remoção bem sucedida!");
    aboutInfo.setContentText("Operação de remoção concluída!");
    
    DialogPane diagPanel = aboutInfo.getDialogPane();
    diagPanel.getStylesheets().add(getClass().getResource("css/alert.css").toExternalForm());
    aboutInfo.showAndWait();
}
 
Example #14
Source File: GUIController.java    From dctb-utfpr-2018-1 with Apache License 2.0 5 votes vote down vote up
public void showAboutInformationAlert() {
    Alert aboutInfo = new Alert(Alert.AlertType.INFORMATION);
    
    aboutInfo.setTitle("Sobre o Software");
    aboutInfo.setHeaderText("Sistema de Gerênciamento para Lojas de Informática.");
    aboutInfo.setContentText("Software desenvolvido como trabalho prático para a \ndiscíplina de Programação Desktop.\n");
    
    DialogPane diagPanel = aboutInfo.getDialogPane();
    diagPanel.getStylesheets().add(getClass().getResource("css/alert.css").toExternalForm());
    aboutInfo.showAndWait();
}
 
Example #15
Source File: GUIController.java    From dctb-utfpr-2018-1 with Apache License 2.0 5 votes vote down vote up
public void showAboutInformationAlert() {
    Alert aboutInfo = new Alert(Alert.AlertType.INFORMATION);
    
    aboutInfo.setTitle("Sobre o Software");
    aboutInfo.setHeaderText("Sistema de Gerênciamento para Lojas de Informática.");
    aboutInfo.setContentText("Software desenvolvido como trabalho prático para a \ndiscíplina de Programação Desktop.\n");
    
    DialogPane diagPanel = aboutInfo.getDialogPane();
    diagPanel.getStylesheets().add(getClass().getResource("css/alert.css").toExternalForm());
    aboutInfo.showAndWait();
}
 
Example #16
Source File: GUIController.java    From dctb-utfpr-2018-1 with Apache License 2.0 5 votes vote down vote up
public void showInformationEraseAlert() {
    Alert aboutInfo = new Alert(Alert.AlertType.CONFIRMATION);
    
    aboutInfo.setTitle("Operação de remoção");
    aboutInfo.setHeaderText("Remoção bem sucedida!");
    aboutInfo.setContentText("Operação de remoção concluída!");
    
    DialogPane diagPanel = aboutInfo.getDialogPane();
    diagPanel.getStylesheets().add(getClass().getResource("css/alert.css").toExternalForm());
    aboutInfo.showAndWait();
}
 
Example #17
Source File: GUIController.java    From dctb-utfpr-2018-1 with Apache License 2.0 5 votes vote down vote up
public void showInformationEraseAlert() {
    Alert aboutInfo = new Alert(Alert.AlertType.CONFIRMATION);
    
    aboutInfo.setTitle("Operação de remoção");
    aboutInfo.setHeaderText("Remoção bem sucedida!");
    aboutInfo.setContentText("Operação de remoção concluída!");
    
    DialogPane diagPanel = aboutInfo.getDialogPane();
    diagPanel.getStylesheets().add(getClass().getResource("css/alert.css").toExternalForm());
    aboutInfo.showAndWait();
}
 
Example #18
Source File: ConfirmationDialog.java    From G-Earth with MIT License 5 votes vote down vote up
public static Alert createAlertWithOptOut(Alert.AlertType type, String dialogKey, String title, String headerText,
                                          String message, String optOutMessage, /*Callback<Boolean, Void> optOutAction,*/
                                          ButtonType... buttonTypes) {
    Alert alert = new Alert(type);
    // Need to force the alert to layout in order to grab the graphic,
    // as we are replacing the dialog pane with a custom pane
    alert.getDialogPane().applyCss();
    Node graphic = alert.getDialogPane().getGraphic();
    // Create a new dialog pane that has a checkbox instead of the hide/show details button
    // Use the supplied callback for the action of the checkbox
    alert.setDialogPane(new DialogPane() {
        @Override
        protected Node createDetailsButton() {
            CheckBox optOut = new CheckBox();
            optOut.setText(optOutMessage);
            optOut.setOnAction(event -> {
                if (optOut.isSelected()) {
                    ignoreDialogs.add(dialogKey);
                }
            });
            return optOut;
        }
    });
    alert.getDialogPane().getButtonTypes().addAll(buttonTypes);
    alert.getDialogPane().setContentText(message);
    // Fool the dialog into thinking there is some expandable content
    // a Group won't take up any space if it has no children
    alert.getDialogPane().setExpandableContent(new Group());
    alert.getDialogPane().setExpanded(true);
    // Reset the dialog graphic using the default style
    alert.getDialogPane().setGraphic(graphic);
    alert.setTitle(title);
    alert.setHeaderText(headerText);
    return alert;
}
 
Example #19
Source File: AlertBuilder.java    From RentLio with Apache License 2.0 5 votes vote down vote up
private void warnAlert(){
    Alert adminLoginFailedAlert = new Alert(Alert.AlertType.WARNING);
    DialogPane dialogPane = adminLoginFailedAlert.getDialogPane();
    dialogPane.getStylesheets().add(
            getClass().getResource("/css/dialog-pane-styles.css")
                    .toExternalForm());
    dialogPane.getStyleClass().add("myDialog");
    adminLoginFailedAlert.setTitle(title);
    adminLoginFailedAlert.setHeaderText(headerText);
    adminLoginFailedAlert.setContentText(contentText);
    adminLoginFailedAlert.showAndWait();
}
 
Example #20
Source File: UIMenuItemTestBase.java    From tcMenu with Apache License 2.0 5 votes vote down vote up
@SuppressWarnings("unchecked")
protected void init(Stage stage) {
    manager = mock(CodePluginManager.class);
    ConfigurationStorage storage = mock(ConfigurationStorage.class);
    editorUI = new CurrentProjectEditorUIImpl(manager, stage, mock(EmbeddedPlatforms.class),
            mock(ArduinoLibraryInstaller.class), storage);
    menuTree = TestUtils.buildCompleteTree();
    mockedConsumer = mock(BiConsumer.class);
    this.stage = stage;

    dialogPane = new DialogPane();
    dialogPane.setMinSize(500, 500);
    stage.setScene(new Scene(dialogPane));
}
 
Example #21
Source File: AlertBuilder.java    From RentLio with Apache License 2.0 5 votes vote down vote up
private void infoAlert(){
    Alert adminLoginFailedAlert = new Alert(Alert.AlertType.INFORMATION);
    DialogPane dialogPane = adminLoginFailedAlert.getDialogPane();
    dialogPane.getStylesheets().add(
            getClass().getResource("/css/dialog-pane-styles.css")
                    .toExternalForm());
    dialogPane.getStyleClass().add("myDialog");
    adminLoginFailedAlert.setTitle(title);
    adminLoginFailedAlert.setHeaderText(headerText);
    adminLoginFailedAlert.setContentText(contentText);
    adminLoginFailedAlert.showAndWait();
}
 
Example #22
Source File: AlertBuilder.java    From RentLio with Apache License 2.0 5 votes vote down vote up
private void errorAlert(){
    Alert adminLoginFailedAlert = new Alert(Alert.AlertType.ERROR);
    DialogPane dialogPane = adminLoginFailedAlert.getDialogPane();
    dialogPane.getStylesheets().add(
            getClass().getResource("/css/dialog-pane-styles.css")
                    .toExternalForm());
    dialogPane.getStyleClass().add("myDialog");
    adminLoginFailedAlert.setTitle(title);
    adminLoginFailedAlert.setHeaderText(headerText);
    adminLoginFailedAlert.setContentText(contentText);
    adminLoginFailedAlert.showAndWait();
}
 
Example #23
Source File: LoadDialog.java    From Animu-Downloaderu with MIT License 5 votes vote down vote up
public static void stopDialog() {
	if (alert != null && alert.isShowing()) {
		Platform.runLater(() -> {
			DialogPane dialogPane = alert.getDialogPane();
			dialogPane.getButtonTypes().clear();
			dialogPane.getButtonTypes().add(ButtonType.CANCEL);
			alert.close();
		});
	}
}
 
Example #24
Source File: UserGuiInteractor.java    From kafka-message-tool with MIT License 5 votes vote down vote up
private static void applyStylesheetTo(Dialog dialog) {
    DialogPane dialogPane = dialog.getDialogPane();

    dialogPane.getStylesheets().add(
        Thread.currentThread()
            .getClass()
            .getResource(ApplicationConstants.GLOBAL_CSS_FILE_NAME)
            .toExternalForm());
}
 
Example #25
Source File: UserGuiInteractor.java    From kafka-message-tool with MIT License 5 votes vote down vote up
@Override
public void showConfigEntriesInfoDialog(String title,
                                        String header,
                                        ConfigEntriesView entriesView) {
    final Alert alert = getConfigEntriesViewDialog(header);
    alert.setTitle(title);
    final DialogPane dialogPane = alert.getDialogPane();
    dialogPane.setContent(entriesView);
    alert.setResizable(true);
    alert.showAndWait();

}
 
Example #26
Source File: ProductIonFilterSetHighlightDialog.java    From mzmine3 with GNU General Public License v2.0 4 votes vote down vote up
public ProductIonFilterSetHighlightDialog(@Nonnull Stage parent, ProductIonFilterPlot plot,
    String command) {

  this.desktop = MZmineCore.getDesktop();
  this.plot = plot;
  this.rangeType = command;
  mainPane = new DialogPane();
  mainScene = new Scene(mainPane);
  mainScene.getStylesheets()
      .addAll(MZmineCore.getDesktop().getMainWindow().getScene().getStylesheets());
  setScene(mainScene);
  initOwner(parent);
  String title = "Highlight ";
  if (command.equals("HIGHLIGHT_PRECURSOR")) {
    title += "precursor m/z range";
    axis = plot.getXYPlot().getDomainAxis();
  } else if (command.equals("HIGHLIGHT_NEUTRALLOSS")) {
    title += "neutral loss m/z range";
    axis = plot.getXYPlot().getRangeAxis();
  }
  setTitle(title);

  Label lblMinMZ = new Label("Minimum m/z");
  Label lblMaxMZ = new Label("Maximum m/z");

  NumberStringConverter converter = new NumberStringConverter();

  fieldMinMZ = new TextField();
  fieldMinMZ.setTextFormatter(new TextFormatter<>(converter));
  fieldMaxMZ = new TextField();
  fieldMaxMZ.setTextFormatter(new TextFormatter<>(converter));

  pnlLabelsAndFields = new GridPane();
  pnlLabelsAndFields.setHgap(5);
  pnlLabelsAndFields.setVgap(10);

  int row = 0;
  pnlLabelsAndFields.add(lblMinMZ, 0, row);
  pnlLabelsAndFields.add(fieldMinMZ, 1, row);

  row++;
  pnlLabelsAndFields.add(lblMaxMZ, 0, row);
  pnlLabelsAndFields.add(fieldMaxMZ, 1, row);

  // Create buttons
  mainPane.getButtonTypes().add(ButtonType.OK);
  mainPane.getButtonTypes().add(ButtonType.CANCEL);

  btnOK = (Button) mainPane.lookupButton(ButtonType.OK);
  btnOK.setOnAction(e -> {
    if (highlightDataPoints()) {
      hide();
    }
  });
  btnCancel = (Button) mainPane.lookupButton(ButtonType.CANCEL);
  btnCancel.setOnAction(e -> hide());

  mainPane.setContent(pnlLabelsAndFields);

  sizeToScene();
  centerOnScreen();
  setResizable(false);
}
 
Example #27
Source File: DialogBuilder.java    From AsciidocFX with Apache License 2.0 4 votes vote down vote up
private static void showAlwaysOnTop(DialogPane dialogPane) {
    ((Stage) dialogPane.getScene().getWindow()).setAlwaysOnTop(true);
}
 
Example #28
Source File: WindowModalAlert.java    From AsciidocFX with Apache License 2.0 4 votes vote down vote up
private static void showAlwaysOnTop(DialogPane dialogPane) {
    ((Stage) dialogPane.getScene().getWindow()).setAlwaysOnTop(true);
}
 
Example #29
Source File: AlertDialog.java    From AsciidocFX with Apache License 2.0 4 votes vote down vote up
private static void showAlwaysOnTop(DialogPane dialogPane) {
    ((Stage) dialogPane.getScene().getWindow()).setAlwaysOnTop(true);
}
 
Example #30
Source File: AlertHelper.java    From AsciidocFX with Apache License 2.0 4 votes vote down vote up
static Alert buildDeleteAlertDialog(List<Path> pathsLabel) {
    Alert deleteAlert = new WindowModalAlert(Alert.AlertType.WARNING, null, ButtonType.YES, ButtonType.CANCEL);
    deleteAlert.setHeaderText("Do you want to delete selected path(s)?");
    DialogPane dialogPane = deleteAlert.getDialogPane();

    ObservableList<Path> paths = Optional.ofNullable(pathsLabel)
            .map(FXCollections::observableList)
            .orElse(FXCollections.emptyObservableList());

    if (paths.isEmpty()) {
        dialogPane.setContentText("There are no files selected.");
        deleteAlert.getButtonTypes().clear();
        deleteAlert.getButtonTypes().add(ButtonType.CANCEL);
        return deleteAlert;
    }

    ListView<Path> listView = new ListView<>(paths);
    listView.setId("listOfPaths");

    GridPane gridPane = new GridPane();
    gridPane.addRow(0, listView);
    GridPane.setHgrow(listView, Priority.ALWAYS);

    double minWidth = 200.0;
    double maxWidth = Screen.getScreens().stream()
            .mapToDouble(s -> s.getBounds().getWidth() / 3)
            .min().orElse(minWidth);

    double prefWidth = paths.stream()
            .map(String::valueOf)
            .mapToDouble(s -> s.length() * 7)
            .max()
            .orElse(maxWidth);

    double minHeight = IntStream.of(paths.size())
            .map(e -> e * 70)
            .filter(e -> e <= 300 && e >= 70)
            .findFirst()
            .orElse(200);

    gridPane.setMinWidth(minWidth);
    gridPane.setPrefWidth(prefWidth);
    gridPane.setPrefHeight(minHeight);
    dialogPane.setContent(gridPane);
    return deleteAlert;
}