/** Returns combo box for parameter. */
@Override
protected Widget createWidget(final String param, final String prefix, final int width) {
if (FilesystemData.SOURCE_DIR.equals(param)) {
final Value sourceDir = getParamSaved(FilesystemData.SOURCE_DIR);
final MyButton fileChooserBtn = widgetFactory.createButton("Browse...");
application.makeMiniButton(fileChooserBtn);
final String regexp = ".*[^/]?$";
final Widget paramWi = widgetFactory.createInstance(
getFieldType(param),
sourceDir,
getParamPossibleChoices(param),
regexp,
width,
Widget.NO_ABBRV,
new AccessMode(getAccessType(param), AccessMode.NORMAL),
fileChooserBtn);
paramWi.setAlwaysEditable(true);
if (prefix == null) {
sourceDirWi.put("", paramWi);
} else {
sourceDirWi.put(prefix, paramWi);
}
if (Tools.isWindows()) {
paramWi.setTFButtonEnabled(false);
}
fileChooserBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(final ActionEvent e) {
final Thread t = new Thread(new Runnable() {
@Override
public void run() {
final String file;
final String oldFile = paramWi.getStringValue();
if (oldFile == null || oldFile.isEmpty()) {
file = LXC_SOURCE_DIR;
} else {
file = oldFile;
}
startFileChooser(paramWi,
file,
FILECHOOSER_DIR_ONLY);
}
});
t.start();
}
});
widgetAdd(param, prefix, paramWi);
return paramWi;
} else if (FilesystemData.SOURCE_NAME.equals(param)) {
final Value sourceName = getParamSaved(FilesystemData.SOURCE_NAME);
final Widget paramWi = widgetFactory.createInstance(
getFieldType(param),
sourceName,
getParamPossibleChoices(param),
Widget.NO_REGEXP,