package org.marketcetera.photon.strategy.engine.ui; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Shell; import org.marketcetera.util.misc.ClassVersion; /* $License$ */ /** * A {@link ScriptSelectionButton} that opens a native {@link FileDialog} to * choose a script file. It works with the native string representation of * files. * * @author <a href="mailto:will@marketcetera.com">Will Horn</a> * @version $Id: FileDialogButton.java 16154 2012-07-14 16:34:05Z colin $ * @since 2.0.0 */ @ClassVersion("$Id: FileDialogButton.java 16154 2012-07-14 16:34:05Z colin $") public final class FileDialogButton extends ScriptSelectionButton { /* * Note: no unit tests since FileDialog is a native dialog that cannot * currently be accessed by SWTBot. */ /** * Constructor. * * @param text * the button label * @throws IllegalArgumentException * if text is null */ public FileDialogButton(String text) { super(text); } @Override public String selectScript(Shell shell, String current) { FileDialog dialog = new FileDialog(shell, SWT.OPEN | SWT.SHEET); dialog.setFileName(current); return dialog.open(); } }