use of org.pentaho.di.ui.core.widget.TextVar in project pentaho-kettle by pentaho.
the class JobEntryEvalFilesMetricsDialog method open.
public JobEntryInterface open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, props.getJobsDialogStyle());
props.setLook(shell);
JobDialog.setShellImage(shell, jobEntry);
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
jobEntry.setChanged();
}
};
changed = jobEntry.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Filename line
wlName = new Label(shell, SWT.RIGHT);
wlName.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Name.Label"));
props.setLook(wlName);
fdlName = new FormData();
fdlName.left = new FormAttachment(0, 0);
fdlName.right = new FormAttachment(middle, -margin);
fdlName.top = new FormAttachment(0, margin);
wlName.setLayoutData(fdlName);
wName = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wName);
wName.addModifyListener(lsMod);
fdName = new FormData();
fdName.left = new FormAttachment(middle, 0);
fdName.top = new FormAttachment(0, margin);
fdName.right = new FormAttachment(100, 0);
wName.setLayoutData(fdName);
wTabFolder = new CTabFolder(shell, SWT.BORDER);
props.setLook(wTabFolder, Props.WIDGET_STYLE_TAB);
// ////////////////////////
// START OF GENERAL TAB ///
// ////////////////////////
wGeneralTab = new CTabItem(wTabFolder, SWT.NONE);
wGeneralTab.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Tab.General.Label"));
wGeneralComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wGeneralComp);
FormLayout generalLayout = new FormLayout();
generalLayout.marginWidth = 3;
generalLayout.marginHeight = 3;
wGeneralComp.setLayout(generalLayout);
// SETTINGS grouping?
// ////////////////////////
// START OF SETTINGS GROUP
//
wSettings = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wSettings);
wSettings.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Settings.Label"));
FormLayout groupLayout = new FormLayout();
groupLayout.marginWidth = 10;
groupLayout.marginHeight = 10;
wSettings.setLayout(groupLayout);
// SourceFiles
wlSourceFiles = new Label(wSettings, SWT.RIGHT);
wlSourceFiles.setText(BaseMessages.getString(PKG, "JobEvalFilesMetricsDialog.SourceFiles.Label"));
props.setLook(wlSourceFiles);
fdlSourceFiles = new FormData();
fdlSourceFiles.left = new FormAttachment(0, 0);
fdlSourceFiles.right = new FormAttachment(middle, -margin);
fdlSourceFiles.top = new FormAttachment(wName, margin);
wlSourceFiles.setLayoutData(fdlSourceFiles);
wSourceFiles = new CCombo(wSettings, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wSourceFiles.setItems(JobEntryEvalFilesMetrics.SourceFilesDesc);
// +1: starts at -1
wSourceFiles.select(0);
props.setLook(wSourceFiles);
fdSourceFiles = new FormData();
fdSourceFiles.left = new FormAttachment(middle, 0);
fdSourceFiles.top = new FormAttachment(wName, margin);
fdSourceFiles.right = new FormAttachment(100, 0);
wSourceFiles.setLayoutData(fdSourceFiles);
wSourceFiles.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
RefreshSourceFiles();
}
});
// ResultFilenamesWildcard
wlResultFilenamesWildcard = new Label(wSettings, SWT.RIGHT);
wlResultFilenamesWildcard.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.ResultFilenamesWildcard.Label"));
props.setLook(wlResultFilenamesWildcard);
fdlResultFilenamesWildcard = new FormData();
fdlResultFilenamesWildcard.left = new FormAttachment(0, 0);
fdlResultFilenamesWildcard.top = new FormAttachment(wSourceFiles, margin);
fdlResultFilenamesWildcard.right = new FormAttachment(middle, -margin);
wlResultFilenamesWildcard.setLayoutData(fdlResultFilenamesWildcard);
wResultFilenamesWildcard = new TextVar(jobMeta, wSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wResultFilenamesWildcard.setToolTipText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.ResultFilenamesWildcard.Tooltip"));
props.setLook(wResultFilenamesWildcard);
wResultFilenamesWildcard.addModifyListener(lsMod);
fdResultFilenamesWildcard = new FormData();
fdResultFilenamesWildcard.left = new FormAttachment(middle, 0);
fdResultFilenamesWildcard.top = new FormAttachment(wSourceFiles, margin);
fdResultFilenamesWildcard.right = new FormAttachment(100, -margin);
wResultFilenamesWildcard.setLayoutData(fdResultFilenamesWildcard);
// ResultFieldFile
wlResultFieldFile = new Label(wSettings, SWT.RIGHT);
wlResultFieldFile.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.ResultFieldFile.Label"));
props.setLook(wlResultFieldFile);
fdlResultFieldFile = new FormData();
fdlResultFieldFile.left = new FormAttachment(0, 0);
fdlResultFieldFile.top = new FormAttachment(wResultFilenamesWildcard, margin);
fdlResultFieldFile.right = new FormAttachment(middle, -margin);
wlResultFieldFile.setLayoutData(fdlResultFieldFile);
wResultFieldFile = new TextVar(jobMeta, wSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wResultFieldFile.setToolTipText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.ResultFieldFile.Tooltip"));
props.setLook(wResultFieldFile);
wResultFieldFile.addModifyListener(lsMod);
fdResultFieldFile = new FormData();
fdResultFieldFile.left = new FormAttachment(middle, 0);
fdResultFieldFile.top = new FormAttachment(wResultFilenamesWildcard, margin);
fdResultFieldFile.right = new FormAttachment(100, -margin);
wResultFieldFile.setLayoutData(fdResultFieldFile);
// ResultFieldWildcard
wlResultFieldWildcard = new Label(wSettings, SWT.RIGHT);
wlResultFieldWildcard.setText(BaseMessages.getString(PKG, "JobEvalWildcardsMetrics.ResultFieldWildcard.Label"));
props.setLook(wlResultFieldWildcard);
fdlResultFieldWildcard = new FormData();
fdlResultFieldWildcard.left = new FormAttachment(0, 0);
fdlResultFieldWildcard.top = new FormAttachment(wResultFieldFile, margin);
fdlResultFieldWildcard.right = new FormAttachment(middle, -margin);
wlResultFieldWildcard.setLayoutData(fdlResultFieldWildcard);
wResultFieldWildcard = new TextVar(jobMeta, wSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wResultFieldWildcard.setToolTipText(BaseMessages.getString(PKG, "JobEvalWildcardsMetrics.ResultFieldWildcard.Tooltip"));
props.setLook(wResultFieldWildcard);
wResultFieldWildcard.addModifyListener(lsMod);
fdResultFieldWildcard = new FormData();
fdResultFieldWildcard.left = new FormAttachment(middle, 0);
fdResultFieldWildcard.top = new FormAttachment(wResultFieldFile, margin);
fdResultFieldWildcard.right = new FormAttachment(100, -margin);
wResultFieldWildcard.setLayoutData(fdResultFieldWildcard);
// ResultFieldIncludeSubFolders
wlResultFieldIncludeSubFolders = new Label(wSettings, SWT.RIGHT);
wlResultFieldIncludeSubFolders.setText(BaseMessages.getString(PKG, "JobEvalIncludeSubFolderssMetrics.ResultFieldIncludeSubFolders.Label"));
props.setLook(wlResultFieldIncludeSubFolders);
fdlResultFieldIncludeSubFolders = new FormData();
fdlResultFieldIncludeSubFolders.left = new FormAttachment(0, 0);
fdlResultFieldIncludeSubFolders.top = new FormAttachment(wResultFieldWildcard, margin);
fdlResultFieldIncludeSubFolders.right = new FormAttachment(middle, -margin);
wlResultFieldIncludeSubFolders.setLayoutData(fdlResultFieldIncludeSubFolders);
wResultFieldIncludeSubFolders = new TextVar(jobMeta, wSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wResultFieldIncludeSubFolders.setToolTipText(BaseMessages.getString(PKG, "JobEvalIncludeSubFolderssMetrics.ResultFieldIncludeSubFolders.Tooltip"));
props.setLook(wResultFieldIncludeSubFolders);
wResultFieldIncludeSubFolders.addModifyListener(lsMod);
fdResultFieldIncludeSubFolders = new FormData();
fdResultFieldIncludeSubFolders.left = new FormAttachment(middle, 0);
fdResultFieldIncludeSubFolders.top = new FormAttachment(wResultFieldWildcard, margin);
fdResultFieldIncludeSubFolders.right = new FormAttachment(100, -margin);
wResultFieldIncludeSubFolders.setLayoutData(fdResultFieldIncludeSubFolders);
// EvaluationType
wlEvaluationType = new Label(wSettings, SWT.RIGHT);
wlEvaluationType.setText(BaseMessages.getString(PKG, "JobEvalFilesMetricsDialog.EvaluationType.Label"));
props.setLook(wlEvaluationType);
fdlEvaluationType = new FormData();
fdlEvaluationType.left = new FormAttachment(0, 0);
fdlEvaluationType.right = new FormAttachment(middle, -margin);
fdlEvaluationType.top = new FormAttachment(wResultFieldIncludeSubFolders, margin);
wlEvaluationType.setLayoutData(fdlEvaluationType);
wEvaluationType = new CCombo(wSettings, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wEvaluationType.setItems(JobEntryEvalFilesMetrics.EvaluationTypeDesc);
// +1: starts at -1
wEvaluationType.select(0);
props.setLook(wEvaluationType);
fdEvaluationType = new FormData();
fdEvaluationType.left = new FormAttachment(middle, 0);
fdEvaluationType.top = new FormAttachment(wResultFieldIncludeSubFolders, margin);
fdEvaluationType.right = new FormAttachment(100, 0);
wEvaluationType.setLayoutData(fdEvaluationType);
wEvaluationType.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
RefreshSize();
jobEntry.setChanged();
}
});
fdSettings = new FormData();
fdSettings.left = new FormAttachment(0, margin);
fdSettings.top = new FormAttachment(wName, margin);
fdSettings.right = new FormAttachment(100, -margin);
wSettings.setLayoutData(fdSettings);
// ///////////////////////////////////////////////////////////
// / END OF SETTINGS GROUP
// ///////////////////////////////////////////////////////////
// SourceFileFolder line
wlSourceFileFolder = new Label(wGeneralComp, SWT.RIGHT);
wlSourceFileFolder.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.SourceFileFolder.Label"));
props.setLook(wlSourceFileFolder);
fdlSourceFileFolder = new FormData();
fdlSourceFileFolder.left = new FormAttachment(0, 0);
fdlSourceFileFolder.top = new FormAttachment(wSettings, 2 * margin);
fdlSourceFileFolder.right = new FormAttachment(middle, -margin);
wlSourceFileFolder.setLayoutData(fdlSourceFileFolder);
// Browse Source folders button ...
wbSourceDirectory = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbSourceDirectory);
wbSourceDirectory.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.BrowseFolders.Label"));
fdbSourceDirectory = new FormData();
fdbSourceDirectory.right = new FormAttachment(100, 0);
fdbSourceDirectory.top = new FormAttachment(wSettings, margin);
wbSourceDirectory.setLayoutData(fdbSourceDirectory);
wbSourceDirectory.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
DirectoryDialog ddialog = new DirectoryDialog(shell, SWT.OPEN);
if (wSourceFileFolder.getText() != null) {
ddialog.setFilterPath(jobMeta.environmentSubstitute(wSourceFileFolder.getText()));
}
// Calling open() will open and run the dialog.
// It will return the selected directory, or
// null if user cancels
String dir = ddialog.open();
if (dir != null) {
// Set the text box to the new selection
wSourceFileFolder.setText(dir);
}
}
});
// Browse Source files button ...
wbSourceFileFolder = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbSourceFileFolder);
wbSourceFileFolder.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.BrowseFiles.Label"));
fdbSourceFileFolder = new FormData();
fdbSourceFileFolder.right = new FormAttachment(wbSourceDirectory, -margin);
fdbSourceFileFolder.top = new FormAttachment(wSettings, margin);
wbSourceFileFolder.setLayoutData(fdbSourceFileFolder);
// Browse Destination file add button ...
wbaSourceFileFolder = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbaSourceFileFolder);
wbaSourceFileFolder.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.FilenameAdd.Button"));
fdbaSourceFileFolder = new FormData();
fdbaSourceFileFolder.right = new FormAttachment(wbSourceFileFolder, -margin);
fdbaSourceFileFolder.top = new FormAttachment(wSettings, margin);
wbaSourceFileFolder.setLayoutData(fdbaSourceFileFolder);
wSourceFileFolder = new TextVar(jobMeta, wGeneralComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wSourceFileFolder.setToolTipText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.SourceFileFolder.Tooltip"));
props.setLook(wSourceFileFolder);
wSourceFileFolder.addModifyListener(lsMod);
fdSourceFileFolder = new FormData();
fdSourceFileFolder.left = new FormAttachment(middle, 0);
fdSourceFileFolder.top = new FormAttachment(wSettings, 2 * margin);
fdSourceFileFolder.right = new FormAttachment(wbSourceFileFolder, -55);
wSourceFileFolder.setLayoutData(fdSourceFileFolder);
// Whenever something changes, set the tooltip to the expanded version:
wSourceFileFolder.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wSourceFileFolder.setToolTipText(jobMeta.environmentSubstitute(wSourceFileFolder.getText()));
}
});
wbSourceFileFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*" });
if (wSourceFileFolder.getText() != null) {
dialog.setFileName(jobMeta.environmentSubstitute(wSourceFileFolder.getText()));
}
dialog.setFilterNames(FILETYPES);
if (dialog.open() != null) {
wSourceFileFolder.setText(dialog.getFilterPath() + Const.FILE_SEPARATOR + dialog.getFileName());
}
}
});
// Buttons to the right of the screen...
wbdSourceFileFolder = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbdSourceFileFolder);
wbdSourceFileFolder.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.FilenameDelete.Button"));
wbdSourceFileFolder.setToolTipText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.FilenameDelete.Tooltip"));
fdbdSourceFileFolder = new FormData();
fdbdSourceFileFolder.right = new FormAttachment(100, 0);
fdbdSourceFileFolder.top = new FormAttachment(wSourceFileFolder, 40);
wbdSourceFileFolder.setLayoutData(fdbdSourceFileFolder);
wbeSourceFileFolder = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbeSourceFileFolder);
wbeSourceFileFolder.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.FilenameEdit.Button"));
fdbeSourceFileFolder = new FormData();
fdbeSourceFileFolder.right = new FormAttachment(100, 0);
fdbeSourceFileFolder.left = new FormAttachment(wbdSourceFileFolder, 0, SWT.LEFT);
fdbeSourceFileFolder.top = new FormAttachment(wbdSourceFileFolder, margin);
wbeSourceFileFolder.setLayoutData(fdbeSourceFileFolder);
// Wildcard
wlWildcard = new Label(wGeneralComp, SWT.RIGHT);
wlWildcard.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Wildcard.Label"));
props.setLook(wlWildcard);
fdlWildcard = new FormData();
fdlWildcard.left = new FormAttachment(0, 0);
fdlWildcard.top = new FormAttachment(wSourceFileFolder, margin);
fdlWildcard.right = new FormAttachment(middle, -margin);
wlWildcard.setLayoutData(fdlWildcard);
wWildcard = new TextVar(jobMeta, wGeneralComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wWildcard.setToolTipText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Wildcard.Tooltip"));
props.setLook(wWildcard);
wWildcard.addModifyListener(lsMod);
fdWildcard = new FormData();
fdWildcard.left = new FormAttachment(middle, 0);
fdWildcard.top = new FormAttachment(wSourceFileFolder, margin);
fdWildcard.right = new FormAttachment(wbSourceFileFolder, -55);
wWildcard.setLayoutData(fdWildcard);
wlFields = new Label(wGeneralComp, SWT.NONE);
wlFields.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Fields.Label"));
props.setLook(wlFields);
fdlFields = new FormData();
fdlFields.left = new FormAttachment(0, 0);
fdlFields.right = new FormAttachment(middle, -margin);
fdlFields.top = new FormAttachment(wWildcard, margin);
wlFields.setLayoutData(fdlFields);
int rows = jobEntry.getSourceFileFolder() == null ? 1 : (jobEntry.getSourceFileFolder().length == 0 ? 0 : jobEntry.getSourceFileFolder().length);
final int FieldsRows = rows;
ColumnInfo[] colinf = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Fields.SourceFileFolder.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Fields.Wildcard.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Fields.IncludeSubDirs.Label"), ColumnInfo.COLUMN_TYPE_CCOMBO, JobEntryEvalFilesMetrics.IncludeSubFoldersDesc) };
colinf[0].setUsingVariables(true);
colinf[0].setToolTip(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Fields.SourceFileFolder.Tooltip"));
colinf[1].setUsingVariables(true);
colinf[1].setToolTip(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Fields.Wildcard.Tooltip"));
wFields = new TableView(jobMeta, wGeneralComp, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI, colinf, FieldsRows, lsMod, props);
fdFields = new FormData();
fdFields.left = new FormAttachment(0, 0);
fdFields.top = new FormAttachment(wlFields, margin);
fdFields.right = new FormAttachment(wbeSourceFileFolder, -margin);
fdFields.bottom = new FormAttachment(100, -margin);
wFields.setLayoutData(fdFields);
// RefreshArgFromPrevious();
// Add the file to the list of files...
SelectionAdapter selA = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
wFields.add(new String[] { wSourceFileFolder.getText(), wWildcard.getText() });
wSourceFileFolder.setText("");
wWildcard.setText("");
wFields.removeEmptyRows();
wFields.setRowNums();
wFields.optWidth(true);
}
};
wbaSourceFileFolder.addSelectionListener(selA);
wSourceFileFolder.addSelectionListener(selA);
// Delete files from the list of files...
wbdSourceFileFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
int[] idx = wFields.getSelectionIndices();
wFields.remove(idx);
wFields.removeEmptyRows();
wFields.setRowNums();
}
});
// Edit the selected file & remove from the list...
wbeSourceFileFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
int idx = wFields.getSelectionIndex();
if (idx >= 0) {
String[] string = wFields.getItem(idx);
wSourceFileFolder.setText(string[0]);
wWildcard.setText(string[1]);
wFields.remove(idx);
}
wFields.removeEmptyRows();
wFields.setRowNums();
}
});
fdGeneralComp = new FormData();
fdGeneralComp.left = new FormAttachment(0, 0);
fdGeneralComp.top = new FormAttachment(0, 0);
fdGeneralComp.right = new FormAttachment(100, 0);
fdGeneralComp.bottom = new FormAttachment(100, 0);
wGeneralComp.setLayoutData(fdGeneralComp);
wGeneralComp.layout();
wGeneralTab.setControl(wGeneralComp);
props.setLook(wGeneralComp);
// ///////////////////////////////////////////////////////////
// / END OF GENERAL TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////////////////
// START OF ADVANCED TAB ///
// ///////////////////////////////////
wAdvancedTab = new CTabItem(wTabFolder, SWT.NONE);
wAdvancedTab.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.Tab.Advanced.Label"));
FormLayout contentLayout = new FormLayout();
contentLayout.marginWidth = 3;
contentLayout.marginHeight = 3;
wAdvancedComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wAdvancedComp);
wAdvancedComp.setLayout(contentLayout);
// SuccessOngrouping?
// ////////////////////////
// START OF SUCCESS ON GROUP///
// /
wSuccessOn = new Group(wAdvancedComp, SWT.SHADOW_NONE);
props.setLook(wSuccessOn);
wSuccessOn.setText(BaseMessages.getString(PKG, "JobEvalFilesMetrics.SuccessOn.Group.Label"));
FormLayout successongroupLayout = new FormLayout();
successongroupLayout.marginWidth = 10;
successongroupLayout.marginHeight = 10;
wSuccessOn.setLayout(successongroupLayout);
// Scale
wlScale = new Label(wSuccessOn, SWT.RIGHT);
wlScale.setText(BaseMessages.getString(PKG, "JobEvalFilesMetricsDialog.Scale.Label"));
props.setLook(wlScale);
fdlScale = new FormData();
fdlScale.left = new FormAttachment(0, 0);
fdlScale.right = new FormAttachment(middle, -margin);
fdlScale.top = new FormAttachment(0, margin);
wlScale.setLayoutData(fdlScale);
wScale = new CCombo(wSuccessOn, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wScale.setItems(JobEntryEvalFilesMetrics.scaleDesc);
// +1: starts at -1
wScale.select(0);
props.setLook(wScale);
fdScale = new FormData();
fdScale.left = new FormAttachment(middle, 0);
fdScale.top = new FormAttachment(0, margin);
fdScale.right = new FormAttachment(100, 0);
wScale.setLayoutData(fdScale);
wScale.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// Success number Condition
wlSuccessNumberCondition = new Label(wSuccessOn, SWT.RIGHT);
wlSuccessNumberCondition.setText(BaseMessages.getString(PKG, "JobEvalFilesMetricsDialog.SuccessCondition.Label"));
props.setLook(wlSuccessNumberCondition);
fdlSuccessNumberCondition = new FormData();
fdlSuccessNumberCondition.left = new FormAttachment(0, 0);
fdlSuccessNumberCondition.right = new FormAttachment(middle, -margin);
fdlSuccessNumberCondition.top = new FormAttachment(wScale, margin);
wlSuccessNumberCondition.setLayoutData(fdlSuccessNumberCondition);
wSuccessNumberCondition = new CCombo(wSuccessOn, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wSuccessNumberCondition.setItems(JobEntrySimpleEval.successNumberConditionDesc);
// +1: starts at -1
wSuccessNumberCondition.select(0);
props.setLook(wSuccessNumberCondition);
fdSuccessNumberCondition = new FormData();
fdSuccessNumberCondition.left = new FormAttachment(middle, 0);
fdSuccessNumberCondition.top = new FormAttachment(wScale, margin);
fdSuccessNumberCondition.right = new FormAttachment(100, 0);
wSuccessNumberCondition.setLayoutData(fdSuccessNumberCondition);
wSuccessNumberCondition.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
refresh();
jobEntry.setChanged();
}
});
// Compare with value
wlCompareValue = new Label(wSuccessOn, SWT.RIGHT);
wlCompareValue.setText(BaseMessages.getString(PKG, "JobEvalFilesMetricsDialog.CompareValue.Label"));
props.setLook(wlCompareValue);
fdlCompareValue = new FormData();
fdlCompareValue.left = new FormAttachment(0, 0);
fdlCompareValue.top = new FormAttachment(wSuccessNumberCondition, margin);
fdlCompareValue.right = new FormAttachment(middle, -margin);
wlCompareValue.setLayoutData(fdlCompareValue);
wCompareValue = new TextVar(jobMeta, wSuccessOn, SWT.SINGLE | SWT.LEFT | SWT.BORDER, BaseMessages.getString(PKG, "JobEvalFilesMetricsDialog.CompareValue.Tooltip"));
props.setLook(wCompareValue);
wCompareValue.addModifyListener(lsMod);
fdCompareValue = new FormData();
fdCompareValue.left = new FormAttachment(middle, 0);
fdCompareValue.top = new FormAttachment(wSuccessNumberCondition, margin);
fdCompareValue.right = new FormAttachment(100, -margin);
wCompareValue.setLayoutData(fdCompareValue);
// Min value
wlMinValue = new Label(wSuccessOn, SWT.RIGHT);
wlMinValue.setText(BaseMessages.getString(PKG, "JobEvalFilesMetricsDialog.MinValue.Label"));
props.setLook(wlMinValue);
fdlMinValue = new FormData();
fdlMinValue.left = new FormAttachment(0, 0);
fdlMinValue.top = new FormAttachment(wSuccessNumberCondition, margin);
fdlMinValue.right = new FormAttachment(middle, -margin);
wlMinValue.setLayoutData(fdlMinValue);
wMinValue = new TextVar(jobMeta, wSuccessOn, SWT.SINGLE | SWT.LEFT | SWT.BORDER, BaseMessages.getString(PKG, "JobEvalFilesMetricsDialog.MinValue.Tooltip"));
props.setLook(wMinValue);
wMinValue.addModifyListener(lsMod);
fdMinValue = new FormData();
fdMinValue.left = new FormAttachment(middle, 0);
fdMinValue.top = new FormAttachment(wSuccessNumberCondition, margin);
fdMinValue.right = new FormAttachment(100, -margin);
wMinValue.setLayoutData(fdMinValue);
// Maximum value
wlMaxValue = new Label(wSuccessOn, SWT.RIGHT);
wlMaxValue.setText(BaseMessages.getString(PKG, "JobEvalFilesMetricsDialog.MaxValue.Label"));
props.setLook(wlMaxValue);
fdlMaxValue = new FormData();
fdlMaxValue.left = new FormAttachment(0, 0);
fdlMaxValue.top = new FormAttachment(wMinValue, margin);
fdlMaxValue.right = new FormAttachment(middle, -margin);
wlMaxValue.setLayoutData(fdlMaxValue);
wMaxValue = new TextVar(jobMeta, wSuccessOn, SWT.SINGLE | SWT.LEFT | SWT.BORDER, BaseMessages.getString(PKG, "JobEvalFilesMetricsDialog.MaxValue.Tooltip"));
props.setLook(wMaxValue);
wMaxValue.addModifyListener(lsMod);
fdMaxValue = new FormData();
fdMaxValue.left = new FormAttachment(middle, 0);
fdMaxValue.top = new FormAttachment(wMinValue, margin);
fdMaxValue.right = new FormAttachment(100, -margin);
wMaxValue.setLayoutData(fdMaxValue);
fdSuccessOn = new FormData();
fdSuccessOn.left = new FormAttachment(0, margin);
fdSuccessOn.top = new FormAttachment(0, margin);
fdSuccessOn.right = new FormAttachment(100, -margin);
wSuccessOn.setLayoutData(fdSuccessOn);
// ///////////////////////////////////////////////////////////
// / END OF Success ON GROUP
// ///////////////////////////////////////////////////////////
fdAdvancedComp = new FormData();
fdAdvancedComp.left = new FormAttachment(0, 0);
fdAdvancedComp.top = new FormAttachment(0, 0);
fdAdvancedComp.right = new FormAttachment(100, 0);
fdAdvancedComp.bottom = new FormAttachment(100, 0);
wAdvancedComp.setLayoutData(wAdvancedComp);
wAdvancedComp.layout();
wAdvancedTab.setControl(wAdvancedComp);
// ///////////////////////////////////////////////////////////
// / END OF ADVANCED TAB
// ///////////////////////////////////////////////////////////
fdTabFolder = new FormData();
fdTabFolder.left = new FormAttachment(0, 0);
fdTabFolder.top = new FormAttachment(wName, margin);
fdTabFolder.right = new FormAttachment(100, 0);
fdTabFolder.bottom = new FormAttachment(100, -50);
wTabFolder.setLayoutData(fdTabFolder);
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
BaseStepDialog.positionBottomButtons(shell, new Button[] { wOK, wCancel }, margin, wTabFolder);
// Add listeners
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
wCancel.addListener(SWT.Selection, lsCancel);
wOK.addListener(SWT.Selection, lsOK);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wName.addSelectionListener(lsDef);
wSourceFileFolder.addSelectionListener(lsDef);
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
getData();
refresh();
RefreshSize();
RefreshSourceFiles();
wTabFolder.setSelection(0);
BaseStepDialog.setSize(shell);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return jobEntry;
}
use of org.pentaho.di.ui.core.widget.TextVar in project pentaho-kettle by pentaho.
the class JobEntryExportRepositoryDialog method open.
public JobEntryInterface open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, props.getJobsDialogStyle());
props.setLook(shell);
JobDialog.setShellImage(shell, jobEntry);
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
jobEntry.setChanged();
}
};
changed = jobEntry.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "JobExportRepository.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Repositoryname line
wlName = new Label(shell, SWT.RIGHT);
wlName.setText(BaseMessages.getString(PKG, "JobExportRepository.Name.Label"));
props.setLook(wlName);
fdlName = new FormData();
fdlName.left = new FormAttachment(0, 0);
fdlName.right = new FormAttachment(middle, -margin);
fdlName.top = new FormAttachment(0, margin);
wlName.setLayoutData(fdlName);
wName = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wName);
wName.addModifyListener(lsMod);
fdName = new FormData();
fdName.left = new FormAttachment(middle, 0);
fdName.top = new FormAttachment(0, margin);
fdName.right = new FormAttachment(100, 0);
wName.setLayoutData(fdName);
wTabFolder = new CTabFolder(shell, SWT.BORDER);
props.setLook(wTabFolder, Props.WIDGET_STYLE_TAB);
// ////////////////////////
// START OF GENERAL TAB ///
// ////////////////////////
wGeneralTab = new CTabItem(wTabFolder, SWT.NONE);
wGeneralTab.setText(BaseMessages.getString(PKG, "JobExportRepository.Tab.General.Label"));
wGeneralComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wGeneralComp);
FormLayout generalLayout = new FormLayout();
generalLayout.marginWidth = 3;
generalLayout.marginHeight = 3;
wGeneralComp.setLayout(generalLayout);
// ////////////////////////
// START OF Repository Infos GROUP///
// /
wRepositoryInfos = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wRepositoryInfos);
wRepositoryInfos.setText(BaseMessages.getString(PKG, "JobExportRepository.RepositoryInfos.Group.Label"));
FormLayout RepositoryInfosgroupLayout = new FormLayout();
RepositoryInfosgroupLayout.marginWidth = 10;
RepositoryInfosgroupLayout.marginHeight = 10;
wRepositoryInfos.setLayout(RepositoryInfosgroupLayout);
// Repositoryname line
wlRepositoryname = new Label(wRepositoryInfos, SWT.RIGHT);
wlRepositoryname.setText(BaseMessages.getString(PKG, "JobExportRepository.Repositoryname.Label"));
props.setLook(wlRepositoryname);
fdlRepositoryname = new FormData();
fdlRepositoryname.left = new FormAttachment(0, margin);
fdlRepositoryname.top = new FormAttachment(wName, margin);
fdlRepositoryname.right = new FormAttachment(middle, -margin);
wlRepositoryname.setLayoutData(fdlRepositoryname);
wbRepositoryname = new Button(wRepositoryInfos, SWT.PUSH | SWT.CENTER);
props.setLook(wbRepositoryname);
wbRepositoryname.setText(BaseMessages.getString(PKG, "JobExportRepository.ListRepositories.Label"));
wbRepositoryname.setToolTipText(BaseMessages.getString(PKG, "JobExportRepository.ListRepositories.Tooltip"));
fdbRepositoryname = new FormData();
fdbRepositoryname.right = new FormAttachment(100, 0);
fdbRepositoryname.top = new FormAttachment(wName, 0);
wbRepositoryname.setLayoutData(fdbRepositoryname);
wbRepositoryname.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
getListRepositories();
}
});
wRepositoryname = new TextVar(jobMeta, wRepositoryInfos, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wRepositoryname);
wRepositoryname.addModifyListener(lsMod);
fdRepositoryname = new FormData();
fdRepositoryname.left = new FormAttachment(middle, margin);
fdRepositoryname.top = new FormAttachment(wName, margin);
fdRepositoryname.right = new FormAttachment(wbRepositoryname, -margin);
wRepositoryname.setLayoutData(fdRepositoryname);
// Whenever something changes, set the tooltip to the expanded version:
wRepositoryname.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wRepositoryname.setToolTipText(jobMeta.environmentSubstitute(wRepositoryname.getText()));
}
});
// UserName line
wUserName = new LabelTextVar(jobMeta, wRepositoryInfos, BaseMessages.getString(PKG, "JobExportRepository.User.Label"), BaseMessages.getString(PKG, "JobExportRepository.User.Tooltip"));
props.setLook(wUserName);
wUserName.addModifyListener(lsMod);
fdUserName = new FormData();
fdUserName.left = new FormAttachment(0, 0);
fdUserName.top = new FormAttachment(wRepositoryname, margin);
fdUserName.right = new FormAttachment(100, 0);
wUserName.setLayoutData(fdUserName);
// Password line
wPassword = new LabelTextVar(jobMeta, wRepositoryInfos, BaseMessages.getString(PKG, "JobExportRepository.Password.Label"), BaseMessages.getString(PKG, "JobExportRepository.Password.Tooltip"), true);
props.setLook(wPassword);
wPassword.addModifyListener(lsMod);
fdPassword = new FormData();
fdPassword.left = new FormAttachment(0, 0);
fdPassword.top = new FormAttachment(wUserName, margin);
fdPassword.right = new FormAttachment(100, 0);
wPassword.setLayoutData(fdPassword);
// Test connection button
wTest = new Button(wRepositoryInfos, SWT.PUSH);
wTest.setText(BaseMessages.getString(PKG, "JobExportRepository.TestConnection.Label"));
props.setLook(wTest);
fdTest = new FormData();
wTest.setToolTipText(BaseMessages.getString(PKG, "JobExportRepository.TestConnection.Tooltip"));
// fdTest.left = new FormAttachment(middle, 0);
fdTest.top = new FormAttachment(wPassword, 2 * margin);
fdTest.right = new FormAttachment(100, 0);
wTest.setLayoutData(fdTest);
fdRepositoryInfos = new FormData();
fdRepositoryInfos.left = new FormAttachment(0, margin);
fdRepositoryInfos.top = new FormAttachment(wName, margin);
fdRepositoryInfos.right = new FormAttachment(100, -margin);
wRepositoryInfos.setLayoutData(fdRepositoryInfos);
// ///////////////////////////////////////////////////////////
// / END OF Repository Infos GROUP
// ///////////////////////////////////////////////////////////
// ////////////////////////
// START OF Settings GROUP///
// //////////////////////////////
wSettings = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wSettings);
wSettings.setText(BaseMessages.getString(PKG, "JobExportRepository.Settings.Group.Label"));
FormLayout SettingsgroupLayout = new FormLayout();
SettingsgroupLayout.marginWidth = 10;
SettingsgroupLayout.marginHeight = 10;
wSettings.setLayout(SettingsgroupLayout);
wlExportType = new Label(wSettings, SWT.RIGHT);
wlExportType.setText(BaseMessages.getString(PKG, "JobExportRepository.ExportType.Label"));
props.setLook(wlExportType);
fdlExportType = new FormData();
fdlExportType.left = new FormAttachment(0, 0);
fdlExportType.right = new FormAttachment(middle, 0);
fdlExportType.top = new FormAttachment(wRepositoryInfos, margin);
wlExportType.setLayoutData(fdlExportType);
wExportType = new CCombo(wSettings, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wExportType.add(BaseMessages.getString(PKG, "JobExportRepository.Export_All.Label"));
wExportType.add(BaseMessages.getString(PKG, "JobExportRepository.Export_Jobs.Label"));
wExportType.add(BaseMessages.getString(PKG, "JobExportRepository.Export_Trans.Label"));
wExportType.add(BaseMessages.getString(PKG, "JobExportRepository.Export_By_Folder.Label"));
wExportType.add(BaseMessages.getString(PKG, "JobExportRepository.Export_One_Folder.Label"));
// +1: starts at -1
wExportType.select(0);
props.setLook(wExportType);
fdExportType = new FormData();
fdExportType.left = new FormAttachment(middle, margin);
fdExportType.top = new FormAttachment(wTargetFilename, margin);
fdExportType.right = new FormAttachment(100, 0);
wExportType.setLayoutData(fdExportType);
wExportType.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
activeOneFolder();
}
});
// Foldername line
wlFoldername = new Label(wSettings, SWT.RIGHT);
wlFoldername.setText(BaseMessages.getString(PKG, "JobExportRepository.Foldername.Label"));
props.setLook(wlFoldername);
fdlFoldername = new FormData();
fdlFoldername.left = new FormAttachment(0, margin);
fdlFoldername.top = new FormAttachment(wExportType, margin);
fdlFoldername.right = new FormAttachment(middle, -margin);
wlFoldername.setLayoutData(fdlFoldername);
wbFoldername = new Button(wSettings, SWT.PUSH | SWT.CENTER);
props.setLook(wbFoldername);
// wbFoldername.setText(BaseMessages.getString(PKG, "JobExportRepository.ListFolders.Label"));
wbFoldername.setToolTipText(BaseMessages.getString(PKG, "JobExportRepository.ListFolders.Tooltip"));
wbFoldername.setImage(GUIResource.getInstance().getImageBol());
fdbFoldername = new FormData();
fdbFoldername.right = new FormAttachment(100, 0);
fdbFoldername.top = new FormAttachment(wExportType, 0);
wbFoldername.setLayoutData(fdbFoldername);
wbFoldername.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
displaydirectoryList();
}
});
wFoldername = new TextVar(jobMeta, wSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFoldername);
wFoldername.addModifyListener(lsMod);
fdFoldername = new FormData();
fdFoldername.left = new FormAttachment(middle, margin);
fdFoldername.top = new FormAttachment(wExportType, margin);
fdFoldername.right = new FormAttachment(wbFoldername, -margin);
wFoldername.setLayoutData(fdFoldername);
// Whenever something changes, set the tooltip to the expanded version:
wFoldername.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wFoldername.setToolTipText(jobMeta.environmentSubstitute(wFoldername.getText()));
}
});
// export each directory to a new folder?
wlNewFolder = new Label(wSettings, SWT.RIGHT);
wlNewFolder.setText(BaseMessages.getString(PKG, "JobExportRepository.NewFolder.Label"));
props.setLook(wlNewFolder);
fdlNewFolder = new FormData();
fdlNewFolder.left = new FormAttachment(0, 0);
fdlNewFolder.top = new FormAttachment(wFoldername, margin);
fdlNewFolder.right = new FormAttachment(middle, -margin);
wlNewFolder.setLayoutData(fdlNewFolder);
wNewFolder = new Button(wSettings, SWT.CHECK);
props.setLook(wNewFolder);
wNewFolder.setToolTipText(BaseMessages.getString(PKG, "JobExportRepository.NewFolder.Tooltip"));
fdNewFolder = new FormData();
fdNewFolder.left = new FormAttachment(middle, margin);
fdNewFolder.top = new FormAttachment(wFoldername, margin);
fdNewFolder.right = new FormAttachment(100, 0);
wNewFolder.setLayoutData(fdNewFolder);
wNewFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
fdSettings = new FormData();
fdSettings.left = new FormAttachment(0, margin);
fdSettings.top = new FormAttachment(wRepositoryInfos, margin);
fdSettings.right = new FormAttachment(100, -margin);
wSettings.setLayoutData(fdSettings);
// ///////////////////////////////////////////////////////////
// / END OF Settings GROUP
// ///////////////////////////////////////////////////////////
// ////////////////////////
// START OF Target Filename GROUP///
// //////////////////////////////
wTarget = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wTarget);
wTarget.setText(BaseMessages.getString(PKG, "JobExportRepository.Target.Group.Label"));
FormLayout TargetgroupLayout = new FormLayout();
TargetgroupLayout.marginWidth = 10;
TargetgroupLayout.marginHeight = 10;
wTarget.setLayout(TargetgroupLayout);
// Target filename line
wlTargetFilename = new Label(wTarget, SWT.RIGHT);
wlTargetFilename.setText(BaseMessages.getString(PKG, "JobExportRepository.TargetFilename.Label"));
props.setLook(wlTargetFilename);
fdlTargetFilename = new FormData();
fdlTargetFilename.left = new FormAttachment(0, 0);
fdlTargetFilename.top = new FormAttachment(wSettings, margin);
fdlTargetFilename.right = new FormAttachment(middle, -margin);
wlTargetFilename.setLayoutData(fdlTargetFilename);
// Browse Source folders button ...
wbTargetFilename = new Button(wTarget, SWT.PUSH | SWT.CENTER);
props.setLook(wbTargetFilename);
wbTargetFilename.setText(BaseMessages.getString(PKG, "JobExportRepository.BrowseFolders.Label"));
fdbTargetFilename = new FormData();
fdbTargetFilename.right = new FormAttachment(100, 0);
fdbTargetFilename.top = new FormAttachment(wSettings, margin);
wbTargetFilename.setLayoutData(fdbTargetFilename);
wbTargetFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
DirectoryDialog ddialog = new DirectoryDialog(shell, SWT.OPEN);
if (wTargetFilename.getText() != null) {
ddialog.setFilterPath(jobMeta.environmentSubstitute(wTargetFilename.getText()));
}
// Calling open() will open and run the dialog.
// It will return the selected directory, or
// null if user cancels
String dir = ddialog.open();
if (dir != null) {
// Set the text box to the new selection
wTargetFilename.setText(dir);
}
}
});
// Browse Source files button ...
wbTargetFoldername = new Button(wTarget, SWT.PUSH | SWT.CENTER);
props.setLook(wbTargetFoldername);
wbTargetFoldername.setText(BaseMessages.getString(PKG, "JobExportRepository.BrowseFiles.Label"));
fdbTargetFoldername = new FormData();
fdbTargetFoldername.right = new FormAttachment(wbTargetFilename, -margin);
fdbTargetFoldername.top = new FormAttachment(wSettings, margin);
wbTargetFoldername.setLayoutData(fdbTargetFoldername);
wbTargetFoldername.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.SAVE);
dialog.setFilterExtensions(new String[] { "*.xml", ".*" });
if (wTargetFilename.getText() != null) {
dialog.setFileName(jobMeta.environmentSubstitute(wTargetFilename.getText()));
}
dialog.setFilterNames(FILETYPES);
if (dialog.open() != null) {
wTargetFilename.setText(dialog.getFilterPath() + Const.FILE_SEPARATOR + dialog.getFileName());
}
}
});
// Target filename line
wTargetFilename = new TextVar(jobMeta, wTarget, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wTargetFilename);
wTargetFilename.setToolTipText(BaseMessages.getString(PKG, "JobExportRepository.TargetFilename.Tooltip"));
wTargetFilename.addModifyListener(lsMod);
fdTargetFilename = new FormData();
fdTargetFilename.left = new FormAttachment(middle, margin);
fdTargetFilename.top = new FormAttachment(wSettings, margin);
fdTargetFilename.right = new FormAttachment(wbTargetFoldername, -margin);
wTargetFilename.setLayoutData(fdTargetFilename);
// create folder or parent folder?
wlcreateFolder = new Label(wTarget, SWT.RIGHT);
wlcreateFolder.setText(BaseMessages.getString(PKG, "JobExportRepository.createFolder.Label"));
props.setLook(wlcreateFolder);
fdlcreateFolder = new FormData();
fdlcreateFolder.left = new FormAttachment(0, 0);
fdlcreateFolder.top = new FormAttachment(wTargetFilename, margin);
fdlcreateFolder.right = new FormAttachment(middle, -margin);
wlcreateFolder.setLayoutData(fdlcreateFolder);
wcreateFolder = new Button(wTarget, SWT.CHECK);
props.setLook(wcreateFolder);
wcreateFolder.setToolTipText(BaseMessages.getString(PKG, "JobExportRepository.createFolder.Tooltip"));
fdcreateFolder = new FormData();
fdcreateFolder.left = new FormAttachment(middle, margin);
fdcreateFolder.top = new FormAttachment(wTargetFilename, margin);
fdcreateFolder.right = new FormAttachment(100, 0);
wcreateFolder.setLayoutData(fdcreateFolder);
wcreateFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// Create multi-part file?
wlAddDate = new Label(wTarget, SWT.RIGHT);
wlAddDate.setText(BaseMessages.getString(PKG, "JobExportRepository.AddDate.Label"));
props.setLook(wlAddDate);
fdlAddDate = new FormData();
fdlAddDate.left = new FormAttachment(0, 0);
fdlAddDate.top = new FormAttachment(wcreateFolder, margin);
fdlAddDate.right = new FormAttachment(middle, -margin);
wlAddDate.setLayoutData(fdlAddDate);
wAddDate = new Button(wTarget, SWT.CHECK);
props.setLook(wAddDate);
wAddDate.setToolTipText(BaseMessages.getString(PKG, "JobExportRepository.AddDate.Tooltip"));
fdAddDate = new FormData();
fdAddDate.left = new FormAttachment(middle, margin);
fdAddDate.top = new FormAttachment(wcreateFolder, margin);
fdAddDate.right = new FormAttachment(100, 0);
wAddDate.setLayoutData(fdAddDate);
wAddDate.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// Create multi-part file?
wlAddTime = new Label(wTarget, SWT.RIGHT);
wlAddTime.setText(BaseMessages.getString(PKG, "JobExportRepository.AddTime.Label"));
props.setLook(wlAddTime);
fdlAddTime = new FormData();
fdlAddTime.left = new FormAttachment(0, 0);
fdlAddTime.top = new FormAttachment(wAddDate, margin);
fdlAddTime.right = new FormAttachment(middle, -margin);
wlAddTime.setLayoutData(fdlAddTime);
wAddTime = new Button(wTarget, SWT.CHECK);
props.setLook(wAddTime);
wAddTime.setToolTipText(BaseMessages.getString(PKG, "JobExportRepository.AddTime.Tooltip"));
fdAddTime = new FormData();
fdAddTime.left = new FormAttachment(middle, margin);
fdAddTime.top = new FormAttachment(wAddDate, margin);
fdAddTime.right = new FormAttachment(100, 0);
wAddTime.setLayoutData(fdAddTime);
wAddTime.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// Specify date time format?
wlSpecifyFormat = new Label(wTarget, SWT.RIGHT);
wlSpecifyFormat.setText(BaseMessages.getString(PKG, "JobExportRepository.SpecifyFormat.Label"));
props.setLook(wlSpecifyFormat);
fdlSpecifyFormat = new FormData();
fdlSpecifyFormat.left = new FormAttachment(0, 0);
fdlSpecifyFormat.top = new FormAttachment(wAddTime, margin);
fdlSpecifyFormat.right = new FormAttachment(middle, -margin);
wlSpecifyFormat.setLayoutData(fdlSpecifyFormat);
wSpecifyFormat = new Button(wTarget, SWT.CHECK);
props.setLook(wSpecifyFormat);
wSpecifyFormat.setToolTipText(BaseMessages.getString(PKG, "JobExportRepository.SpecifyFormat.Tooltip"));
fdSpecifyFormat = new FormData();
fdSpecifyFormat.left = new FormAttachment(middle, margin);
fdSpecifyFormat.top = new FormAttachment(wAddTime, margin);
fdSpecifyFormat.right = new FormAttachment(100, 0);
wSpecifyFormat.setLayoutData(fdSpecifyFormat);
wSpecifyFormat.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
setDateTimeFormat();
}
});
// DateTimeFormat
wlDateTimeFormat = new Label(wTarget, SWT.RIGHT);
wlDateTimeFormat.setText(BaseMessages.getString(PKG, "JobExportRepository.DateTimeFormat.Label"));
props.setLook(wlDateTimeFormat);
fdlDateTimeFormat = new FormData();
fdlDateTimeFormat.left = new FormAttachment(0, 0);
fdlDateTimeFormat.top = new FormAttachment(wSpecifyFormat, margin);
fdlDateTimeFormat.right = new FormAttachment(middle, -margin);
wlDateTimeFormat.setLayoutData(fdlDateTimeFormat);
wDateTimeFormat = new CCombo(wTarget, SWT.BORDER | SWT.READ_ONLY);
wDateTimeFormat.setEditable(true);
props.setLook(wDateTimeFormat);
wDateTimeFormat.addModifyListener(lsMod);
fdDateTimeFormat = new FormData();
fdDateTimeFormat.left = new FormAttachment(middle, margin);
fdDateTimeFormat.top = new FormAttachment(wSpecifyFormat, margin);
fdDateTimeFormat.right = new FormAttachment(100, 0);
wDateTimeFormat.setLayoutData(fdDateTimeFormat);
// Prepare a list of possible DateTimeFormats...
String[] dats = Const.getDateFormats();
for (int x = 0; x < dats.length; x++) {
wDateTimeFormat.add(dats[x]);
}
// If File Exists
wlIfFileExists = new Label(wTarget, SWT.RIGHT);
wlIfFileExists.setText(BaseMessages.getString(PKG, "JobExportRepository.IfFileExists.Label"));
props.setLook(wlIfFileExists);
fdlIfFileExists = new FormData();
fdlIfFileExists.left = new FormAttachment(0, 0);
fdlIfFileExists.right = new FormAttachment(middle, 0);
fdlIfFileExists.top = new FormAttachment(wDateTimeFormat, margin);
wlIfFileExists.setLayoutData(fdlIfFileExists);
wIfFileExists = new CCombo(wTarget, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wIfFileExists.add(BaseMessages.getString(PKG, "JobExportRepository.Do_Nothing_IfFileExists.Label"));
wIfFileExists.add(BaseMessages.getString(PKG, "JobExportRepository.Overwrite_File_IfFileExists.Label"));
wIfFileExists.add(BaseMessages.getString(PKG, "JobExportRepository.Unique_Name_IfFileExists.Label"));
wIfFileExists.add(BaseMessages.getString(PKG, "JobExportRepository.Fail_IfFileExists.Label"));
// +1: starts at -1
wIfFileExists.select(0);
props.setLook(wIfFileExists);
fdIfFileExists = new FormData();
fdIfFileExists.left = new FormAttachment(middle, margin);
fdIfFileExists.top = new FormAttachment(wDateTimeFormat, margin);
fdIfFileExists.right = new FormAttachment(100, 0);
wIfFileExists.setLayoutData(fdIfFileExists);
// Add file to result
wlAddFileToResult = new Label(wTarget, SWT.RIGHT);
wlAddFileToResult.setText(BaseMessages.getString(PKG, "JobExportRepository.AddFileToResult.Label"));
props.setLook(wlAddFileToResult);
fdlAddFileToResult = new FormData();
fdlAddFileToResult.left = new FormAttachment(0, 0);
fdlAddFileToResult.top = new FormAttachment(wIfFileExists, margin);
fdlAddFileToResult.right = new FormAttachment(middle, -margin);
wlAddFileToResult.setLayoutData(fdlAddFileToResult);
wAddFileToResult = new Button(wTarget, SWT.CHECK);
props.setLook(wAddFileToResult);
wAddFileToResult.setToolTipText(BaseMessages.getString(PKG, "JobExportRepository.AddFileToResult.Tooltip"));
fdAddFileToResult = new FormData();
fdAddFileToResult.left = new FormAttachment(middle, margin);
fdAddFileToResult.top = new FormAttachment(wIfFileExists, margin);
fdAddFileToResult.right = new FormAttachment(100, 0);
wAddFileToResult.setLayoutData(fdAddFileToResult);
wAddFileToResult.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
fdTarget = new FormData();
fdTarget.left = new FormAttachment(0, margin);
fdTarget.top = new FormAttachment(wSettings, margin);
fdTarget.right = new FormAttachment(100, -margin);
wTarget.setLayoutData(fdTarget);
// ///////////////////////////////////////////////////////////
// / END OF Target GROUP
// ///////////////////////////////////////////////////////////
fdGeneralComp = new FormData();
fdGeneralComp.left = new FormAttachment(0, 0);
fdGeneralComp.top = new FormAttachment(0, 0);
fdGeneralComp.right = new FormAttachment(100, 0);
fdGeneralComp.bottom = new FormAttachment(100, 0);
wGeneralComp.setLayoutData(fdGeneralComp);
wGeneralComp.layout();
wGeneralTab.setControl(wGeneralComp);
props.setLook(wGeneralComp);
// ///////////////////////////////////////////////////////////
// / END OF GENERAL TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////////////////
// START OF ADVANCED TAB ///
// ///////////////////////////////////
wAdvancedTab = new CTabItem(wTabFolder, SWT.NONE);
wAdvancedTab.setText(BaseMessages.getString(PKG, "JobExportRepository.Tab.Advanced.Label"));
FormLayout contentLayout = new FormLayout();
contentLayout.marginWidth = 3;
contentLayout.marginHeight = 3;
wAdvancedComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wAdvancedComp);
wAdvancedComp.setLayout(contentLayout);
// SuccessOngrouping?
// ////////////////////////
// START OF SUCCESS ON GROUP///
// /
wSuccessOn = new Group(wAdvancedComp, SWT.SHADOW_NONE);
props.setLook(wSuccessOn);
wSuccessOn.setText(BaseMessages.getString(PKG, "JobExportRepository.SuccessOn.Group.Label"));
FormLayout successongroupLayout = new FormLayout();
successongroupLayout.marginWidth = 10;
successongroupLayout.marginHeight = 10;
wSuccessOn.setLayout(successongroupLayout);
// Success Condition
wlSuccessCondition = new Label(wSuccessOn, SWT.RIGHT);
wlSuccessCondition.setText(BaseMessages.getString(PKG, "JobExportRepository.SuccessCondition.Label"));
props.setLook(wlSuccessCondition);
fdlSuccessCondition = new FormData();
fdlSuccessCondition.left = new FormAttachment(0, 0);
fdlSuccessCondition.right = new FormAttachment(middle, 0);
fdlSuccessCondition.top = new FormAttachment(0, margin);
wlSuccessCondition.setLayoutData(fdlSuccessCondition);
wSuccessCondition = new CCombo(wSuccessOn, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wSuccessCondition.add(BaseMessages.getString(PKG, "JobExportRepository.SuccessWhenAllWorksFine.Label"));
wSuccessCondition.add(BaseMessages.getString(PKG, "JobExportRepository.SuccessWhenErrorsLessThan.Label"));
// +1: starts at -1
wSuccessCondition.select(0);
props.setLook(wSuccessCondition);
fdSuccessCondition = new FormData();
fdSuccessCondition.left = new FormAttachment(middle, 0);
fdSuccessCondition.top = new FormAttachment(0, margin);
fdSuccessCondition.right = new FormAttachment(100, 0);
wSuccessCondition.setLayoutData(fdSuccessCondition);
wSuccessCondition.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
activeSuccessCondition();
}
});
// Success when number of errors less than
wlLimit = new Label(wSuccessOn, SWT.RIGHT);
wlLimit.setText(BaseMessages.getString(PKG, "JobExportRepository.Limit.Label"));
props.setLook(wlLimit);
fdlLimit = new FormData();
fdlLimit.left = new FormAttachment(0, 0);
fdlLimit.top = new FormAttachment(wSuccessCondition, margin);
fdlLimit.right = new FormAttachment(middle, -margin);
wlLimit.setLayoutData(fdlLimit);
wLimit = new TextVar(jobMeta, wSuccessOn, SWT.SINGLE | SWT.LEFT | SWT.BORDER, BaseMessages.getString(PKG, "JobExportRepository.NrLimit.Tooltip"));
props.setLook(wLimit);
wLimit.addModifyListener(lsMod);
fdLimit = new FormData();
fdLimit.left = new FormAttachment(middle, 0);
fdLimit.top = new FormAttachment(wSuccessCondition, margin);
fdLimit.right = new FormAttachment(100, -margin);
wLimit.setLayoutData(fdLimit);
fdSuccessOn = new FormData();
fdSuccessOn.left = new FormAttachment(0, margin);
fdSuccessOn.top = new FormAttachment(0, margin);
fdSuccessOn.right = new FormAttachment(100, -margin);
wSuccessOn.setLayoutData(fdSuccessOn);
// ///////////////////////////////////////////////////////////
// / END OF Success ON GROUP
// ///////////////////////////////////////////////////////////
fdAdvancedComp = new FormData();
fdAdvancedComp.left = new FormAttachment(0, 0);
fdAdvancedComp.top = new FormAttachment(0, 0);
fdAdvancedComp.right = new FormAttachment(100, 0);
fdAdvancedComp.bottom = new FormAttachment(100, 0);
wAdvancedComp.setLayoutData(wAdvancedComp);
wAdvancedComp.layout();
wAdvancedTab.setControl(wAdvancedComp);
// ///////////////////////////////////////////////////////////
// / END OF ADVANCED TAB
// ///////////////////////////////////////////////////////////
fdTabFolder = new FormData();
fdTabFolder.left = new FormAttachment(0, 0);
fdTabFolder.top = new FormAttachment(wName, margin);
fdTabFolder.right = new FormAttachment(100, 0);
fdTabFolder.bottom = new FormAttachment(100, -50);
wTabFolder.setLayoutData(fdTabFolder);
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
BaseStepDialog.positionBottomButtons(shell, new Button[] { wOK, wCancel }, margin, wTabFolder);
// Add listeners
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
lsTest = new Listener() {
public void handleEvent(Event e) {
repConnect(true);
}
};
wCancel.addListener(SWT.Selection, lsCancel);
wOK.addListener(SWT.Selection, lsOK);
wTest.addListener(SWT.Selection, lsTest);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wName.addSelectionListener(lsDef);
wRepositoryname.addSelectionListener(lsDef);
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
getData();
activeOneFolder();
setDateTimeFormat();
activeSuccessCondition();
wTabFolder.setSelection(0);
BaseStepDialog.setSize(shell);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return jobEntry;
}
use of org.pentaho.di.ui.core.widget.TextVar in project pentaho-kettle by pentaho.
the class JobEntryFileCompareDialog method open.
public JobEntryInterface open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, props.getJobsDialogStyle());
props.setLook(shell);
JobDialog.setShellImage(shell, jobEntry);
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
jobEntry.setChanged();
}
};
changed = jobEntry.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "JobFileCompare.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Name line
wlName = new Label(shell, SWT.RIGHT);
wlName.setText(BaseMessages.getString(PKG, "JobFileCompare.Name.Label"));
props.setLook(wlName);
fdlName = new FormData();
fdlName.left = new FormAttachment(0, 0);
fdlName.right = new FormAttachment(middle, -margin);
fdlName.top = new FormAttachment(0, margin);
wlName.setLayoutData(fdlName);
wName = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wName);
wName.addModifyListener(lsMod);
fdName = new FormData();
fdName.left = new FormAttachment(middle, 0);
fdName.top = new FormAttachment(0, margin);
fdName.right = new FormAttachment(100, 0);
wName.setLayoutData(fdName);
// Filename 1 line
wlFilename1 = new Label(shell, SWT.RIGHT);
wlFilename1.setText(BaseMessages.getString(PKG, "JobFileCompare.Filename1.Label"));
props.setLook(wlFilename1);
fdlFilename1 = new FormData();
fdlFilename1.left = new FormAttachment(0, 0);
fdlFilename1.top = new FormAttachment(wName, margin);
fdlFilename1.right = new FormAttachment(middle, -margin);
wlFilename1.setLayoutData(fdlFilename1);
wbFilename1 = new Button(shell, SWT.PUSH | SWT.CENTER);
props.setLook(wbFilename1);
wbFilename1.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
fdbFilename1 = new FormData();
fdbFilename1.right = new FormAttachment(100, 0);
fdbFilename1.top = new FormAttachment(wName, 0);
wbFilename1.setLayoutData(fdbFilename1);
wFilename1 = new TextVar(jobMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilename1);
wFilename1.addModifyListener(lsMod);
fdFilename1 = new FormData();
fdFilename1.left = new FormAttachment(middle, 0);
fdFilename1.top = new FormAttachment(wName, margin);
fdFilename1.right = new FormAttachment(wbFilename1, -margin);
wFilename1.setLayoutData(fdFilename1);
// Whenever something changes, set the tooltip to the expanded version:
wFilename1.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wFilename1.setToolTipText(jobMeta.environmentSubstitute(wFilename1.getText()));
}
});
wbFilename1.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*" });
if (wFilename1.getText() != null) {
dialog.setFileName(jobMeta.environmentSubstitute(wFilename1.getText()));
}
dialog.setFilterNames(FILETYPES);
if (dialog.open() != null) {
wFilename1.setText(dialog.getFilterPath() + Const.FILE_SEPARATOR + dialog.getFileName());
}
}
});
// Filename 2 line
wlFilename2 = new Label(shell, SWT.RIGHT);
wlFilename2.setText(BaseMessages.getString(PKG, "JobFileCompare.Filename2.Label"));
props.setLook(wlFilename2);
fdlFilename2 = new FormData();
fdlFilename2.left = new FormAttachment(0, 0);
fdlFilename2.top = new FormAttachment(wFilename1, margin);
fdlFilename2.right = new FormAttachment(middle, -margin);
wlFilename2.setLayoutData(fdlFilename2);
wbFilename2 = new Button(shell, SWT.PUSH | SWT.CENTER);
props.setLook(wbFilename2);
wbFilename2.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
fdbFilename2 = new FormData();
fdbFilename2.right = new FormAttachment(100, 0);
fdbFilename2.top = new FormAttachment(wFilename1, 0);
wbFilename2.setLayoutData(fdbFilename2);
wFilename2 = new TextVar(jobMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilename2);
wFilename2.addModifyListener(lsMod);
fdFilename2 = new FormData();
fdFilename2.left = new FormAttachment(middle, 0);
fdFilename2.top = new FormAttachment(wFilename1, margin);
fdFilename2.right = new FormAttachment(wbFilename2, -margin);
wFilename2.setLayoutData(fdFilename2);
// Whenever something changes, set the tooltip to the expanded version:
wFilename2.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wFilename2.setToolTipText(jobMeta.environmentSubstitute(wFilename2.getText()));
}
});
wbFilename2.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*" });
if (wFilename2.getText() != null) {
dialog.setFileName(jobMeta.environmentSubstitute(wFilename2.getText()));
}
dialog.setFilterNames(FILETYPES);
if (dialog.open() != null) {
wFilename2.setText(dialog.getFilterPath() + Const.FILE_SEPARATOR + dialog.getFileName());
}
}
});
// Add filename to result filenames
wlAddFilenameResult = new Label(shell, SWT.RIGHT);
wlAddFilenameResult.setText(BaseMessages.getString(PKG, "JobFileCompare.AddFilenameResult.Label"));
props.setLook(wlAddFilenameResult);
fdlAddFilenameResult = new FormData();
fdlAddFilenameResult.left = new FormAttachment(0, 0);
fdlAddFilenameResult.top = new FormAttachment(wbFilename2, margin);
fdlAddFilenameResult.right = new FormAttachment(middle, -margin);
wlAddFilenameResult.setLayoutData(fdlAddFilenameResult);
wAddFilenameResult = new Button(shell, SWT.CHECK);
props.setLook(wAddFilenameResult);
wAddFilenameResult.setToolTipText(BaseMessages.getString(PKG, "JobFileCompare.AddFilenameResult.Tooltip"));
fdAddFilenameResult = new FormData();
fdAddFilenameResult.left = new FormAttachment(middle, 0);
fdAddFilenameResult.top = new FormAttachment(wbFilename2, margin);
fdAddFilenameResult.right = new FormAttachment(100, 0);
wAddFilenameResult.setLayoutData(fdAddFilenameResult);
wAddFilenameResult.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
BaseStepDialog.positionBottomButtons(shell, new Button[] { wOK, wCancel }, margin, wAddFilenameResult);
// Add listeners
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
wCancel.addListener(SWT.Selection, lsCancel);
wOK.addListener(SWT.Selection, lsOK);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wName.addSelectionListener(lsDef);
wFilename1.addSelectionListener(lsDef);
wFilename2.addSelectionListener(lsDef);
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
getData();
BaseStepDialog.setSize(shell);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return jobEntry;
}
use of org.pentaho.di.ui.core.widget.TextVar in project pentaho-kettle by pentaho.
the class JobEntryFolderIsEmptyDialog method open.
public JobEntryInterface open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, props.getJobsDialogStyle());
props.setLook(shell);
JobDialog.setShellImage(shell, jobEntry);
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
jobEntry.setChanged();
}
};
changed = jobEntry.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "JobFolderIsEmpty.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Foldername line
wlName = new Label(shell, SWT.RIGHT);
wlName.setText(BaseMessages.getString(PKG, "JobFolderIsEmpty.Name.Label"));
props.setLook(wlName);
fdlName = new FormData();
fdlName.left = new FormAttachment(0, 0);
fdlName.right = new FormAttachment(middle, -margin);
fdlName.top = new FormAttachment(0, margin);
wlName.setLayoutData(fdlName);
wName = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wName);
wName.addModifyListener(lsMod);
fdName = new FormData();
fdName.left = new FormAttachment(middle, 0);
fdName.top = new FormAttachment(0, margin);
fdName.right = new FormAttachment(100, 0);
wName.setLayoutData(fdName);
// Foldername line
wlFoldername = new Label(shell, SWT.RIGHT);
wlFoldername.setText(BaseMessages.getString(PKG, "JobFolderIsEmpty.Foldername.Label"));
props.setLook(wlFoldername);
fdlFoldername = new FormData();
fdlFoldername.left = new FormAttachment(0, 0);
fdlFoldername.top = new FormAttachment(wName, margin);
fdlFoldername.right = new FormAttachment(middle, -margin);
wlFoldername.setLayoutData(fdlFoldername);
wbFoldername = new Button(shell, SWT.PUSH | SWT.CENTER);
props.setLook(wbFoldername);
wbFoldername.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
fdbFoldername = new FormData();
fdbFoldername.right = new FormAttachment(100, 0);
fdbFoldername.top = new FormAttachment(wName, 0);
wbFoldername.setLayoutData(fdbFoldername);
wFoldername = new TextVar(jobMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFoldername);
wFoldername.addModifyListener(lsMod);
fdFoldername = new FormData();
fdFoldername.left = new FormAttachment(middle, 0);
fdFoldername.top = new FormAttachment(wName, margin);
fdFoldername.right = new FormAttachment(wbFoldername, -margin);
wFoldername.setLayoutData(fdFoldername);
// Include sub folders?
wlIncludeSubFolders = new Label(shell, SWT.RIGHT);
wlIncludeSubFolders.setText(BaseMessages.getString(PKG, "JobFolderIsEmpty.IncludeSubFolders.Label"));
props.setLook(wlIncludeSubFolders);
fdlIncludeSubFolders = new FormData();
fdlIncludeSubFolders.left = new FormAttachment(0, 0);
fdlIncludeSubFolders.top = new FormAttachment(wFoldername, margin);
fdlIncludeSubFolders.right = new FormAttachment(middle, -margin);
wlIncludeSubFolders.setLayoutData(fdlIncludeSubFolders);
wIncludeSubFolders = new Button(shell, SWT.CHECK);
props.setLook(wIncludeSubFolders);
wIncludeSubFolders.setToolTipText(BaseMessages.getString(PKG, "JobFolderIsEmpty.IncludeSubFolders.Tooltip"));
fdIncludeSubFolders = new FormData();
fdIncludeSubFolders.left = new FormAttachment(middle, 0);
fdIncludeSubFolders.top = new FormAttachment(wFoldername, margin);
fdIncludeSubFolders.right = new FormAttachment(100, 0);
wIncludeSubFolders.setLayoutData(fdIncludeSubFolders);
wIncludeSubFolders.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// Specify wildcard?
wlSpecifyWildcard = new Label(shell, SWT.RIGHT);
wlSpecifyWildcard.setText(BaseMessages.getString(PKG, "JobFolderIsEmpty.SpecifyWildcard.Label"));
props.setLook(wlSpecifyWildcard);
fdlSpecifyWildcard = new FormData();
fdlSpecifyWildcard.left = new FormAttachment(0, 0);
fdlSpecifyWildcard.top = new FormAttachment(wIncludeSubFolders, margin);
fdlSpecifyWildcard.right = new FormAttachment(middle, -margin);
wlSpecifyWildcard.setLayoutData(fdlSpecifyWildcard);
wSpecifyWildcard = new Button(shell, SWT.CHECK);
props.setLook(wSpecifyWildcard);
wSpecifyWildcard.setToolTipText(BaseMessages.getString(PKG, "JobFolderIsEmpty.SpecifyWildcard.Tooltip"));
fdSpecifyWildcard = new FormData();
fdSpecifyWildcard.left = new FormAttachment(middle, 0);
fdSpecifyWildcard.top = new FormAttachment(wIncludeSubFolders, margin);
fdSpecifyWildcard.right = new FormAttachment(100, 0);
wSpecifyWildcard.setLayoutData(fdSpecifyWildcard);
wSpecifyWildcard.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
CheckLimitSearch();
}
});
// Wildcard line
wlWildcard = new Label(shell, SWT.RIGHT);
wlWildcard.setText(BaseMessages.getString(PKG, "JobFolderIsEmpty.Wildcard.Label"));
props.setLook(wlWildcard);
fdlWildcard = new FormData();
fdlWildcard.left = new FormAttachment(0, 0);
fdlWildcard.top = new FormAttachment(wSpecifyWildcard, margin);
fdlWildcard.right = new FormAttachment(middle, -margin);
wlWildcard.setLayoutData(fdlWildcard);
wWildcard = new TextVar(jobMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wWildcard);
wWildcard.addModifyListener(lsMod);
fdWildcard = new FormData();
fdWildcard.left = new FormAttachment(middle, 0);
fdWildcard.top = new FormAttachment(wSpecifyWildcard, margin);
fdWildcard.right = new FormAttachment(100, -margin);
wWildcard.setLayoutData(fdWildcard);
// Whenever something changes, set the tooltip to the expanded version:
wFoldername.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wFoldername.setToolTipText(jobMeta.environmentSubstitute(wFoldername.getText()));
}
});
// Whenever something changes, set the tooltip to the expanded version:
wWildcard.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wWildcard.setToolTipText(jobMeta.environmentSubstitute(wWildcard.getText()));
}
});
wbFoldername.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
DirectoryDialog dialog = new DirectoryDialog(shell, SWT.OPEN);
if (wFoldername.getText() != null) {
dialog.setFilterPath(jobMeta.environmentSubstitute(wFoldername.getText()));
}
String dir = dialog.open();
if (dir != null) {
wFoldername.setText(dir);
}
}
});
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
BaseStepDialog.positionBottomButtons(shell, new Button[] { wOK, wCancel }, margin, wWildcard);
// Add listeners
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
wCancel.addListener(SWT.Selection, lsCancel);
wOK.addListener(SWT.Selection, lsOK);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wName.addSelectionListener(lsDef);
wFoldername.addSelectionListener(lsDef);
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
getData();
CheckLimitSearch();
BaseStepDialog.setSize(shell);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return jobEntry;
}
use of org.pentaho.di.ui.core.widget.TextVar in project pentaho-kettle by pentaho.
the class JobEntryFoldersCompareDialog method open.
public JobEntryInterface open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, props.getJobsDialogStyle());
props.setLook(shell);
JobDialog.setShellImage(shell, jobEntry);
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
jobEntry.setChanged();
}
};
changed = jobEntry.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "JobFoldersCompare.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Name line
wlName = new Label(shell, SWT.RIGHT);
wlName.setText(BaseMessages.getString(PKG, "JobFoldersCompare.Name.Label"));
props.setLook(wlName);
fdlName = new FormData();
fdlName.left = new FormAttachment(0, 0);
fdlName.right = new FormAttachment(middle, -margin);
fdlName.top = new FormAttachment(0, margin);
wlName.setLayoutData(fdlName);
wName = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wName);
wName.addModifyListener(lsMod);
fdName = new FormData();
fdName.left = new FormAttachment(middle, 0);
fdName.top = new FormAttachment(0, margin);
fdName.right = new FormAttachment(100, 0);
wName.setLayoutData(fdName);
// SETTINGS grouping?
// ////////////////////////
// START OF SETTINGS GROUP
//
wSettings = new Group(shell, SWT.SHADOW_NONE);
props.setLook(wSettings);
wSettings.setText(BaseMessages.getString(PKG, "JobFoldersCompare.Settings.Label"));
FormLayout groupLayout = new FormLayout();
groupLayout.marginWidth = 10;
groupLayout.marginHeight = 10;
wSettings.setLayout(groupLayout);
wlIncludeSubfolders = new Label(wSettings, SWT.RIGHT);
wlIncludeSubfolders.setText(BaseMessages.getString(PKG, "JobFoldersCompare.IncludeSubfolders.Label"));
props.setLook(wlIncludeSubfolders);
fdlIncludeSubfolders = new FormData();
fdlIncludeSubfolders.left = new FormAttachment(0, 0);
fdlIncludeSubfolders.top = new FormAttachment(wName, margin);
fdlIncludeSubfolders.right = new FormAttachment(middle, -margin);
wlIncludeSubfolders.setLayoutData(fdlIncludeSubfolders);
wIncludeSubfolders = new Button(wSettings, SWT.CHECK);
props.setLook(wIncludeSubfolders);
wIncludeSubfolders.setToolTipText(BaseMessages.getString(PKG, "JobFoldersCompare.IncludeSubfolders.Tooltip"));
fdIncludeSubfolders = new FormData();
fdIncludeSubfolders.left = new FormAttachment(middle, 0);
fdIncludeSubfolders.top = new FormAttachment(wName, margin);
fdIncludeSubfolders.right = new FormAttachment(100, 0);
wIncludeSubfolders.setLayoutData(fdIncludeSubfolders);
wIncludeSubfolders.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// Compare Only?
wlCompareOnly = new Label(wSettings, SWT.RIGHT);
wlCompareOnly.setText(BaseMessages.getString(PKG, "JobFoldersCompare.CompareOnly.Label"));
props.setLook(wlCompareOnly);
fdlCompareOnly = new FormData();
fdlCompareOnly.left = new FormAttachment(0, 0);
fdlCompareOnly.right = new FormAttachment(middle, 0);
fdlCompareOnly.top = new FormAttachment(wIncludeSubfolders, margin);
wlCompareOnly.setLayoutData(fdlCompareOnly);
wCompareOnly = new CCombo(wSettings, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wCompareOnly.add(BaseMessages.getString(PKG, "JobFoldersCompare.All_CompareOnly.Label"));
wCompareOnly.add(BaseMessages.getString(PKG, "JobFoldersCompare.Files_CompareOnly.Label"));
wCompareOnly.add(BaseMessages.getString(PKG, "JobFoldersCompare.Folders_CompareOnly.Label"));
wCompareOnly.add(BaseMessages.getString(PKG, "JobFoldersCompare.Specify_CompareOnly.Label"));
// +1: starts at -1
wCompareOnly.select(0);
props.setLook(wCompareOnly);
fdCompareOnly = new FormData();
fdCompareOnly.left = new FormAttachment(middle, 0);
fdCompareOnly.top = new FormAttachment(wIncludeSubfolders, margin);
fdCompareOnly.right = new FormAttachment(100, -margin);
wCompareOnly.setLayoutData(fdCompareOnly);
wCompareOnly.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
SpecifyCompareOnlyActivate();
}
});
// Wildcard
wlWildcard = new Label(wSettings, SWT.RIGHT);
wlWildcard.setText(BaseMessages.getString(PKG, "JobFoldersCompare.Wildcard.Label"));
props.setLook(wlWildcard);
fdlWildcard = new FormData();
fdlWildcard.left = new FormAttachment(0, 0);
fdlWildcard.top = new FormAttachment(wCompareOnly, margin);
fdlWildcard.right = new FormAttachment(middle, -margin);
wlWildcard.setLayoutData(fdlWildcard);
wWildcard = new TextVar(jobMeta, wSettings, SWT.SINGLE | SWT.LEFT | SWT.BORDER, BaseMessages.getString(PKG, "JobFoldersCompare.Wildcard.Tooltip"));
props.setLook(wWildcard);
wWildcard.addModifyListener(lsMod);
fdWildcard = new FormData();
fdWildcard.left = new FormAttachment(middle, 0);
fdWildcard.top = new FormAttachment(wCompareOnly, margin);
fdWildcard.right = new FormAttachment(100, -margin);
wWildcard.setLayoutData(fdWildcard);
wlCompareFileSize = new Label(wSettings, SWT.RIGHT);
wlCompareFileSize.setText(BaseMessages.getString(PKG, "JobFoldersCompare.CompareFileSize.Label"));
props.setLook(wlCompareFileSize);
fdlCompareFileSize = new FormData();
fdlCompareFileSize.left = new FormAttachment(0, 0);
fdlCompareFileSize.top = new FormAttachment(wWildcard, margin);
fdlCompareFileSize.right = new FormAttachment(middle, -margin);
wlCompareFileSize.setLayoutData(fdlCompareFileSize);
wCompareFileSize = new Button(wSettings, SWT.CHECK);
props.setLook(wCompareFileSize);
wCompareFileSize.setToolTipText(BaseMessages.getString(PKG, "JobFoldersCompare.CompareFileSize.Tooltip"));
fdCompareFileSize = new FormData();
fdCompareFileSize.left = new FormAttachment(middle, 0);
fdCompareFileSize.top = new FormAttachment(wWildcard, margin);
fdCompareFileSize.right = new FormAttachment(100, 0);
wCompareFileSize.setLayoutData(fdCompareFileSize);
wCompareFileSize.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
wlCompareFileContent = new Label(wSettings, SWT.RIGHT);
wlCompareFileContent.setText(BaseMessages.getString(PKG, "JobFoldersCompare.CompareFileContent.Label"));
props.setLook(wlCompareFileContent);
fdlCompareFileContent = new FormData();
fdlCompareFileContent.left = new FormAttachment(0, 0);
fdlCompareFileContent.top = new FormAttachment(wCompareFileSize, margin);
fdlCompareFileContent.right = new FormAttachment(middle, -margin);
wlCompareFileContent.setLayoutData(fdlCompareFileContent);
wCompareFileContent = new Button(wSettings, SWT.CHECK);
props.setLook(wCompareFileContent);
wCompareFileContent.setToolTipText(BaseMessages.getString(PKG, "JobFoldersCompare.CompareFileContent.Tooltip"));
fdCompareFileContent = new FormData();
fdCompareFileContent.left = new FormAttachment(middle, 0);
fdCompareFileContent.top = new FormAttachment(wCompareFileSize, margin);
fdCompareFileContent.right = new FormAttachment(100, 0);
wCompareFileContent.setLayoutData(fdCompareFileContent);
wCompareFileContent.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
fdSettings = new FormData();
fdSettings.left = new FormAttachment(0, margin);
fdSettings.top = new FormAttachment(wName, margin);
fdSettings.right = new FormAttachment(100, -margin);
wSettings.setLayoutData(fdSettings);
// ///////////////////////////////////////////////////////////
// / END OF SETTINGS GROUP
// ///////////////////////////////////////////////////////////
// Filename 1 line
wlFilename1 = new Label(shell, SWT.RIGHT);
wlFilename1.setText(BaseMessages.getString(PKG, "JobFoldersCompare.Filename1.Label"));
props.setLook(wlFilename1);
fdlFilename1 = new FormData();
fdlFilename1.left = new FormAttachment(0, 0);
fdlFilename1.top = new FormAttachment(wSettings, 2 * margin);
fdlFilename1.right = new FormAttachment(middle, -margin);
wlFilename1.setLayoutData(fdlFilename1);
// Browse folders button ...
wbDirectory1 = new Button(shell, SWT.PUSH | SWT.CENTER);
props.setLook(wbDirectory1);
wbDirectory1.setText(BaseMessages.getString(PKG, "JobFoldersCompare.FolderBrowse.Label"));
fdbDirectory1 = new FormData();
fdbDirectory1.right = new FormAttachment(100, -margin);
fdbDirectory1.top = new FormAttachment(wSettings, 2 * margin);
wbDirectory1.setLayoutData(fdbDirectory1);
wbDirectory1.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
DirectoryDialog ddialog = new DirectoryDialog(shell, SWT.OPEN);
if (wFilename1.getText() != null) {
ddialog.setFilterPath(jobMeta.environmentSubstitute(wFilename1.getText()));
}
// Calling open() will open and run the dialog.
// It will return the selected directory, or
// null if user cancels
String dir = ddialog.open();
if (dir != null) {
// Set the text box to the new selection
wFilename1.setText(dir);
}
}
});
// Browse files ..
wbFilename1 = new Button(shell, SWT.PUSH | SWT.CENTER);
props.setLook(wbFilename1);
wbFilename1.setText(BaseMessages.getString(PKG, "JobFoldersCompare.FileBrowse.Label"));
fdbFilename1 = new FormData();
fdbFilename1.right = new FormAttachment(wbDirectory1, -margin);
fdbFilename1.top = new FormAttachment(wSettings, 2 * margin);
wbFilename1.setLayoutData(fdbFilename1);
wFilename1 = new TextVar(jobMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilename1);
wFilename1.addModifyListener(lsMod);
fdFilename1 = new FormData();
fdFilename1.left = new FormAttachment(middle, 0);
fdFilename1.top = new FormAttachment(wSettings, 2 * margin);
fdFilename1.right = new FormAttachment(wbFilename1, -margin);
wFilename1.setLayoutData(fdFilename1);
// Whenever something changes, set the tooltip to the expanded version:
wFilename1.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wFilename1.setToolTipText(jobMeta.environmentSubstitute(wFilename1.getText()));
}
});
wbFilename1.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*" });
if (wFilename1.getText() != null) {
dialog.setFileName(jobMeta.environmentSubstitute(wFilename1.getText()));
}
dialog.setFilterNames(FILETYPES);
if (dialog.open() != null) {
wFilename1.setText(dialog.getFilterPath() + Const.FILE_SEPARATOR + dialog.getFileName());
}
}
});
// Filename 2 line
wlFilename2 = new Label(shell, SWT.RIGHT);
wlFilename2.setText(BaseMessages.getString(PKG, "JobFoldersCompare.Filename2.Label"));
props.setLook(wlFilename2);
fdlFilename2 = new FormData();
fdlFilename2.left = new FormAttachment(0, 0);
fdlFilename2.top = new FormAttachment(wFilename1, margin);
fdlFilename2.right = new FormAttachment(middle, -margin);
wlFilename2.setLayoutData(fdlFilename2);
// Browse folders button ...
wbDirectory2 = new Button(shell, SWT.PUSH | SWT.CENTER);
props.setLook(wbDirectory2);
wbDirectory2.setText(BaseMessages.getString(PKG, "JobFoldersCompare.FolderBrowse.Label"));
fdbDirectory2 = new FormData();
fdbDirectory2.right = new FormAttachment(100, -margin);
fdbDirectory2.top = new FormAttachment(wFilename1, margin);
wbDirectory2.setLayoutData(fdbDirectory2);
wbDirectory2.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
DirectoryDialog ddialog = new DirectoryDialog(shell, SWT.OPEN);
if (wFilename2.getText() != null) {
ddialog.setFilterPath(jobMeta.environmentSubstitute(wFilename2.getText()));
}
// Calling open() will open and run the dialog.
// It will return the selected directory, or
// null if user cancels
String dir = ddialog.open();
if (dir != null) {
// Set the text box to the new selection
wFilename2.setText(dir);
}
}
});
// Browse files...
wbFilename2 = new Button(shell, SWT.PUSH | SWT.CENTER);
props.setLook(wbFilename2);
wbFilename2.setText(BaseMessages.getString(PKG, "JobFoldersCompare.FileBrowse.Label"));
fdbFilename2 = new FormData();
fdbFilename2.right = new FormAttachment(wbDirectory2, -margin);
fdbFilename2.top = new FormAttachment(wFilename1, margin);
wbFilename2.setLayoutData(fdbFilename2);
wFilename2 = new TextVar(jobMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilename2);
wFilename2.addModifyListener(lsMod);
fdFilename2 = new FormData();
fdFilename2.left = new FormAttachment(middle, 0);
fdFilename2.top = new FormAttachment(wFilename1, margin);
fdFilename2.right = new FormAttachment(wbFilename2, -margin);
wFilename2.setLayoutData(fdFilename2);
// Whenever something changes, set the tooltip to the expanded version:
wFilename2.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wFilename2.setToolTipText(jobMeta.environmentSubstitute(wFilename2.getText()));
}
});
wbFilename2.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*" });
if (wFilename2.getText() != null) {
dialog.setFileName(jobMeta.environmentSubstitute(wFilename2.getText()));
}
dialog.setFilterNames(FILETYPES);
if (dialog.open() != null) {
wFilename2.setText(dialog.getFilterPath() + Const.FILE_SEPARATOR + dialog.getFileName());
}
}
});
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
BaseStepDialog.positionBottomButtons(shell, new Button[] { wOK, wCancel }, margin, wFilename2);
// Add listeners
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
wCancel.addListener(SWT.Selection, lsCancel);
wOK.addListener(SWT.Selection, lsOK);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wName.addSelectionListener(lsDef);
wFilename1.addSelectionListener(lsDef);
wFilename2.addSelectionListener(lsDef);
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
getData();
SpecifyCompareOnlyActivate();
BaseStepDialog.setSize(shell);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return jobEntry;
}
Aggregations