package org.esa.snap.ui.product;
import org.esa.snap.ui.ModalDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import java.awt.Window;
class FileSelectionPatternDialog extends ModalDialog {
private final JTextField textField;
FileSelectionPatternDialog(String defaultPattern, Window parent) {
super(parent, "File/Directory Selection Pattern", ModalDialog.ID_OK_CANCEL_HELP, null);
final JPanel contentPane = new JPanel(new BorderLayout(8, 8));
contentPane.add(new JLabel("Please define a file/directory selection pattern. For example '*.nc'"), BorderLayout.NORTH);
contentPane.add(new JLabel("Pattern:"), BorderLayout.WEST);
textField = new JTextField(defaultPattern);
contentPane.add(textField, BorderLayout.CENTER);
setContent(contentPane);
}
public String getPattern() {
final String text = textField.getText();
return text != null ? text.trim() : null;
}
@Override
public int show() {
final int button = super.show();
if (button == ID_OK) {
final String text = getPattern();
if (text == null || text.length() == 0) {
showErrorDialog(getParent(), "Pattern field may not be empty.", "File/Directory Selection Pattern");
return ID_CANCEL;
}
}
return button;
}
}