use of org.pentaho.di.ui.core.widget.TableView in project pentaho-kettle by pentaho.
the class LoadFileInputDialog method open.
public String open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN);
props.setLook(shell);
setShellImage(shell, input);
lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
input.setChanged();
}
};
changed = input.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.DialogTitle"));
middle = props.getMiddlePct();
margin = Const.MARGIN;
// Stepname line
wlStepname = new Label(shell, SWT.RIGHT);
wlStepname.setText(BaseMessages.getString(PKG, "System.Label.StepName"));
props.setLook(wlStepname);
fdlStepname = new FormData();
fdlStepname.left = new FormAttachment(0, 0);
fdlStepname.top = new FormAttachment(0, margin);
fdlStepname.right = new FormAttachment(middle, -margin);
wlStepname.setLayoutData(fdlStepname);
wStepname = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wStepname.setText(stepname);
props.setLook(wStepname);
wStepname.addModifyListener(lsMod);
fdStepname = new FormData();
fdStepname.left = new FormAttachment(middle, 0);
fdStepname.top = new FormAttachment(0, margin);
fdStepname.right = new FormAttachment(100, 0);
wStepname.setLayoutData(fdStepname);
wTabFolder = new CTabFolder(shell, SWT.BORDER);
props.setLook(wTabFolder, Props.WIDGET_STYLE_TAB);
// ////////////////////////
// START OF FILE TAB ///
// ////////////////////////
wFileTab = new CTabItem(wTabFolder, SWT.NONE);
wFileTab.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.File.Tab"));
wFileComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wFileComp);
FormLayout fileLayout = new FormLayout();
fileLayout.marginWidth = 3;
fileLayout.marginHeight = 3;
wFileComp.setLayout(fileLayout);
// ///////////////////////////////
// START OF Output Field GROUP //
// ///////////////////////////////
wOutputField = new Group(wFileComp, SWT.SHADOW_NONE);
props.setLook(wOutputField);
wOutputField.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.wOutputField.Label"));
FormLayout outputfieldgroupLayout = new FormLayout();
outputfieldgroupLayout.marginWidth = 10;
outputfieldgroupLayout.marginHeight = 10;
wOutputField.setLayout(outputfieldgroupLayout);
// Is filename defined in a Field
wlFilenameInField = new Label(wOutputField, SWT.RIGHT);
wlFilenameInField.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.FilenameInField.Label"));
props.setLook(wlFilenameInField);
fdlFilenameInField = new FormData();
fdlFilenameInField.left = new FormAttachment(0, -margin);
fdlFilenameInField.top = new FormAttachment(0, margin);
fdlFilenameInField.right = new FormAttachment(middle, -2 * margin);
wlFilenameInField.setLayoutData(fdlFilenameInField);
wFilenameInField = new Button(wOutputField, SWT.CHECK);
props.setLook(wFilenameInField);
wFilenameInField.setToolTipText(BaseMessages.getString(PKG, "LoadFileInputDialog.FilenameInField.Tooltip"));
fdFileNameInField = new FormData();
fdFileNameInField.left = new FormAttachment(middle, -margin);
fdFileNameInField.top = new FormAttachment(0, margin);
wFilenameInField.setLayoutData(fdFileNameInField);
SelectionAdapter lsxmlstream = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
ActiveXmlStreamField();
input.setChanged();
}
};
wFilenameInField.addSelectionListener(lsxmlstream);
// If Filename defined in a Field
wlFilenameField = new Label(wOutputField, SWT.RIGHT);
wlFilenameField.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.FilenameField.Label"));
props.setLook(wlFilenameField);
fdlFilenameField = new FormData();
fdlFilenameField.left = new FormAttachment(0, margin);
fdlFilenameField.top = new FormAttachment(wFilenameInField, margin);
fdlFilenameField.right = new FormAttachment(middle, -2 * margin);
wlFilenameField.setLayoutData(fdlFilenameField);
wFilenameField = new CCombo(wOutputField, SWT.BORDER | SWT.READ_ONLY);
wFilenameField.setEditable(true);
props.setLook(wFilenameField);
wFilenameField.addModifyListener(lsMod);
fdXMLField = new FormData();
fdXMLField.left = new FormAttachment(middle, -margin);
fdXMLField.top = new FormAttachment(wFilenameInField, margin);
fdXMLField.right = new FormAttachment(100, -margin);
wFilenameField.setLayoutData(fdXMLField);
wFilenameField.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
setDynamicFilenameField();
}
});
fdOutputField = new FormData();
fdOutputField.left = new FormAttachment(0, margin);
fdOutputField.top = new FormAttachment(wFilenameList, margin);
fdOutputField.right = new FormAttachment(100, -margin);
wOutputField.setLayoutData(fdOutputField);
// ///////////////////////////////////////////////////////////
// / END OF Output Field GROUP
// ///////////////////////////////////////////////////////////
middle = middle / 2;
// Filename line
wlFilename = new Label(wFileComp, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.Filename.Label"));
props.setLook(wlFilename);
fdlFilename = new FormData();
fdlFilename.left = new FormAttachment(0, 0);
fdlFilename.top = new FormAttachment(wOutputField, margin);
fdlFilename.right = new FormAttachment(middle, -margin);
wlFilename.setLayoutData(fdlFilename);
wbbFilename = new Button(wFileComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbbFilename);
wbbFilename.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.FilenameBrowse.Button"));
wbbFilename.setToolTipText(BaseMessages.getString(PKG, "System.Tooltip.BrowseForFileOrDirAndAdd"));
fdbFilename = new FormData();
fdbFilename.right = new FormAttachment(100, 0);
fdbFilename.top = new FormAttachment(wOutputField, margin);
wbbFilename.setLayoutData(fdbFilename);
wbaFilename = new Button(wFileComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbaFilename);
wbaFilename.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.FilenameAdd.Button"));
wbaFilename.setToolTipText(BaseMessages.getString(PKG, "LoadFileInputDialog.FilenameAdd.Tooltip"));
fdbaFilename = new FormData();
fdbaFilename.right = new FormAttachment(wbbFilename, -margin);
fdbaFilename.top = new FormAttachment(wOutputField, margin);
wbaFilename.setLayoutData(fdbaFilename);
wFilename = new TextVar(transMeta, wFileComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilename);
wFilename.addModifyListener(lsMod);
fdFilename = new FormData();
fdFilename.left = new FormAttachment(middle, 0);
fdFilename.right = new FormAttachment(wbaFilename, -margin);
fdFilename.top = new FormAttachment(wOutputField, margin);
wFilename.setLayoutData(fdFilename);
wlFilemask = new Label(wFileComp, SWT.RIGHT);
wlFilemask.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.RegExp.Label"));
props.setLook(wlFilemask);
fdlFilemask = new FormData();
fdlFilemask.left = new FormAttachment(0, 0);
fdlFilemask.top = new FormAttachment(wFilename, 2 * margin);
fdlFilemask.right = new FormAttachment(middle, -margin);
wlFilemask.setLayoutData(fdlFilemask);
wFilemask = new TextVar(transMeta, wFileComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilemask);
wFilemask.addModifyListener(lsMod);
fdFilemask = new FormData();
fdFilemask.left = new FormAttachment(middle, 0);
fdFilemask.top = new FormAttachment(wFilename, 2 * margin);
fdFilemask.right = new FormAttachment(100, 0);
wFilemask.setLayoutData(fdFilemask);
wlExcludeFilemask = new Label(wFileComp, SWT.RIGHT);
wlExcludeFilemask.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.ExcludeFilemask.Label"));
props.setLook(wlExcludeFilemask);
fdlExcludeFilemask = new FormData();
fdlExcludeFilemask.left = new FormAttachment(0, 0);
fdlExcludeFilemask.top = new FormAttachment(wFilemask, margin);
fdlExcludeFilemask.right = new FormAttachment(middle, -margin);
wlExcludeFilemask.setLayoutData(fdlExcludeFilemask);
wExcludeFilemask = new TextVar(transMeta, wFileComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wExcludeFilemask);
wExcludeFilemask.addModifyListener(lsMod);
fdExcludeFilemask = new FormData();
fdExcludeFilemask.left = new FormAttachment(middle, 0);
fdExcludeFilemask.top = new FormAttachment(wFilemask, margin);
fdExcludeFilemask.right = new FormAttachment(wFilename, 0, SWT.RIGHT);
wExcludeFilemask.setLayoutData(fdExcludeFilemask);
// Filename list line
wlFilenameList = new Label(wFileComp, SWT.RIGHT);
wlFilenameList.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.FilenameList.Label"));
props.setLook(wlFilenameList);
fdlFilenameList = new FormData();
fdlFilenameList.left = new FormAttachment(0, 0);
fdlFilenameList.top = new FormAttachment(wExcludeFilemask, margin);
fdlFilenameList.right = new FormAttachment(middle, -margin);
wlFilenameList.setLayoutData(fdlFilenameList);
// Buttons to the right of the screen...
wbdFilename = new Button(wFileComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbdFilename);
wbdFilename.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.FilenameRemove.Label"));
wbdFilename.setToolTipText(BaseMessages.getString(PKG, "LoadFileInputDialog.FilenameRemove.Tooltip"));
fdbdFilename = new FormData();
fdbdFilename.right = new FormAttachment(100, 0);
fdbdFilename.top = new FormAttachment(wExcludeFilemask, 40);
wbdFilename.setLayoutData(fdbdFilename);
wbeFilename = new Button(wFileComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbeFilename);
wbeFilename.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.FilenameEdit.Label"));
wbeFilename.setToolTipText(BaseMessages.getString(PKG, "LoadFileInputDialog.FilenameEdit.Tooltip"));
fdbeFilename = new FormData();
fdbeFilename.right = new FormAttachment(100, 0);
fdbeFilename.top = new FormAttachment(wbdFilename, margin);
wbeFilename.setLayoutData(fdbeFilename);
wbShowFiles = new Button(wFileComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbShowFiles);
wbShowFiles.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.ShowFiles.Button"));
fdbShowFiles = new FormData();
fdbShowFiles.left = new FormAttachment(middle, 0);
fdbShowFiles.bottom = new FormAttachment(100, 0);
wbShowFiles.setLayoutData(fdbShowFiles);
ColumnInfo[] colinfo = new ColumnInfo[5];
colinfo[0] = new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.Files.Filename.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[1] = new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.Files.Wildcard.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[2] = new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.Files.ExcludeWildcard.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[0].setUsingVariables(true);
colinfo[1].setUsingVariables(true);
colinfo[1].setToolTip(BaseMessages.getString(PKG, "LoadFileInputDialog.Files.Wildcard.Tooltip"));
colinfo[2].setUsingVariables(true);
colinfo[2].setToolTip(BaseMessages.getString(PKG, "LoadFileInputDialog.Files.ExcludeWildcard.Tooltip"));
colinfo[3] = new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.Required.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, YES_NO_COMBO);
colinfo[3].setToolTip(BaseMessages.getString(PKG, "LoadFileInputDialog.Required.Tooltip"));
colinfo[4] = new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.IncludeSubDirs.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, YES_NO_COMBO);
colinfo[4].setToolTip(BaseMessages.getString(PKG, "LoadFileInputDialog.IncludeSubDirs.Tooltip"));
wFilenameList = new TableView(transMeta, wFileComp, SWT.FULL_SELECTION | SWT.MULTI | SWT.BORDER, colinfo, 2, lsMod, props);
props.setLook(wFilenameList);
fdFilenameList = new FormData();
fdFilenameList.left = new FormAttachment(middle, 0);
fdFilenameList.right = new FormAttachment(wbdFilename, -margin);
fdFilenameList.top = new FormAttachment(wExcludeFilemask, margin);
fdFilenameList.bottom = new FormAttachment(wbShowFiles, -margin);
wFilenameList.setLayoutData(fdFilenameList);
fdFileComp = new FormData();
fdFileComp.left = new FormAttachment(0, 0);
fdFileComp.top = new FormAttachment(0, 0);
fdFileComp.right = new FormAttachment(100, 0);
fdFileComp.bottom = new FormAttachment(100, 0);
wFileComp.setLayoutData(fdFileComp);
wFileComp.layout();
wFileTab.setControl(wFileComp);
// ///////////////////////////////////////////////////////////
// / END OF FILE TAB
// ///////////////////////////////////////////////////////////
middle = props.getMiddlePct();
// ////////////////////////
// START OF CONTENT TAB///
// /
wContentTab = new CTabItem(wTabFolder, SWT.NONE);
wContentTab.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.Content.Tab"));
FormLayout contentLayout = new FormLayout();
contentLayout.marginWidth = 3;
contentLayout.marginHeight = 3;
wContentComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wContentComp);
wContentComp.setLayout(contentLayout);
// ///////////////////////////////
// START OF FileConf Field GROUP //
// ///////////////////////////////
wFileConf = new Group(wContentComp, SWT.SHADOW_NONE);
props.setLook(wFileConf);
wFileConf.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.FileConf.Label"));
FormLayout XmlConfgroupLayout = new FormLayout();
XmlConfgroupLayout.marginWidth = 10;
XmlConfgroupLayout.marginHeight = 10;
wFileConf.setLayout(XmlConfgroupLayout);
wlEncoding = new Label(wFileConf, SWT.RIGHT);
wlEncoding.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.Encoding.Label"));
props.setLook(wlEncoding);
fdlEncoding = new FormData();
fdlEncoding.left = new FormAttachment(0, 0);
fdlEncoding.top = new FormAttachment(0, margin);
fdlEncoding.right = new FormAttachment(middle, -margin);
wlEncoding.setLayoutData(fdlEncoding);
wEncoding = new CCombo(wFileConf, SWT.BORDER | SWT.READ_ONLY);
wEncoding.setEditable(true);
props.setLook(wEncoding);
wEncoding.addModifyListener(lsMod);
fdEncoding = new FormData();
fdEncoding.left = new FormAttachment(middle, 0);
fdEncoding.top = new FormAttachment(0, margin);
fdEncoding.right = new FormAttachment(100, 0);
wEncoding.setLayoutData(fdEncoding);
wEncoding.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
setEncodings();
}
});
// Ignore Empty File
wlIgnoreEmptyFile = new Label(wFileConf, SWT.RIGHT);
wlIgnoreEmptyFile.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.IgnoreEmptyFile.Label"));
props.setLook(wlIgnoreEmptyFile);
fdlIgnoreEmptyFile = new FormData();
fdlIgnoreEmptyFile.left = new FormAttachment(0, 0);
fdlIgnoreEmptyFile.top = new FormAttachment(wEncoding, margin);
fdlIgnoreEmptyFile.right = new FormAttachment(middle, -margin);
wlIgnoreEmptyFile.setLayoutData(fdlIgnoreEmptyFile);
wIgnoreEmptyFile = new Button(wFileConf, SWT.CHECK);
props.setLook(wIgnoreEmptyFile);
wIgnoreEmptyFile.setToolTipText(BaseMessages.getString(PKG, "LoadFileInputDialog.IgnoreEmptyFile.Tooltip"));
fdIgnoreEmptyFile = new FormData();
fdIgnoreEmptyFile.left = new FormAttachment(middle, 0);
fdIgnoreEmptyFile.top = new FormAttachment(wEncoding, margin);
wIgnoreEmptyFile.setLayoutData(fdIgnoreEmptyFile);
wIgnoreEmptyFile.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// Ignore missing path
wlIgnoreMissingPath = new Label(wFileConf, SWT.RIGHT);
wlIgnoreMissingPath.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.IgnoreMissingPath.Label"));
props.setLook(wlIgnoreMissingPath);
fdlIgnoreMissingPath = new FormData();
fdlIgnoreMissingPath.left = new FormAttachment(0, 0);
fdlIgnoreMissingPath.top = new FormAttachment(wIgnoreEmptyFile, margin);
fdlIgnoreMissingPath.right = new FormAttachment(middle, -margin);
wlIgnoreMissingPath.setLayoutData(fdlIgnoreMissingPath);
wIgnoreMissingPath = new Button(wFileConf, SWT.CHECK);
props.setLook(wIgnoreMissingPath);
wIgnoreMissingPath.setToolTipText(BaseMessages.getString(PKG, "LoadFileInputDialog.IgnoreMissingPath.Tooltip"));
fdIgnoreMissingPath = new FormData();
fdIgnoreMissingPath.left = new FormAttachment(middle, 0);
fdIgnoreMissingPath.top = new FormAttachment(wIgnoreEmptyFile, margin);
wIgnoreMissingPath.setLayoutData(fdIgnoreMissingPath);
wIgnoreMissingPath.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// preview limit
wlLimit = new Label(wFileConf, SWT.RIGHT);
wlLimit.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.Limit.Label"));
props.setLook(wlLimit);
fdlLimit = new FormData();
fdlLimit.left = new FormAttachment(0, 0);
fdlLimit.top = new FormAttachment(wIgnoreMissingPath, margin);
fdlLimit.right = new FormAttachment(middle, -margin);
wlLimit.setLayoutData(fdlLimit);
wLimit = new Text(wFileConf, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wLimit);
wLimit.addModifyListener(lsMod);
fdLimit = new FormData();
fdLimit.left = new FormAttachment(middle, 0);
fdLimit.top = new FormAttachment(wIgnoreMissingPath, margin);
fdLimit.right = new FormAttachment(100, 0);
wLimit.setLayoutData(fdLimit);
fdXmlConf = new FormData();
fdXmlConf.left = new FormAttachment(0, margin);
fdXmlConf.top = new FormAttachment(0, margin);
fdXmlConf.right = new FormAttachment(100, -margin);
wFileConf.setLayoutData(fdXmlConf);
// ///////////////////////////////////////////////////////////
// / END OF XmlConf Field GROUP
// ///////////////////////////////////////////////////////////
// ///////////////////////////////
// START OF Additional Fields GROUP //
// ///////////////////////////////
wAdditionalFields = new Group(wContentComp, SWT.SHADOW_NONE);
props.setLook(wAdditionalFields);
wAdditionalFields.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.wAdditionalFields.Label"));
FormLayout AdditionalFieldsgroupLayout = new FormLayout();
AdditionalFieldsgroupLayout.marginWidth = 10;
AdditionalFieldsgroupLayout.marginHeight = 10;
wAdditionalFields.setLayout(AdditionalFieldsgroupLayout);
wlInclFilename = new Label(wAdditionalFields, SWT.RIGHT);
wlInclFilename.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.InclFilename.Label"));
props.setLook(wlInclFilename);
fdlInclFilename = new FormData();
fdlInclFilename.left = new FormAttachment(0, 0);
fdlInclFilename.top = new FormAttachment(wFileConf, 4 * margin);
fdlInclFilename.right = new FormAttachment(middle, -margin);
wlInclFilename.setLayoutData(fdlInclFilename);
wInclFilename = new Button(wAdditionalFields, SWT.CHECK);
props.setLook(wInclFilename);
wInclFilename.setToolTipText(BaseMessages.getString(PKG, "LoadFileInputDialog.InclFilename.Tooltip"));
fdInclFilename = new FormData();
fdInclFilename.left = new FormAttachment(middle, 0);
fdInclFilename.top = new FormAttachment(wFileConf, 4 * margin);
wInclFilename.setLayoutData(fdInclFilename);
wlInclFilenameField = new Label(wAdditionalFields, SWT.LEFT);
wlInclFilenameField.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.InclFilenameField.Label"));
props.setLook(wlInclFilenameField);
fdlInclFilenameField = new FormData();
fdlInclFilenameField.left = new FormAttachment(wInclFilename, margin);
fdlInclFilenameField.top = new FormAttachment(wLimit, 4 * margin);
wlInclFilenameField.setLayoutData(fdlInclFilenameField);
wInclFilenameField = new TextVar(transMeta, wAdditionalFields, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wInclFilenameField);
wInclFilenameField.addModifyListener(lsMod);
fdInclFilenameField = new FormData();
fdInclFilenameField.left = new FormAttachment(wlInclFilenameField, margin);
fdInclFilenameField.top = new FormAttachment(wLimit, 4 * margin);
fdInclFilenameField.right = new FormAttachment(100, 0);
wInclFilenameField.setLayoutData(fdInclFilenameField);
wlInclRownum = new Label(wAdditionalFields, SWT.RIGHT);
wlInclRownum.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.InclRownum.Label"));
props.setLook(wlInclRownum);
fdlInclRownum = new FormData();
fdlInclRownum.left = new FormAttachment(0, 0);
fdlInclRownum.top = new FormAttachment(wInclFilenameField, margin);
fdlInclRownum.right = new FormAttachment(middle, -margin);
wlInclRownum.setLayoutData(fdlInclRownum);
wInclRownum = new Button(wAdditionalFields, SWT.CHECK);
props.setLook(wInclRownum);
wInclRownum.setToolTipText(BaseMessages.getString(PKG, "LoadFileInputDialog.InclRownum.Tooltip"));
fdRownum = new FormData();
fdRownum.left = new FormAttachment(middle, 0);
fdRownum.top = new FormAttachment(wInclFilenameField, margin);
wInclRownum.setLayoutData(fdRownum);
wlInclRownumField = new Label(wAdditionalFields, SWT.RIGHT);
wlInclRownumField.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.InclRownumField.Label"));
props.setLook(wlInclRownumField);
fdlInclRownumField = new FormData();
fdlInclRownumField.left = new FormAttachment(wInclRownum, margin);
fdlInclRownumField.top = new FormAttachment(wInclFilenameField, margin);
wlInclRownumField.setLayoutData(fdlInclRownumField);
wInclRownumField = new TextVar(transMeta, wAdditionalFields, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wInclRownumField);
wInclRownumField.addModifyListener(lsMod);
fdInclRownumField = new FormData();
fdInclRownumField.left = new FormAttachment(wlInclRownumField, margin);
fdInclRownumField.top = new FormAttachment(wInclFilenameField, margin);
fdInclRownumField.right = new FormAttachment(100, 0);
wInclRownumField.setLayoutData(fdInclRownumField);
fdAdditionalFields = new FormData();
fdAdditionalFields.left = new FormAttachment(0, margin);
fdAdditionalFields.top = new FormAttachment(wFileConf, margin);
fdAdditionalFields.right = new FormAttachment(100, -margin);
wAdditionalFields.setLayoutData(fdAdditionalFields);
// ///////////////////////////////////////////////////////////
// / END OF Additional Fields GROUP
// ///////////////////////////////////////////////////////////
// ///////////////////////////////
// START OF AddFileResult GROUP //
// ///////////////////////////////
wAddFileResult = new Group(wContentComp, SWT.SHADOW_NONE);
props.setLook(wAddFileResult);
wAddFileResult.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.wAddFileResult.Label"));
FormLayout AddFileResultgroupLayout = new FormLayout();
AddFileResultgroupLayout.marginWidth = 10;
AddFileResultgroupLayout.marginHeight = 10;
wAddFileResult.setLayout(AddFileResultgroupLayout);
wlAddResult = new Label(wAddFileResult, SWT.RIGHT);
wlAddResult.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.AddResult.Label"));
props.setLook(wlAddResult);
fdlAddResult = new FormData();
fdlAddResult.left = new FormAttachment(0, 0);
fdlAddResult.top = new FormAttachment(wAdditionalFields, margin);
fdlAddResult.right = new FormAttachment(middle, -margin);
wlAddResult.setLayoutData(fdlAddResult);
wAddResult = new Button(wAddFileResult, SWT.CHECK);
props.setLook(wAddResult);
wAddResult.setToolTipText(BaseMessages.getString(PKG, "LoadFileInputDialog.AddResult.Tooltip"));
fdAddResult = new FormData();
fdAddResult.left = new FormAttachment(middle, 0);
fdAddResult.top = new FormAttachment(wAdditionalFields, margin);
wAddResult.setLayoutData(fdAddResult);
wAddResult.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
fdAddFileResult = new FormData();
fdAddFileResult.left = new FormAttachment(0, margin);
fdAddFileResult.top = new FormAttachment(wAdditionalFields, margin);
fdAddFileResult.right = new FormAttachment(100, -margin);
wAddFileResult.setLayoutData(fdAddFileResult);
// ///////////////////////////////////////////////////////////
// / END OF AddFileResult GROUP
// ///////////////////////////////////////////////////////////
fdContentComp = new FormData();
fdContentComp.left = new FormAttachment(0, 0);
fdContentComp.top = new FormAttachment(0, 0);
fdContentComp.right = new FormAttachment(100, 0);
fdContentComp.bottom = new FormAttachment(100, 0);
wContentComp.setLayoutData(fdContentComp);
wContentComp.layout();
wContentTab.setControl(wContentComp);
// ///////////////////////////////////////////////////////////
// / END OF CONTENT TAB
// ///////////////////////////////////////////////////////////
// Fields tab...
//
wFieldsTab = new CTabItem(wTabFolder, SWT.NONE);
wFieldsTab.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.Fields.Tab"));
FormLayout fieldsLayout = new FormLayout();
fieldsLayout.marginWidth = Const.FORM_MARGIN;
fieldsLayout.marginHeight = Const.FORM_MARGIN;
wFieldsComp = new Composite(wTabFolder, SWT.NONE);
wFieldsComp.setLayout(fieldsLayout);
props.setLook(wFieldsComp);
wGet = new Button(wFieldsComp, SWT.PUSH);
wGet.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.GetFields.Button"));
fdGet = new FormData();
fdGet.left = new FormAttachment(50, 0);
fdGet.bottom = new FormAttachment(100, 0);
wGet.setLayoutData(fdGet);
final int FieldsRows = input.getInputFields().length;
ColumnInfo[] colinf = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.Name.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.Element.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, org.pentaho.di.trans.steps.loadfileinput.LoadFileInputField.ElementTypeDesc, true), new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.Type.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, ValueMetaFactory.getValueMetaNames(), true), new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.Format.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, Const.getConversionFormats()), new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.Length.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.Precision.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.Currency.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.Decimal.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.Group.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.TrimType.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, LoadFileInputField.trimTypeDesc, true), new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.Repeat.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, new String[] { BaseMessages.getString(PKG, "System.Combo.Yes"), BaseMessages.getString(PKG, "System.Combo.No") }, true) };
colinf[0].setUsingVariables(true);
colinf[0].setToolTip(BaseMessages.getString(PKG, "LoadFileInputDialog.FieldsTable.Name.Column.Tooltip"));
colinfo[2] = new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.Required.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, YES_NO_COMBO);
colinfo[2].setToolTip(BaseMessages.getString(PKG, "LoadFileInputDialog.Required.Tooltip"));
colinfo[3] = new ColumnInfo(BaseMessages.getString(PKG, "LoadFileInputDialog.IncludeSubDirs.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, YES_NO_COMBO);
colinfo[3].setToolTip(BaseMessages.getString(PKG, "LoadFileInputDialog.IncludeSubDirs.Tooltip"));
wFields = new TableView(transMeta, wFieldsComp, SWT.FULL_SELECTION | SWT.MULTI, colinf, FieldsRows, lsMod, props);
fdFields = new FormData();
fdFields.left = new FormAttachment(0, 0);
fdFields.top = new FormAttachment(0, 0);
fdFields.right = new FormAttachment(100, 0);
fdFields.bottom = new FormAttachment(wGet, -margin);
wFields.setLayoutData(fdFields);
fdFieldsComp = new FormData();
fdFieldsComp.left = new FormAttachment(0, 0);
fdFieldsComp.top = new FormAttachment(0, 0);
fdFieldsComp.right = new FormAttachment(100, 0);
fdFieldsComp.bottom = new FormAttachment(100, 0);
wFieldsComp.setLayoutData(fdFieldsComp);
wFieldsComp.layout();
wFieldsTab.setControl(wFieldsComp);
addAdditionalFieldsTab();
fdTabFolder = new FormData();
fdTabFolder.left = new FormAttachment(0, 0);
fdTabFolder.top = new FormAttachment(wStepname, 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"));
wPreview = new Button(shell, SWT.PUSH);
wPreview.setText(BaseMessages.getString(PKG, "LoadFileInputDialog.Button.PreviewRows"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
setButtonPositions(new Button[] { wOK, wPreview, wCancel }, margin, wTabFolder);
// Add listeners
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
lsGet = new Listener() {
public void handleEvent(Event e) {
get();
}
};
lsPreview = new Listener() {
public void handleEvent(Event e) {
preview();
}
};
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
wOK.addListener(SWT.Selection, lsOK);
wGet.addListener(SWT.Selection, lsGet);
wPreview.addListener(SWT.Selection, lsPreview);
wCancel.addListener(SWT.Selection, lsCancel);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wStepname.addSelectionListener(lsDef);
wLimit.addSelectionListener(lsDef);
wInclRownumField.addSelectionListener(lsDef);
wInclFilenameField.addSelectionListener(lsDef);
// Add the file to the list of files...
SelectionAdapter selA = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
wFilenameList.add(new String[] { wFilename.getText(), wFilemask.getText(), wExcludeFilemask.getText(), LoadFileInputMeta.RequiredFilesCode[0], LoadFileInputMeta.RequiredFilesCode[0] });
wFilename.setText("");
wFilemask.setText("");
wExcludeFilemask.setText("");
wFilenameList.removeEmptyRows();
wFilenameList.setRowNums();
wFilenameList.optWidth(true);
}
};
wbaFilename.addSelectionListener(selA);
wFilename.addSelectionListener(selA);
// Delete files from the list of files...
wbdFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
int[] idx = wFilenameList.getSelectionIndices();
wFilenameList.remove(idx);
wFilenameList.removeEmptyRows();
wFilenameList.setRowNums();
}
});
// Edit the selected file & remove from the list...
wbeFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
int idx = wFilenameList.getSelectionIndex();
if (idx >= 0) {
String[] string = wFilenameList.getItem(idx);
wFilename.setText(string[0]);
wFilemask.setText(string[1]);
wExcludeFilemask.setText(string[2]);
wFilenameList.remove(idx);
}
wFilenameList.removeEmptyRows();
wFilenameList.setRowNums();
}
});
// Show the files that are selected at this time...
wbShowFiles.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
try {
LoadFileInputMeta tfii = new LoadFileInputMeta();
getInfo(tfii);
FileInputList fileInputList = tfii.getFiles(transMeta);
String[] files = fileInputList.getFileStrings();
if (files != null && files.length > 0) {
EnterSelectionDialog esd = new EnterSelectionDialog(shell, files, BaseMessages.getString(PKG, "LoadFileInputDialog.FilesReadSelection.DialogTitle"), BaseMessages.getString(PKG, "LoadFileInputDialog.FilesReadSelection.DialogMessage"));
esd.setViewOnly();
esd.open();
} else {
MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR);
mb.setMessage(BaseMessages.getString(PKG, "LoadFileInputDialog.NoFileFound.DialogMessage"));
mb.setText(BaseMessages.getString(PKG, "System.Dialog.Error.Title"));
mb.open();
}
} catch (Exception ex) {
new ErrorDialog(shell, BaseMessages.getString(PKG, "LoadFileInputDialog.ErrorParsingData.DialogTitle"), BaseMessages.getString(PKG, "LoadFileInputDialog.ErrorParsingData.DialogMessage"), ex);
}
}
});
// Enable/disable the right fields to allow a filename to be added to each row...
wInclFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setIncludeFilename();
input.setChanged();
}
});
// Enable/disable the right fields to allow a row number to be added to each row...
wInclRownum.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setIncludeRownum();
input.setChanged();
}
});
// Whenever something changes, set the tooltip to the expanded version of the filename:
wFilename.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wFilename.setToolTipText(wFilename.getText());
}
});
// Listen to the Browse... button
wbbFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (!Utils.isEmpty(wFilemask.getText()) || !Utils.isEmpty(wExcludeFilemask.getText())) {
// A mask: a directory!
DirectoryDialog dialog = new DirectoryDialog(shell, SWT.OPEN);
if (wFilename.getText() != null) {
String fpath = transMeta.environmentSubstitute(wFilename.getText());
dialog.setFilterPath(fpath);
}
if (dialog.open() != null) {
String str = dialog.getFilterPath();
wFilename.setText(str);
}
} else {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*.txt;", "*.csv", "*.TRT", "*" });
if (wFilename.getText() != null) {
String fname = transMeta.environmentSubstitute(wFilename.getText());
dialog.setFileName(fname);
}
dialog.setFilterNames(new String[] { BaseMessages.getString(PKG, "System.FileType.TextFiles"), BaseMessages.getString(PKG, "LoadFileInputDialog.FileType.TextAndCSVFiles"), BaseMessages.getString(PKG, "LoadFileInput.FileType.TRTFiles"), BaseMessages.getString(PKG, "System.FileType.AllFiles") });
if (dialog.open() != null) {
String str = dialog.getFilterPath() + System.getProperty("file.separator") + dialog.getFileName();
wFilename.setText(str);
}
}
}
});
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
wTabFolder.setSelection(0);
// Set the shell size, based upon previous time...
setSize();
getData(input);
ActiveXmlStreamField();
input.setChanged(changed);
wFields.optWidth(true);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}
use of org.pentaho.di.ui.core.widget.TableView in project pentaho-kettle by pentaho.
the class MailDialog method open.
public String open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MIN | SWT.MAX);
props.setLook(shell);
setShellImage(shell, input);
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
input.setChanged();
}
};
changed = input.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "MailDialog.Shell.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Stepname line
wlStepname = new Label(shell, SWT.RIGHT);
wlStepname.setText(BaseMessages.getString(PKG, "MailDialog.Stepname.Label"));
props.setLook(wlStepname);
fdlStepname = new FormData();
fdlStepname.left = new FormAttachment(0, 0);
fdlStepname.right = new FormAttachment(middle, -margin);
fdlStepname.top = new FormAttachment(0, margin);
wlStepname.setLayoutData(fdlStepname);
wStepname = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wStepname.setText(stepname);
props.setLook(wStepname);
wStepname.addModifyListener(lsMod);
fdStepname = new FormData();
fdStepname.left = new FormAttachment(middle, 0);
fdStepname.top = new FormAttachment(0, margin);
fdStepname.right = new FormAttachment(100, 0);
wStepname.setLayoutData(fdStepname);
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, "Mail.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 Destination Settings GROUP
// ////////////////////////
wDestinationGroup = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wDestinationGroup);
wDestinationGroup.setText(BaseMessages.getString(PKG, "Mail.Group.DestinationAddress.Label"));
FormLayout destinationgroupLayout = new FormLayout();
destinationgroupLayout.marginWidth = 10;
destinationgroupLayout.marginHeight = 10;
wDestinationGroup.setLayout(destinationgroupLayout);
// Destination
wlDestination = new Label(wDestinationGroup, SWT.RIGHT);
wlDestination.setText(BaseMessages.getString(PKG, "Mail.DestinationAddress.Label"));
props.setLook(wlDestination);
fdlDestination = new FormData();
fdlDestination.left = new FormAttachment(0, -margin);
fdlDestination.top = new FormAttachment(wStepname, margin);
fdlDestination.right = new FormAttachment(middle, -2 * margin);
wlDestination.setLayoutData(fdlDestination);
wDestination = new CCombo(wDestinationGroup, SWT.BORDER | SWT.READ_ONLY);
wDestination.setEditable(true);
props.setLook(wDestination);
wDestination.addModifyListener(lsMod);
fdDestination = new FormData();
fdDestination.left = new FormAttachment(middle, -margin);
fdDestination.top = new FormAttachment(wStepname, margin);
fdDestination.right = new FormAttachment(100, -margin);
wDestination.setLayoutData(fdDestination);
wDestination.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// DestinationCcCc
wlDestinationCc = new Label(wDestinationGroup, SWT.RIGHT);
wlDestinationCc.setText(BaseMessages.getString(PKG, "Mail.DestinationAddressCc.Label"));
props.setLook(wlDestinationCc);
fdlDestinationCc = new FormData();
fdlDestinationCc.left = new FormAttachment(0, -margin);
fdlDestinationCc.top = new FormAttachment(wDestination, margin);
fdlDestinationCc.right = new FormAttachment(middle, -2 * margin);
wlDestinationCc.setLayoutData(fdlDestinationCc);
wDestinationCc = new CCombo(wDestinationGroup, SWT.BORDER | SWT.READ_ONLY);
wDestinationCc.setEditable(true);
props.setLook(wDestinationCc);
wDestinationCc.addModifyListener(lsMod);
fdDestinationCc = new FormData();
fdDestinationCc.left = new FormAttachment(middle, -margin);
fdDestinationCc.top = new FormAttachment(wDestination, margin);
fdDestinationCc.right = new FormAttachment(100, -margin);
wDestinationCc.setLayoutData(fdDestinationCc);
wDestinationCc.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// DestinationBCc
wlDestinationBCc = new Label(wDestinationGroup, SWT.RIGHT);
wlDestinationBCc.setText(BaseMessages.getString(PKG, "Mail.DestinationAddressBCc.Label"));
props.setLook(wlDestinationBCc);
fdlDestinationBCc = new FormData();
fdlDestinationBCc.left = new FormAttachment(0, -margin);
fdlDestinationBCc.top = new FormAttachment(wDestinationCc, margin);
fdlDestinationBCc.right = new FormAttachment(middle, -2 * margin);
wlDestinationBCc.setLayoutData(fdlDestinationBCc);
wDestinationBCc = new CCombo(wDestinationGroup, SWT.BORDER | SWT.READ_ONLY);
wDestinationBCc.setEditable(true);
props.setLook(wDestinationBCc);
wDestinationBCc.addModifyListener(lsMod);
fdDestinationBCc = new FormData();
fdDestinationBCc.left = new FormAttachment(middle, -margin);
fdDestinationBCc.top = new FormAttachment(wDestinationCc, margin);
fdDestinationBCc.right = new FormAttachment(100, -margin);
wDestinationBCc.setLayoutData(fdDestinationBCc);
wDestinationBCc.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
FormData fdDestinationGroup = new FormData();
fdDestinationGroup.left = new FormAttachment(0, margin);
fdDestinationGroup.top = new FormAttachment(wName, margin);
fdDestinationGroup.right = new FormAttachment(100, -margin);
wDestinationGroup.setLayoutData(fdDestinationGroup);
// ///////////////////////////////////////////////////////////
// / END OF DESTINATION ADDRESS GROUP
// ///////////////////////////////////////////////////////////
// ////////////////////////
// START OF Reply Settings GROUP
// ////////////////////////
wReplyGroup = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wReplyGroup);
wReplyGroup.setText(BaseMessages.getString(PKG, "MailDialog.Group.Reply.Label"));
FormLayout replygroupLayout = new FormLayout();
replygroupLayout.marginWidth = 10;
replygroupLayout.marginHeight = 10;
wReplyGroup.setLayout(replygroupLayout);
// ReplyName
wlReplyName = new Label(wReplyGroup, SWT.RIGHT);
wlReplyName.setText(BaseMessages.getString(PKG, "Mail.ReplyName.Label"));
props.setLook(wlReplyName);
fdlReplyName = new FormData();
fdlReplyName.left = new FormAttachment(0, -margin);
fdlReplyName.top = new FormAttachment(wDestinationGroup, margin);
fdlReplyName.right = new FormAttachment(middle, -2 * margin);
wlReplyName.setLayoutData(fdlReplyName);
wReplyName = new CCombo(wReplyGroup, SWT.BORDER | SWT.READ_ONLY);
wReplyName.setEditable(true);
props.setLook(wReplyName);
wReplyName.addModifyListener(lsMod);
fdReplyName = new FormData();
fdReplyName.left = new FormAttachment(middle, -margin);
fdReplyName.top = new FormAttachment(wDestinationGroup, margin);
fdReplyName.right = new FormAttachment(100, -margin);
wReplyName.setLayoutData(fdReplyName);
wReplyName.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// Reply
wlReply = new Label(wReplyGroup, SWT.RIGHT);
wlReply.setText(BaseMessages.getString(PKG, "Mail.ReplyAddress.Label"));
props.setLook(wlReply);
fdlReply = new FormData();
fdlReply.left = new FormAttachment(0, -margin);
fdlReply.top = new FormAttachment(wReplyName, margin);
fdlReply.right = new FormAttachment(middle, -2 * margin);
wlReply.setLayoutData(fdlReply);
wReply = new CCombo(wReplyGroup, SWT.BORDER | SWT.READ_ONLY);
wReply.setEditable(true);
props.setLook(wReply);
wReply.addModifyListener(lsMod);
fdReply = new FormData();
fdReply.left = new FormAttachment(middle, -margin);
fdReply.top = new FormAttachment(wReplyName, margin);
fdReply.right = new FormAttachment(100, -margin);
wReply.setLayoutData(fdReply);
wReply.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
FormData fdReplyGroup = new FormData();
fdReplyGroup.left = new FormAttachment(0, margin);
fdReplyGroup.top = new FormAttachment(wDestinationGroup, margin);
fdReplyGroup.right = new FormAttachment(100, -margin);
wReplyGroup.setLayoutData(fdReplyGroup);
// ///////////////////////////////////////////////////////////
// / END OF Reply GROUP
// ///////////////////////////////////////////////////////////
// Reply to addresses
wlReplyToAddresses = new Label(wGeneralComp, SWT.RIGHT);
wlReplyToAddresses.setText(BaseMessages.getString(PKG, "MailDialog.ReplyToAddresses.Label"));
props.setLook(wlReplyToAddresses);
fdlReplyToAddresses = new FormData();
fdlReplyToAddresses.left = new FormAttachment(0, -margin);
fdlReplyToAddresses.top = new FormAttachment(wReplyGroup, 2 * margin);
fdlReplyToAddresses.right = new FormAttachment(middle, -2 * margin);
wlReplyToAddresses.setLayoutData(fdlReplyToAddresses);
wReplyToAddresses = new CCombo(wGeneralComp, SWT.BORDER | SWT.READ_ONLY);
wReplyToAddresses.setEditable(true);
props.setLook(wReplyToAddresses);
wReplyToAddresses.addModifyListener(lsMod);
fdReplyToAddresses = new FormData();
fdReplyToAddresses.left = new FormAttachment(middle, -margin);
fdReplyToAddresses.top = new FormAttachment(wReplyGroup, 2 * margin);
fdReplyToAddresses.right = new FormAttachment(100, -margin);
wReplyToAddresses.setLayoutData(fdReplyToAddresses);
wReplyToAddresses.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// Person
wlPerson = new Label(wGeneralComp, SWT.RIGHT);
wlPerson.setText(BaseMessages.getString(PKG, "Mail.Contact.Label"));
props.setLook(wlPerson);
fdlPerson = new FormData();
fdlPerson.left = new FormAttachment(0, -margin);
fdlPerson.top = new FormAttachment(wReplyToAddresses, 2 * margin);
fdlPerson.right = new FormAttachment(middle, -2 * margin);
wlPerson.setLayoutData(fdlPerson);
wPerson = new CCombo(wGeneralComp, SWT.BORDER | SWT.READ_ONLY);
wPerson.setEditable(true);
props.setLook(wPerson);
wPerson.addModifyListener(lsMod);
fdPerson = new FormData();
fdPerson.left = new FormAttachment(middle, -margin);
fdPerson.top = new FormAttachment(wReplyToAddresses, 2 * margin);
fdPerson.right = new FormAttachment(100, -margin);
wPerson.setLayoutData(fdPerson);
wPerson.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// Phone line
wlPhone = new Label(wGeneralComp, SWT.RIGHT);
wlPhone.setText(BaseMessages.getString(PKG, "Mail.ContactPhone.Label"));
props.setLook(wlPhone);
fdlPhone = new FormData();
fdlPhone.left = new FormAttachment(0, -margin);
fdlPhone.top = new FormAttachment(wPerson, margin);
fdlPhone.right = new FormAttachment(middle, -2 * margin);
wlPhone.setLayoutData(fdlPhone);
wPhone = new CCombo(wGeneralComp, SWT.BORDER | SWT.READ_ONLY);
wPhone.setEditable(true);
props.setLook(wPhone);
wPhone.addModifyListener(lsMod);
fdPhone = new FormData();
fdPhone.left = new FormAttachment(middle, -margin);
fdPhone.top = new FormAttachment(wPerson, margin);
fdPhone.right = new FormAttachment(100, -margin);
wPhone.setLayoutData(fdPhone);
wPhone.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
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(500, -margin);
wGeneralComp.setLayoutData(fdGeneralComp);
wGeneralComp.layout();
wGeneralTab.setControl(wGeneralComp);
props.setLook(wGeneralComp);
// ///////////////////////////////////////////////////////////
// / END OF GENERAL TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////////////////
// START OF SERVER TAB ///
// ///////////////////////////////////
wContentTab = new CTabItem(wTabFolder, SWT.NONE);
wContentTab.setText(BaseMessages.getString(PKG, "MailDialog.Server.Label"));
FormLayout contentLayout = new FormLayout();
contentLayout.marginWidth = 3;
contentLayout.marginHeight = 3;
wContentComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wContentComp);
wContentComp.setLayout(contentLayout);
// ////////////////////////
// START OF SERVER GROUP
// /////////////////////////
wServerGroup = new Group(wContentComp, SWT.SHADOW_NONE);
props.setLook(wServerGroup);
wServerGroup.setText(BaseMessages.getString(PKG, "Mail.Group.SMTPServer.Label"));
FormLayout servergroupLayout = new FormLayout();
servergroupLayout.marginWidth = 10;
servergroupLayout.marginHeight = 10;
wServerGroup.setLayout(servergroupLayout);
// Server
wlServer = new Label(wServerGroup, SWT.RIGHT);
wlServer.setText(BaseMessages.getString(PKG, "Mail.SMTPServer.Label"));
props.setLook(wlServer);
fdlServer = new FormData();
fdlServer.left = new FormAttachment(0, -margin);
fdlServer.top = new FormAttachment(0, margin);
fdlServer.right = new FormAttachment(middle, -2 * margin);
wlServer.setLayoutData(fdlServer);
wServer = new CCombo(wServerGroup, SWT.BORDER | SWT.READ_ONLY);
wServer.setEditable(true);
props.setLook(wServer);
wServer.addModifyListener(lsMod);
fdServer = new FormData();
fdServer.left = new FormAttachment(middle, -margin);
fdServer.top = new FormAttachment(0, margin);
fdServer.right = new FormAttachment(100, -margin);
wServer.setLayoutData(fdServer);
wServer.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// Port
wlPort = new Label(wServerGroup, SWT.RIGHT);
wlPort.setText(BaseMessages.getString(PKG, "Mail.Port.Label"));
props.setLook(wlPort);
fdlPort = new FormData();
fdlPort.left = new FormAttachment(0, -margin);
fdlPort.top = new FormAttachment(wServer, margin);
fdlPort.right = new FormAttachment(middle, -2 * margin);
wlPort.setLayoutData(fdlPort);
wPort = new CCombo(wServerGroup, SWT.BORDER | SWT.READ_ONLY);
wPort.setEditable(true);
props.setLook(wPort);
wPort.addModifyListener(lsMod);
fdPort = new FormData();
fdPort.left = new FormAttachment(middle, -margin);
fdPort.top = new FormAttachment(wServer, margin);
fdPort.right = new FormAttachment(100, -margin);
wPort.setLayoutData(fdPort);
wPort.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
FormData fdServerGroup = new FormData();
fdServerGroup.left = new FormAttachment(0, margin);
fdServerGroup.top = new FormAttachment(wName, margin);
fdServerGroup.right = new FormAttachment(100, -margin);
wServerGroup.setLayoutData(fdServerGroup);
// //////////////////////////////////////
// / END OF SERVER ADDRESS GROUP
// ///////////////////////////////////////
// ////////////////////////////////////
// START OF AUTHENTIFICATION GROUP
// ////////////////////////////////////
wAuthentificationGroup = new Group(wContentComp, SWT.SHADOW_NONE);
props.setLook(wAuthentificationGroup);
wAuthentificationGroup.setText(BaseMessages.getString(PKG, "Mail.Group.Authentification.Label"));
FormLayout authentificationgroupLayout = new FormLayout();
authentificationgroupLayout.marginWidth = 10;
authentificationgroupLayout.marginHeight = 10;
wAuthentificationGroup.setLayout(authentificationgroupLayout);
// Authentication?
wlUseAuth = new Label(wAuthentificationGroup, SWT.RIGHT);
wlUseAuth.setText(BaseMessages.getString(PKG, "Mail.UseAuthentication.Label"));
props.setLook(wlUseAuth);
fdlUseAuth = new FormData();
fdlUseAuth.left = new FormAttachment(0, 0);
fdlUseAuth.top = new FormAttachment(wServerGroup, margin);
fdlUseAuth.right = new FormAttachment(middle, -2 * margin);
wlUseAuth.setLayoutData(fdlUseAuth);
wUseAuth = new Button(wAuthentificationGroup, SWT.CHECK);
props.setLook(wUseAuth);
fdUseAuth = new FormData();
fdUseAuth.left = new FormAttachment(middle, -margin);
fdUseAuth.top = new FormAttachment(wServerGroup, margin);
fdUseAuth.right = new FormAttachment(100, 0);
wUseAuth.setLayoutData(fdUseAuth);
wUseAuth.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setUseAuth();
input.setChanged();
}
});
// AuthUser line
wlAuthUser = new Label(wAuthentificationGroup, SWT.RIGHT);
wlAuthUser.setText(BaseMessages.getString(PKG, "Mail.AuthenticationUser.Label"));
props.setLook(wlAuthUser);
fdlAuthUser = new FormData();
fdlAuthUser.left = new FormAttachment(0, -margin);
fdlAuthUser.top = new FormAttachment(wUseAuth, margin);
fdlAuthUser.right = new FormAttachment(middle, -2 * margin);
wlAuthUser.setLayoutData(fdlAuthUser);
wAuthUser = new CCombo(wAuthentificationGroup, SWT.BORDER | SWT.READ_ONLY);
wAuthUser.setEditable(true);
props.setLook(wAuthUser);
wAuthUser.addModifyListener(lsMod);
fdAuthUser = new FormData();
fdAuthUser.left = new FormAttachment(middle, -margin);
fdAuthUser.top = new FormAttachment(wUseAuth, margin);
fdAuthUser.right = new FormAttachment(100, -margin);
wAuthUser.setLayoutData(fdAuthUser);
wAuthUser.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// AuthPass line
wlAuthPass = new Label(wAuthentificationGroup, SWT.RIGHT);
wlAuthPass.setText(BaseMessages.getString(PKG, "Mail.AuthenticationPassword.Label"));
props.setLook(wlAuthPass);
fdlAuthPass = new FormData();
fdlAuthPass.left = new FormAttachment(0, -margin);
fdlAuthPass.top = new FormAttachment(wAuthUser, margin);
fdlAuthPass.right = new FormAttachment(middle, -2 * margin);
wlAuthPass.setLayoutData(fdlAuthPass);
wAuthPass = new CCombo(wAuthentificationGroup, SWT.BORDER | SWT.READ_ONLY);
wAuthPass.setEditable(true);
props.setLook(wAuthPass);
wAuthPass.addModifyListener(lsMod);
fdAuthPass = new FormData();
fdAuthPass.left = new FormAttachment(middle, -margin);
fdAuthPass.top = new FormAttachment(wAuthUser, margin);
fdAuthPass.right = new FormAttachment(100, -margin);
wAuthPass.setLayoutData(fdAuthPass);
wAuthPass.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// Use secure authentication?
wlUseSecAuth = new Label(wAuthentificationGroup, SWT.RIGHT);
wlUseSecAuth.setText(BaseMessages.getString(PKG, "Mail.UseSecAuthentication.Label"));
props.setLook(wlUseSecAuth);
fdlUseSecAuth = new FormData();
fdlUseSecAuth.left = new FormAttachment(0, 0);
fdlUseSecAuth.top = new FormAttachment(wAuthPass, margin);
fdlUseSecAuth.right = new FormAttachment(middle, -2 * margin);
wlUseSecAuth.setLayoutData(fdlUseSecAuth);
wUseSecAuth = new Button(wAuthentificationGroup, SWT.CHECK);
props.setLook(wUseSecAuth);
fdUseSecAuth = new FormData();
fdUseSecAuth.left = new FormAttachment(middle, -margin);
fdUseSecAuth.top = new FormAttachment(wAuthPass, margin);
fdUseSecAuth.right = new FormAttachment(100, 0);
wUseSecAuth.setLayoutData(fdUseSecAuth);
wUseSecAuth.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setSecureConnectiontype();
input.setChanged();
}
});
// SecureConnectionType
wlSecureConnectionType = new Label(wAuthentificationGroup, SWT.RIGHT);
wlSecureConnectionType.setText(BaseMessages.getString(PKG, "Mail.SecureConnectionType.Label"));
props.setLook(wlSecureConnectionType);
fdlSecureConnectionType = new FormData();
fdlSecureConnectionType.left = new FormAttachment(0, 0);
fdlSecureConnectionType.top = new FormAttachment(wUseSecAuth, margin);
fdlSecureConnectionType.right = new FormAttachment(middle, -2 * margin);
wlSecureConnectionType.setLayoutData(fdlSecureConnectionType);
wSecureConnectionType = new CCombo(wAuthentificationGroup, SWT.BORDER | SWT.READ_ONLY);
wSecureConnectionType.setEditable(true);
props.setLook(wSecureConnectionType);
wSecureConnectionType.addModifyListener(lsMod);
fdSecureConnectionType = new FormData();
fdSecureConnectionType.left = new FormAttachment(middle, -margin);
fdSecureConnectionType.top = new FormAttachment(wUseSecAuth, margin);
fdSecureConnectionType.right = new FormAttachment(100, 0);
wSecureConnectionType.setLayoutData(fdSecureConnectionType);
wSecureConnectionType.add("SSL");
wSecureConnectionType.add("TLS");
wSecureConnectionType.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setSecureConnectiontype();
input.setChanged();
}
});
FormData fdAuthentificationGroup = new FormData();
fdAuthentificationGroup.left = new FormAttachment(0, margin);
fdAuthentificationGroup.top = new FormAttachment(wServerGroup, margin);
fdAuthentificationGroup.right = new FormAttachment(100, -margin);
fdAuthentificationGroup.bottom = new FormAttachment(100, -margin);
wAuthentificationGroup.setLayoutData(fdAuthentificationGroup);
// //////////////////////////////////////
// / END OF AUTHENTIFICATION GROUP
// ///////////////////////////////////////
fdContentComp = new FormData();
fdContentComp.left = new FormAttachment(0, 0);
fdContentComp.top = new FormAttachment(0, 0);
fdContentComp.right = new FormAttachment(100, 0);
fdContentComp.bottom = new FormAttachment(100, 0);
wContentComp.setLayoutData(wContentComp);
wContentComp.layout();
wContentTab.setControl(wContentComp);
// ///////////////////////////////////////////////////////////
// / END OF SERVER TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////////////////
// START OF MESSAGE TAB ///
// ///////////////////////////////////
wMessageTab = new CTabItem(wTabFolder, SWT.NONE);
wMessageTab.setText(BaseMessages.getString(PKG, "Mail.Tab.Message.Label"));
FormLayout messageLayout = new FormLayout();
messageLayout.marginWidth = 3;
messageLayout.marginHeight = 3;
wMessageComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wMessageComp);
wMessageComp.setLayout(contentLayout);
// ////////////////////////////////////
// START OF MESSAGE SETTINGS GROUP
// ////////////////////////////////////
wMessageSettingsGroup = new Group(wMessageComp, SWT.SHADOW_NONE);
props.setLook(wMessageSettingsGroup);
wMessageSettingsGroup.setText(BaseMessages.getString(PKG, "Mail.Group.MessageSettings.Label"));
FormLayout messagesettingsgroupLayout = new FormLayout();
messagesettingsgroupLayout.marginWidth = 10;
messagesettingsgroupLayout.marginHeight = 10;
wMessageSettingsGroup.setLayout(messagesettingsgroupLayout);
// Add date to logfile name?
wlAddDate = new Label(wMessageSettingsGroup, SWT.RIGHT);
wlAddDate.setText(BaseMessages.getString(PKG, "Mail.IncludeDate.Label"));
props.setLook(wlAddDate);
fdlAddDate = new FormData();
fdlAddDate.left = new FormAttachment(0, 0);
fdlAddDate.top = new FormAttachment(0, margin);
fdlAddDate.right = new FormAttachment(middle, -2 * margin);
wlAddDate.setLayoutData(fdlAddDate);
wAddDate = new Button(wMessageSettingsGroup, SWT.CHECK);
props.setLook(wAddDate);
fdAddDate = new FormData();
fdAddDate.left = new FormAttachment(middle, -margin);
fdAddDate.top = new FormAttachment(0, margin);
fdAddDate.right = new FormAttachment(100, 0);
wAddDate.setLayoutData(fdAddDate);
wAddDate.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// Only send the comment in the mail body
wlOnlyComment = new Label(wMessageSettingsGroup, SWT.RIGHT);
wlOnlyComment.setText(BaseMessages.getString(PKG, "Mail.OnlyCommentInBody.Label"));
props.setLook(wlOnlyComment);
fdlOnlyComment = new FormData();
fdlOnlyComment.left = new FormAttachment(0, 0);
fdlOnlyComment.top = new FormAttachment(wAddDate, margin);
fdlOnlyComment.right = new FormAttachment(middle, -2 * margin);
wlOnlyComment.setLayoutData(fdlOnlyComment);
wOnlyComment = new Button(wMessageSettingsGroup, SWT.CHECK);
props.setLook(wOnlyComment);
fdOnlyComment = new FormData();
fdOnlyComment.left = new FormAttachment(middle, -margin);
fdOnlyComment.top = new FormAttachment(wAddDate, margin);
fdOnlyComment.right = new FormAttachment(100, 0);
wOnlyComment.setLayoutData(fdOnlyComment);
wOnlyComment.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// HTML format ?
wlUseHTML = new Label(wMessageSettingsGroup, SWT.RIGHT);
wlUseHTML.setText(BaseMessages.getString(PKG, "Mail.UseHTMLInBody.Label"));
props.setLook(wlUseHTML);
fdlUseHTML = new FormData();
fdlUseHTML.left = new FormAttachment(0, 0);
fdlUseHTML.top = new FormAttachment(wOnlyComment, margin);
fdlUseHTML.right = new FormAttachment(middle, -2 * margin);
wlUseHTML.setLayoutData(fdlUseHTML);
wUseHTML = new Button(wMessageSettingsGroup, SWT.CHECK);
props.setLook(wUseHTML);
fdUseHTML = new FormData();
fdUseHTML.left = new FormAttachment(middle, -margin);
fdUseHTML.top = new FormAttachment(wOnlyComment, margin);
fdUseHTML.right = new FormAttachment(100, 0);
wUseHTML.setLayoutData(fdUseHTML);
wUseHTML.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
SetEnabledEncoding();
input.setChanged();
}
});
// Encoding
wlEncoding = new Label(wMessageSettingsGroup, SWT.RIGHT);
wlEncoding.setText(BaseMessages.getString(PKG, "Mail.Encoding.Label"));
props.setLook(wlEncoding);
fdlEncoding = new FormData();
fdlEncoding.left = new FormAttachment(0, 0);
fdlEncoding.top = new FormAttachment(wUseHTML, margin);
fdlEncoding.right = new FormAttachment(middle, -2 * margin);
wlEncoding.setLayoutData(fdlEncoding);
wEncoding = new CCombo(wMessageSettingsGroup, SWT.BORDER | SWT.READ_ONLY);
wEncoding.setEditable(true);
props.setLook(wEncoding);
wEncoding.addModifyListener(lsMod);
fdEncoding = new FormData();
fdEncoding.left = new FormAttachment(middle, -margin);
fdEncoding.top = new FormAttachment(wUseHTML, margin);
fdEncoding.right = new FormAttachment(100, 0);
wEncoding.setLayoutData(fdEncoding);
wEncoding.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
setEncodings();
shell.setCursor(null);
busy.dispose();
}
});
// Use Priority ?
wlUsePriority = new Label(wMessageSettingsGroup, SWT.RIGHT);
wlUsePriority.setText(BaseMessages.getString(PKG, "Mail.UsePriority.Label"));
props.setLook(wlUsePriority);
fdlPriority = new FormData();
fdlPriority.left = new FormAttachment(0, 0);
fdlPriority.top = new FormAttachment(wEncoding, margin);
fdlPriority.right = new FormAttachment(middle, -2 * margin);
wlUsePriority.setLayoutData(fdlPriority);
wUsePriority = new Button(wMessageSettingsGroup, SWT.CHECK);
wUsePriority.setToolTipText(BaseMessages.getString(PKG, "Mail.UsePriority.Tooltip"));
props.setLook(wUsePriority);
fdUsePriority = new FormData();
fdUsePriority.left = new FormAttachment(middle, -margin);
fdUsePriority.top = new FormAttachment(wEncoding, margin);
fdUsePriority.right = new FormAttachment(100, 0);
wUsePriority.setLayoutData(fdUsePriority);
wUsePriority.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
activeUsePriority();
input.setChanged();
}
});
SelectionAdapter selChanged = new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
};
// Priority
wlPriority = new Label(wMessageSettingsGroup, SWT.RIGHT);
wlPriority.setText(BaseMessages.getString(PKG, "Mail.Priority.Label"));
props.setLook(wlPriority);
fdlPriority = new FormData();
fdlPriority.left = new FormAttachment(0, 0);
fdlPriority.right = new FormAttachment(middle, -2 * margin);
fdlPriority.top = new FormAttachment(wUsePriority, margin);
wlPriority.setLayoutData(fdlPriority);
wPriority = new CCombo(wMessageSettingsGroup, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wPriority.add(BaseMessages.getString(PKG, "Mail.Priority.Low.Label"));
wPriority.add(BaseMessages.getString(PKG, "Mail.Priority.Normal.Label"));
wPriority.add(BaseMessages.getString(PKG, "Mail.Priority.High.Label"));
// +1: starts at -1
wPriority.select(1);
wPriority.addSelectionListener(selChanged);
props.setLook(wPriority);
fdPriority = new FormData();
fdPriority.left = new FormAttachment(middle, -margin);
fdPriority.top = new FormAttachment(wUsePriority, margin);
fdPriority.right = new FormAttachment(100, 0);
wPriority.setLayoutData(fdPriority);
// Importance
wlImportance = new Label(wMessageSettingsGroup, SWT.RIGHT);
wlImportance.setText(BaseMessages.getString(PKG, "Mail.Importance.Label"));
props.setLook(wlImportance);
fdlImportance = new FormData();
fdlImportance.left = new FormAttachment(0, 0);
fdlImportance.right = new FormAttachment(middle, -2 * margin);
fdlImportance.top = new FormAttachment(wPriority, margin);
wlImportance.setLayoutData(fdlImportance);
wImportance = new CCombo(wMessageSettingsGroup, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wImportance.add(BaseMessages.getString(PKG, "Mail.Priority.Low.Label"));
wImportance.add(BaseMessages.getString(PKG, "Mail.Priority.Normal.Label"));
wImportance.add(BaseMessages.getString(PKG, "Mail.Priority.High.Label"));
// +1: starts at -1
wImportance.select(1);
wImportance.addSelectionListener(selChanged);
props.setLook(wImportance);
fdImportance = new FormData();
fdImportance.left = new FormAttachment(middle, -margin);
fdImportance.top = new FormAttachment(wPriority, margin);
fdImportance.right = new FormAttachment(100, 0);
wImportance.setLayoutData(fdImportance);
// Sensitivity
wlSensitivity = new Label(wMessageSettingsGroup, SWT.RIGHT);
wlSensitivity.setText(BaseMessages.getString(PKG, "Mail.Sensitivity.Label"));
props.setLook(wlSensitivity);
fdlSensitivity = new FormData();
fdlSensitivity.left = new FormAttachment(0, 0);
fdlSensitivity.right = new FormAttachment(middle, -2 * margin);
fdlSensitivity.top = new FormAttachment(wImportance, margin);
wlSensitivity.setLayoutData(fdlSensitivity);
wSensitivity = new CCombo(wMessageSettingsGroup, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wSensitivity.add(BaseMessages.getString(PKG, "Mail.Sensitivity.normal.Label"));
wSensitivity.add(BaseMessages.getString(PKG, "Mail.Sensitivity.personal.Label"));
wSensitivity.add(BaseMessages.getString(PKG, "Mail.Sensitivity.private.Label"));
wSensitivity.add(BaseMessages.getString(PKG, "Mail.Sensitivity.confidential.Label"));
wSensitivity.select(0);
wSensitivity.addSelectionListener(selChanged);
props.setLook(wSensitivity);
fdSensitivity = new FormData();
fdSensitivity.left = new FormAttachment(middle, -margin);
fdSensitivity.top = new FormAttachment(wImportance, margin);
fdSensitivity.right = new FormAttachment(100, 0);
wSensitivity.setLayoutData(fdSensitivity);
FormData fdMessageSettingsGroup = new FormData();
fdMessageSettingsGroup.left = new FormAttachment(0, margin);
fdMessageSettingsGroup.top = new FormAttachment(wName, margin);
fdMessageSettingsGroup.right = new FormAttachment(100, -margin);
wMessageSettingsGroup.setLayoutData(fdMessageSettingsGroup);
// //////////////////////////////////////
// / END OF MESSAGE SETTINGS GROUP
// ///////////////////////////////////////
// ////////////////////////////////////
// START OF MESSAGE GROUP
// ////////////////////////////////////
wMessageGroup = new Group(wMessageComp, SWT.SHADOW_NONE);
props.setLook(wMessageGroup);
wMessageGroup.setText(BaseMessages.getString(PKG, "Mail.Group.Message.Label"));
FormLayout messagegroupLayout = new FormLayout();
messagegroupLayout.marginWidth = 10;
messagegroupLayout.marginHeight = 10;
wMessageGroup.setLayout(messagegroupLayout);
// Subject line
wlSubject = new Label(wMessageGroup, SWT.RIGHT);
wlSubject.setText(BaseMessages.getString(PKG, "Mail.Subject.Label"));
props.setLook(wlSubject);
fdlSubject = new FormData();
fdlSubject.left = new FormAttachment(0, -margin);
fdlSubject.top = new FormAttachment(wMessageSettingsGroup, margin);
fdlSubject.right = new FormAttachment(middle, -2 * margin);
wlSubject.setLayoutData(fdlSubject);
wSubject = new CCombo(wMessageGroup, SWT.BORDER | SWT.READ_ONLY);
wSubject.setEditable(true);
props.setLook(wSubject);
wSubject.addModifyListener(lsMod);
fdSubject = new FormData();
fdSubject.left = new FormAttachment(middle, -margin);
fdSubject.top = new FormAttachment(wMessageSettingsGroup, margin);
fdSubject.right = new FormAttachment(100, -margin);
wSubject.setLayoutData(fdSubject);
wSubject.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// Comment line
wlComment = new Label(wMessageGroup, SWT.RIGHT);
wlComment.setText(BaseMessages.getString(PKG, "Mail.Comment.Label"));
props.setLook(wlComment);
fdlComment = new FormData();
fdlComment.left = new FormAttachment(0, -margin);
fdlComment.top = new FormAttachment(wSubject, margin);
fdlComment.right = new FormAttachment(middle, -2 * margin);
wlComment.setLayoutData(fdlComment);
wComment = new CCombo(wMessageGroup, SWT.BORDER | SWT.READ_ONLY);
wComment.setEditable(true);
props.setLook(wComment);
wComment.addModifyListener(lsMod);
fdComment = new FormData();
fdComment.left = new FormAttachment(middle, -margin);
fdComment.top = new FormAttachment(wSubject, margin);
fdComment.right = new FormAttachment(100, -margin);
wComment.setLayoutData(fdComment);
wComment.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
FormData fdMessageGroup = new FormData();
fdMessageGroup.left = new FormAttachment(0, margin);
fdMessageGroup.top = new FormAttachment(wMessageSettingsGroup, margin);
fdMessageGroup.bottom = new FormAttachment(100, -margin);
fdMessageGroup.right = new FormAttachment(100, -margin);
wMessageGroup.setLayoutData(fdMessageGroup);
// //////////////////////////////////////
// / END OF MESSAGE GROUP
// ///////////////////////////////////////
fdMessageComp = new FormData();
fdMessageComp.left = new FormAttachment(0, 0);
fdMessageComp.top = new FormAttachment(0, 0);
fdMessageComp.right = new FormAttachment(100, 0);
fdMessageComp.bottom = new FormAttachment(100, 0);
wMessageComp.setLayoutData(wMessageComp);
wMessageComp.layout();
wMessageTab.setControl(wMessageComp);
// ///////////////////////////////////////////////////////////
// / END OF MESSAGE TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////////////////
// START OF ATTACHED FILES TAB ///
// ///////////////////////////////////
wAttachedTab = new CTabItem(wTabFolder, SWT.NONE);
wAttachedTab.setText(BaseMessages.getString(PKG, "Mail.Tab.AttachedFiles.Label"));
FormLayout attachedLayout = new FormLayout();
attachedLayout.marginWidth = 3;
attachedLayout.marginHeight = 3;
wAttachedComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wAttachedComp);
wAttachedComp.setLayout(attachedLayout);
// ///////////////////////////////
// START OF Attached files GROUP //
// ///////////////////////////////
wAttachedContent = new Group(wAttachedComp, SWT.SHADOW_NONE);
props.setLook(wAttachedContent);
wAttachedContent.setText(BaseMessages.getString(PKG, "MailDialog.AttachedContent.Label"));
FormLayout AttachedContentgroupLayout = new FormLayout();
AttachedContentgroupLayout.marginWidth = 10;
AttachedContentgroupLayout.marginHeight = 10;
wAttachedContent.setLayout(AttachedContentgroupLayout);
// Is Filename defined in a Field
wlisattachContentField = new Label(wAttachedContent, SWT.RIGHT);
wlisattachContentField.setText(BaseMessages.getString(PKG, "MailDialog.isattachContentField.Label"));
props.setLook(wlisattachContentField);
FormData fdlisattachContentField = new FormData();
fdlisattachContentField.left = new FormAttachment(0, -margin);
fdlisattachContentField.top = new FormAttachment(0, margin);
fdlisattachContentField.right = new FormAttachment(middle, -2 * margin);
wlisattachContentField.setLayoutData(fdlisattachContentField);
wisattachContentField = new Button(wAttachedContent, SWT.CHECK);
props.setLook(wisattachContentField);
wisattachContentField.setToolTipText(BaseMessages.getString(PKG, "MailDialog.isattachContentField.Tooltip"));
FormData fdisattachContentField = new FormData();
fdisattachContentField.left = new FormAttachment(middle, -margin);
fdisattachContentField.top = new FormAttachment(0, margin);
wisattachContentField.setLayoutData(fdisattachContentField);
SelectionAdapter lisattachContentField = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
activeISAttachContentField();
input.setChanged();
}
};
wisattachContentField.addSelectionListener(lisattachContentField);
// attache file content field
wlattachContentField = new Label(wAttachedContent, SWT.RIGHT);
wlattachContentField.setText(BaseMessages.getString(PKG, "MailDialog.attachContentField.Label"));
props.setLook(wlattachContentField);
FormData fdlattachContentField = new FormData();
fdlattachContentField.left = new FormAttachment(0, -margin);
fdlattachContentField.top = new FormAttachment(wisattachContentField, margin);
fdlattachContentField.right = new FormAttachment(middle, -2 * margin);
wlattachContentField.setLayoutData(fdlattachContentField);
wattachContentField = new CCombo(wAttachedContent, SWT.BORDER | SWT.READ_ONLY);
wattachContentField.setEditable(true);
props.setLook(wattachContentField);
wattachContentField.addModifyListener(lsMod);
FormData fdattachContentField = new FormData();
fdattachContentField.left = new FormAttachment(middle, -margin);
fdattachContentField.top = new FormAttachment(wisattachContentField, margin);
fdattachContentField.right = new FormAttachment(100, -margin);
wattachContentField.setLayoutData(fdattachContentField);
wattachContentField.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// attached content filename field
wlattachContentFileNameField = new Label(wAttachedContent, SWT.RIGHT);
wlattachContentFileNameField.setText(BaseMessages.getString(PKG, "MailDialog.attachContentFileNameField.Label"));
props.setLook(wlattachContentFileNameField);
FormData fdlattachContentFileNameField = new FormData();
fdlattachContentFileNameField.left = new FormAttachment(0, -margin);
fdlattachContentFileNameField.top = new FormAttachment(wattachContentField, margin);
fdlattachContentFileNameField.right = new FormAttachment(middle, -2 * margin);
wlattachContentFileNameField.setLayoutData(fdlattachContentFileNameField);
wattachContentFileNameField = new CCombo(wAttachedContent, SWT.BORDER | SWT.READ_ONLY);
wattachContentFileNameField.setEditable(true);
props.setLook(wattachContentFileNameField);
wattachContentFileNameField.addModifyListener(lsMod);
FormData fdattachContentFileNameField = new FormData();
fdattachContentFileNameField.left = new FormAttachment(middle, -margin);
fdattachContentFileNameField.top = new FormAttachment(wattachContentField, margin);
fdattachContentFileNameField.right = new FormAttachment(100, -margin);
wattachContentFileNameField.setLayoutData(fdattachContentFileNameField);
wattachContentFileNameField.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
FormData fdAttachedContent = new FormData();
fdAttachedContent.left = new FormAttachment(0, margin);
fdAttachedContent.top = new FormAttachment(0, 2 * margin);
fdAttachedContent.right = new FormAttachment(100, -margin);
wAttachedContent.setLayoutData(fdAttachedContent);
// ///////////////////////////////////////////////////////////
// / END OF Attached files GROUP
// ///////////////////////////////////////////////////////////
// ///////////////////////////////
// START OF Origin files GROUP //
// ///////////////////////////////
wOriginFiles = new Group(wAttachedComp, SWT.SHADOW_NONE);
props.setLook(wOriginFiles);
wOriginFiles.setText(BaseMessages.getString(PKG, "MailDialog.OriginAttachedFiles.Label"));
FormLayout OriginFilesgroupLayout = new FormLayout();
OriginFilesgroupLayout.marginWidth = 10;
OriginFilesgroupLayout.marginHeight = 10;
wOriginFiles.setLayout(OriginFilesgroupLayout);
// Is Filename defined in a Field
wlisFileDynamic = new Label(wOriginFiles, SWT.RIGHT);
wlisFileDynamic.setText(BaseMessages.getString(PKG, "MailDialog.isFileDynamic.Label"));
props.setLook(wlisFileDynamic);
FormData fdlisFileDynamic = new FormData();
fdlisFileDynamic.left = new FormAttachment(0, -margin);
fdlisFileDynamic.top = new FormAttachment(wAttachedContent, margin);
fdlisFileDynamic.right = new FormAttachment(middle, -2 * margin);
wlisFileDynamic.setLayoutData(fdlisFileDynamic);
wisFileDynamic = new Button(wOriginFiles, SWT.CHECK);
props.setLook(wisFileDynamic);
wisFileDynamic.setToolTipText(BaseMessages.getString(PKG, "MailDialog.isFileDynamic.Tooltip"));
FormData fdisFileDynamic = new FormData();
fdisFileDynamic.left = new FormAttachment(middle, -margin);
fdisFileDynamic.top = new FormAttachment(wAttachedContent, margin);
wisFileDynamic.setLayoutData(fdisFileDynamic);
SelectionAdapter lisFileDynamic = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
ActiveisFileDynamic();
input.setChanged();
}
};
wisFileDynamic.addSelectionListener(lisFileDynamic);
// Filename field
wlDynamicFilenameField = new Label(wOriginFiles, SWT.RIGHT);
wlDynamicFilenameField.setText(BaseMessages.getString(PKG, "MailDialog.DynamicFilenameField.Label"));
props.setLook(wlDynamicFilenameField);
FormData fdlFilenameField = new FormData();
fdlFilenameField.left = new FormAttachment(0, -margin);
fdlFilenameField.top = new FormAttachment(wisFileDynamic, margin);
fdlFilenameField.right = new FormAttachment(middle, -2 * margin);
wlDynamicFilenameField.setLayoutData(fdlFilenameField);
wDynamicFilenameField = new CCombo(wOriginFiles, SWT.BORDER | SWT.READ_ONLY);
wDynamicFilenameField.setEditable(true);
props.setLook(wDynamicFilenameField);
wDynamicFilenameField.addModifyListener(lsMod);
FormData fdFilenameField = new FormData();
fdFilenameField.left = new FormAttachment(middle, -margin);
fdFilenameField.top = new FormAttachment(wisFileDynamic, margin);
fdFilenameField.right = new FormAttachment(100, -margin);
wDynamicFilenameField.setLayoutData(fdFilenameField);
wDynamicFilenameField.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// Wildcard field
wlDynamicWildcardField = new Label(wOriginFiles, SWT.RIGHT);
wlDynamicWildcardField.setText(BaseMessages.getString(PKG, "MailDialog.DynamicWildcardField.Label"));
props.setLook(wlDynamicWildcardField);
FormData fdlDynamicWildcardField = new FormData();
fdlDynamicWildcardField.left = new FormAttachment(0, -margin);
fdlDynamicWildcardField.top = new FormAttachment(wDynamicFilenameField, margin);
fdlDynamicWildcardField.right = new FormAttachment(middle, -2 * margin);
wlDynamicWildcardField.setLayoutData(fdlDynamicWildcardField);
wDynamicWildcardField = new CCombo(wOriginFiles, SWT.BORDER | SWT.READ_ONLY);
wDynamicWildcardField.setEditable(true);
props.setLook(wDynamicWildcardField);
wDynamicWildcardField.addModifyListener(lsMod);
FormData fdDynamicWildcardField = new FormData();
fdDynamicWildcardField.left = new FormAttachment(middle, -margin);
fdDynamicWildcardField.top = new FormAttachment(wDynamicFilenameField, margin);
fdDynamicWildcardField.right = new FormAttachment(100, -margin);
wDynamicWildcardField.setLayoutData(fdDynamicWildcardField);
wDynamicWildcardField.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// FileFoldername line
wlSourceFileFoldername = new Label(wOriginFiles, SWT.RIGHT);
wlSourceFileFoldername.setText(BaseMessages.getString(PKG, "MailDialog.FileFoldername.Label"));
props.setLook(wlSourceFileFoldername);
fdlSourceFileFoldername = new FormData();
fdlSourceFileFoldername.left = new FormAttachment(0, 0);
fdlSourceFileFoldername.top = new FormAttachment(wDynamicWildcardField, 2 * margin);
fdlSourceFileFoldername.right = new FormAttachment(middle, -margin);
wlSourceFileFoldername.setLayoutData(fdlSourceFileFoldername);
// Browse Destination folders button ...
wbSourceFolder = new Button(wOriginFiles, SWT.PUSH | SWT.CENTER);
props.setLook(wbSourceFolder);
wbSourceFolder.setText(BaseMessages.getString(PKG, "MailDialog.BrowseFolders.Label"));
fdbSourceFolder = new FormData();
fdbSourceFolder.right = new FormAttachment(100, 0);
fdbSourceFolder.top = new FormAttachment(wDynamicWildcardField, 2 * margin);
wbSourceFolder.setLayoutData(fdbSourceFolder);
wbSourceFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
DirectoryDialog ddialog = new DirectoryDialog(shell, SWT.OPEN);
if (wSourceFileFoldername.getText() != null) {
ddialog.setFilterPath(transMeta.environmentSubstitute(wSourceFileFoldername.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
wSourceFileFoldername.setText(dir);
}
}
});
// Browse source file button ...
wbFileFoldername = new Button(wOriginFiles, SWT.PUSH | SWT.CENTER);
props.setLook(wbFileFoldername);
wbFileFoldername.setText(BaseMessages.getString(PKG, "MailDialog.BrowseFiles.Label"));
fdbSourceFileFoldername = new FormData();
fdbSourceFileFoldername.right = new FormAttachment(wbSourceFolder, -margin);
fdbSourceFileFoldername.top = new FormAttachment(wDynamicWildcardField, 2 * margin);
wbFileFoldername.setLayoutData(fdbSourceFileFoldername);
wSourceFileFoldername = new TextVar(transMeta, wOriginFiles, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wSourceFileFoldername);
wSourceFileFoldername.addModifyListener(lsMod);
fdSourceFileFoldername = new FormData();
fdSourceFileFoldername.left = new FormAttachment(middle, 0);
fdSourceFileFoldername.top = new FormAttachment(wDynamicWildcardField, 2 * margin);
fdSourceFileFoldername.right = new FormAttachment(wbFileFoldername, -margin);
wSourceFileFoldername.setLayoutData(fdSourceFileFoldername);
// Whenever something changes, set the tooltip to the expanded version:
wSourceFileFoldername.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wSourceFileFoldername.setToolTipText(transMeta.environmentSubstitute(wSourceFileFoldername.getText()));
}
});
wbFileFoldername.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*" });
if (wSourceFileFoldername.getText() != null) {
dialog.setFileName(transMeta.environmentSubstitute(wSourceFileFoldername.getText()));
}
dialog.setFilterNames(FILETYPES);
if (dialog.open() != null) {
wSourceFileFoldername.setText(dialog.getFilterPath() + Const.FILE_SEPARATOR + dialog.getFileName());
}
}
});
// Include sub folders
wlincludeSubFolders = new Label(wOriginFiles, SWT.RIGHT);
wlincludeSubFolders.setText(BaseMessages.getString(PKG, "MailDialog.includeSubFolders.Label"));
props.setLook(wlincludeSubFolders);
fdlincludeSubFolders = new FormData();
fdlincludeSubFolders.left = new FormAttachment(0, 0);
fdlincludeSubFolders.top = new FormAttachment(wSourceFileFoldername, margin);
fdlincludeSubFolders.right = new FormAttachment(middle, -margin);
wlincludeSubFolders.setLayoutData(fdlincludeSubFolders);
wincludeSubFolders = new Button(wOriginFiles, SWT.CHECK);
props.setLook(wincludeSubFolders);
wincludeSubFolders.setToolTipText(BaseMessages.getString(PKG, "MailDialog.includeSubFolders.Tooltip"));
fdincludeSubFolders = new FormData();
fdincludeSubFolders.left = new FormAttachment(middle, 0);
fdincludeSubFolders.top = new FormAttachment(wSourceFileFoldername, margin);
fdincludeSubFolders.right = new FormAttachment(100, 0);
wincludeSubFolders.setLayoutData(fdincludeSubFolders);
wincludeSubFolders.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// Wildcard
wlWildcard = new Label(wOriginFiles, SWT.RIGHT);
wlWildcard.setText(BaseMessages.getString(PKG, "MailDialog.Wildcard.Label"));
props.setLook(wlWildcard);
fdlWildcard = new FormData();
fdlWildcard.left = new FormAttachment(0, 0);
fdlWildcard.top = new FormAttachment(wincludeSubFolders, margin);
fdlWildcard.right = new FormAttachment(middle, -margin);
wlWildcard.setLayoutData(fdlWildcard);
wWildcard = new TextVar(transMeta, wOriginFiles, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wWildcard);
wWildcard.setToolTipText(BaseMessages.getString(PKG, "MailDialog.Wildcard.Tooltip"));
wWildcard.addModifyListener(lsMod);
fdWildcard = new FormData();
fdWildcard.left = new FormAttachment(middle, 0);
fdWildcard.top = new FormAttachment(wincludeSubFolders, margin);
fdWildcard.right = new FormAttachment(wbFileFoldername, -margin);
wWildcard.setLayoutData(fdWildcard);
// Whenever something changes, set the tooltip to the expanded version:
wWildcard.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wWildcard.setToolTipText(transMeta.environmentSubstitute(wWildcard.getText()));
}
});
FormData fdOriginFiles = new FormData();
fdOriginFiles.left = new FormAttachment(0, margin);
fdOriginFiles.top = new FormAttachment(wAttachedContent, 2 * margin);
fdOriginFiles.right = new FormAttachment(100, -margin);
wOriginFiles.setLayoutData(fdOriginFiles);
// ///////////////////////////////////////////////////////////
// / END OF Origin files GROUP
// ///////////////////////////////////////////////////////////
// ///////////////////////////////
// START OF Zip Group files GROUP //
// ///////////////////////////////
wZipGroup = new Group(wAttachedComp, SWT.SHADOW_NONE);
props.setLook(wZipGroup);
wZipGroup.setText(BaseMessages.getString(PKG, "MailDialog.ZipGroup.Label"));
FormLayout ZipGroupgroupLayout = new FormLayout();
ZipGroupgroupLayout.marginWidth = 10;
ZipGroupgroupLayout.marginHeight = 10;
wZipGroup.setLayout(ZipGroupgroupLayout);
// Zip Files?
wlZipFiles = new Label(wZipGroup, SWT.RIGHT);
wlZipFiles.setText(BaseMessages.getString(PKG, "MailDialog.ZipFiles.Label"));
props.setLook(wlZipFiles);
fdlZipFiles = new FormData();
fdlZipFiles.left = new FormAttachment(0, -margin);
fdlZipFiles.top = new FormAttachment(wOriginFiles, margin);
fdlZipFiles.right = new FormAttachment(middle, -2 * margin);
wlZipFiles.setLayoutData(fdlZipFiles);
wZipFiles = new Button(wZipGroup, SWT.CHECK);
props.setLook(wZipFiles);
fdZipFiles = new FormData();
fdZipFiles.left = new FormAttachment(middle, -margin);
fdZipFiles.top = new FormAttachment(wOriginFiles, margin);
fdZipFiles.right = new FormAttachment(100, -margin);
wZipFiles.setLayoutData(fdZipFiles);
wZipFiles.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
setZip();
}
});
// is zipfilename is dynamic?
wlisZipFileDynamic = new Label(wZipGroup, SWT.RIGHT);
wlisZipFileDynamic.setText(BaseMessages.getString(PKG, "MailDialog.isZipFileDynamic.Label"));
props.setLook(wlisZipFileDynamic);
fdlisZipFileDynamic = new FormData();
fdlisZipFileDynamic.left = new FormAttachment(0, -margin);
fdlisZipFileDynamic.top = new FormAttachment(wZipFiles, margin);
fdlisZipFileDynamic.right = new FormAttachment(middle, -2 * margin);
wlisZipFileDynamic.setLayoutData(fdlisZipFileDynamic);
wisZipFileDynamic = new Button(wZipGroup, SWT.CHECK);
props.setLook(wisZipFileDynamic);
fdisZipFileDynamic = new FormData();
fdisZipFileDynamic.left = new FormAttachment(middle, -margin);
fdisZipFileDynamic.top = new FormAttachment(wZipFiles, margin);
fdisZipFileDynamic.right = new FormAttachment(100, -margin);
wisZipFileDynamic.setLayoutData(fdisZipFileDynamic);
wisZipFileDynamic.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
setDynamicZip();
}
});
// ZipFile field
wlDynamicZipFileField = new Label(wZipGroup, SWT.RIGHT);
wlDynamicZipFileField.setText(BaseMessages.getString(PKG, "MailDialog.DynamicZipFileField.Label"));
props.setLook(wlDynamicZipFileField);
fdlDynamicZipFileField = new FormData();
fdlDynamicZipFileField.left = new FormAttachment(0, -margin);
fdlDynamicZipFileField.top = new FormAttachment(wisZipFileDynamic, margin);
fdlDynamicZipFileField.right = new FormAttachment(middle, -2 * margin);
wlDynamicZipFileField.setLayoutData(fdlDynamicZipFileField);
wDynamicZipFileField = new CCombo(wZipGroup, SWT.BORDER | SWT.READ_ONLY);
wDynamicZipFileField.setEditable(true);
props.setLook(wDynamicZipFileField);
wDynamicZipFileField.addModifyListener(lsMod);
fdDynamicZipFileField = new FormData();
fdDynamicZipFileField.left = new FormAttachment(middle, -margin);
fdDynamicZipFileField.top = new FormAttachment(wisZipFileDynamic, margin);
fdDynamicZipFileField.right = new FormAttachment(100, -margin);
wDynamicZipFileField.setLayoutData(fdDynamicZipFileField);
wDynamicZipFileField.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
getPreviousFields();
shell.setCursor(null);
busy.dispose();
}
});
// ZipFilename line
wZipFilename = new LabelTextVar(transMeta, wZipGroup, BaseMessages.getString(PKG, "MailDialog.ZipFilename.Label"), BaseMessages.getString(PKG, "MailDialog.ZipFilename.Tooltip"));
wZipFilename.addModifyListener(lsMod);
fdZipFilename = new FormData();
fdZipFilename.left = new FormAttachment(0, -margin);
fdZipFilename.top = new FormAttachment(wDynamicZipFileField, margin);
fdZipFilename.right = new FormAttachment(100, -4 * margin);
wZipFilename.setLayoutData(fdZipFilename);
// Zip files on condition?
wZipSizeCondition = new LabelTextVar(transMeta, wZipGroup, BaseMessages.getString(PKG, "MailDialog.ZipSizeCondition.Label"), BaseMessages.getString(PKG, "MailDialog.ZipSizeCondition.Tooltip"));
wZipSizeCondition.addModifyListener(lsMod);
fdZipSizeCondition = new FormData();
fdZipSizeCondition.left = new FormAttachment(0, -margin);
fdZipSizeCondition.top = new FormAttachment(wZipFilename, margin);
fdZipSizeCondition.right = new FormAttachment(100, -4 * margin);
wZipSizeCondition.setLayoutData(fdZipSizeCondition);
FormData fdZipGroup = new FormData();
fdZipGroup.left = new FormAttachment(0, margin);
fdZipGroup.top = new FormAttachment(wOriginFiles, margin);
fdZipGroup.right = new FormAttachment(100, -margin);
wZipGroup.setLayoutData(fdZipGroup);
// ///////////////////////////////////////////////////////////
// / END OF Zip Group GROUP
// ///////////////////////////////////////////////////////////
fdAttachedComp = new FormData();
fdAttachedComp.left = new FormAttachment(0, 0);
fdAttachedComp.top = new FormAttachment(0, 0);
fdAttachedComp.right = new FormAttachment(100, 0);
fdAttachedComp.bottom = new FormAttachment(100, 0);
wAttachedComp.setLayoutData(wAttachedComp);
wAttachedComp.layout();
wAttachedTab.setControl(wAttachedComp);
// ///////////////////////////////////////////////////////////
// / END OF FILES TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////////////////
// START OF embedded images TAB ///
// ///////////////////////////////////
wembeddedTab = new CTabItem(wTabFolder, SWT.NONE);
wembeddedTab.setText(BaseMessages.getString(PKG, "Mail.Tab.embeddedImages.Label"));
FormLayout embeddedLayout = new FormLayout();
embeddedLayout.marginWidth = 3;
embeddedLayout.marginHeight = 3;
wembeddedComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wembeddedComp);
wembeddedComp.setLayout(embeddedLayout);
// ImageFilename line
wlImageFilename = new Label(wembeddedComp, SWT.RIGHT);
wlImageFilename.setText(BaseMessages.getString(PKG, "MailDialog.ImageFilename.Label"));
props.setLook(wlImageFilename);
FormData fdlImageFilename = new FormData();
fdlImageFilename.left = new FormAttachment(0, 0);
fdlImageFilename.top = new FormAttachment(wStepname, margin);
fdlImageFilename.right = new FormAttachment(middle, -margin);
wlImageFilename.setLayoutData(fdlImageFilename);
wbImageFilename = new Button(wembeddedComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbImageFilename);
wbImageFilename.setText(BaseMessages.getString(PKG, "MailDialog.BrowseFiles.Label"));
wbImageFilename.setToolTipText(BaseMessages.getString(PKG, "MailDialog.BrowseFiles.Tooltip"));
FormData fdbImageFilename = new FormData();
fdbImageFilename.right = new FormAttachment(100, 0);
fdbImageFilename.top = new FormAttachment(wStepname, margin);
fdbImageFilename.right = new FormAttachment(100, -margin);
wbImageFilename.setLayoutData(fdbImageFilename);
wbaImageFilename = new Button(wembeddedComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbaImageFilename);
wbaImageFilename.setText(BaseMessages.getString(PKG, "MailDialog.ImageFilenameAdd.Button"));
wbaImageFilename.setToolTipText(BaseMessages.getString(PKG, "MailDialog.ImageFilenameAdd.Tooltip"));
FormData fdbaImageFilename = new FormData();
fdbaImageFilename.right = new FormAttachment(wbImageFilename, -margin);
fdbaImageFilename.top = new FormAttachment(wStepname, margin);
wbaImageFilename.setLayoutData(fdbaImageFilename);
wImageFilename = new TextVar(transMeta, wembeddedComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wImageFilename);
wImageFilename.addModifyListener(lsMod);
FormData fdImageFilename = new FormData();
fdImageFilename.left = new FormAttachment(middle, 0);
fdImageFilename.top = new FormAttachment(wStepname, margin);
fdImageFilename.right = new FormAttachment(wbaImageFilename, -margin);
wImageFilename.setLayoutData(fdImageFilename);
// Whenever something changes, set the tooltip to the expanded version:
wImageFilename.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wImageFilename.setToolTipText(transMeta.environmentSubstitute(wImageFilename.getText()));
}
});
wbImageFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*png;*PNG", "*jpeg;*jpg;*JPEG;*JPG", "*gif;*GIF", "*" });
if (wImageFilename.getText() != null) {
dialog.setFileName(transMeta.environmentSubstitute(wImageFilename.getText()));
}
dialog.setFilterNames(IMAGES_FILE_TYPES);
if (dialog.open() != null) {
wImageFilename.setText(dialog.getFilterPath() + Const.FILE_SEPARATOR + dialog.getFileName());
Random randomgen = new Random();
wContentID.setText(Long.toString(Math.abs(randomgen.nextLong()), 32));
}
}
});
// ContentID
wlContentID = new Label(wembeddedComp, SWT.RIGHT);
wlContentID.setText(BaseMessages.getString(PKG, "MailDialog.ContentID.Label"));
props.setLook(wlContentID);
FormData fdlContentID = new FormData();
fdlContentID.left = new FormAttachment(0, 0);
fdlContentID.top = new FormAttachment(wImageFilename, margin);
fdlContentID.right = new FormAttachment(middle, -margin);
wlContentID.setLayoutData(fdlContentID);
wContentID = new TextVar(transMeta, wembeddedComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER, BaseMessages.getString(PKG, "MailDialog.ContentID.Tooltip"));
props.setLook(wContentID);
wContentID.addModifyListener(lsMod);
FormData fdContentID = new FormData();
fdContentID.left = new FormAttachment(middle, 0);
fdContentID.top = new FormAttachment(wImageFilename, margin);
fdContentID.right = new FormAttachment(wbaImageFilename, -margin);
wContentID.setLayoutData(fdContentID);
// Buttons to the right of the screen...
wbdImageFilename = new Button(wembeddedComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbdImageFilename);
wbdImageFilename.setText(BaseMessages.getString(PKG, "MailDialog.ImageFilenameDelete.Button"));
wbdImageFilename.setToolTipText(BaseMessages.getString(PKG, "MailDialog.ImageFilenameDelete.Tooltip"));
FormData fdbdImageFilename = new FormData();
fdbdImageFilename.right = new FormAttachment(100, 0);
fdbdImageFilename.top = new FormAttachment(wContentID, 40);
wbdImageFilename.setLayoutData(fdbdImageFilename);
wbeImageFilename = new Button(wembeddedComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbeImageFilename);
wbeImageFilename.setText(BaseMessages.getString(PKG, "MailDialog.ImageFilenameEdit.Button"));
wbeImageFilename.setToolTipText(BaseMessages.getString(PKG, "MailDialog.ImageFilenameEdit.Tooltip"));
FormData fdbeImageFilename = new FormData();
fdbeImageFilename.right = new FormAttachment(100, 0);
fdbeImageFilename.left = new FormAttachment(wbdImageFilename, 0, SWT.LEFT);
fdbeImageFilename.top = new FormAttachment(wbdImageFilename, margin);
wbeImageFilename.setLayoutData(fdbeImageFilename);
wlFields = new Label(wembeddedComp, SWT.NONE);
wlFields.setText(BaseMessages.getString(PKG, "MailDialog.Fields.Label"));
props.setLook(wlFields);
FormData fdlFields = new FormData();
fdlFields.left = new FormAttachment(0, 0);
fdlFields.right = new FormAttachment(middle, -margin);
fdlFields.top = new FormAttachment(wContentID, margin);
wlFields.setLayoutData(fdlFields);
int rows = input.getEmbeddedImages() == null ? 1 : (input.getEmbeddedImages().length == 0 ? 0 : input.getEmbeddedImages().length);
final int FieldsRows = rows;
ColumnInfo[] colinf = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "MailDialog.Fields.Image.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "MailDialog.Fields.ContentID.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false) };
colinf[0].setUsingVariables(true);
colinf[0].setToolTip(BaseMessages.getString(PKG, "MailDialog.Fields.Image.Tooltip"));
colinf[1].setUsingVariables(true);
colinf[1].setToolTip(BaseMessages.getString(PKG, "MailDialog.Fields.ContentID.Tooltip"));
wFields = new TableView(transMeta, wembeddedComp, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI, colinf, FieldsRows, lsMod, props);
FormData fdFields = new FormData();
fdFields.left = new FormAttachment(0, 0);
fdFields.top = new FormAttachment(wlFields, margin);
fdFields.right = new FormAttachment(wbeImageFilename, -margin);
fdFields.bottom = new FormAttachment(100, -margin);
wFields.setLayoutData(fdFields);
// Add the file to the list of files...
SelectionAdapter selA = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
wFields.add(new String[] { wImageFilename.getText(), wContentID.getText() });
wImageFilename.setText("");
wContentID.setText("");
wFields.removeEmptyRows();
wFields.setRowNums();
wFields.optWidth(true);
}
};
wbaImageFilename.addSelectionListener(selA);
wImageFilename.addSelectionListener(selA);
// Delete files from the list of files...
wbdImageFilename.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...
wbeImageFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
int idx = wFields.getSelectionIndex();
if (idx >= 0) {
String[] string = wFields.getItem(idx);
wImageFilename.setText(string[0]);
wContentID.setText(string[1]);
wFields.remove(idx);
}
wFields.removeEmptyRows();
wFields.setRowNums();
}
});
fdembeddedComp = new FormData();
fdembeddedComp.left = new FormAttachment(0, 0);
fdembeddedComp.top = new FormAttachment(0, 0);
fdembeddedComp.right = new FormAttachment(100, 0);
fdembeddedComp.bottom = new FormAttachment(100, 0);
wembeddedComp.setLayoutData(wembeddedComp);
wembeddedComp.layout();
wembeddedTab.setControl(wembeddedComp);
// ///////////////////////////////////////////////////////////
// / END OF embedded images TAB
// ///////////////////////////////////////////////////////////
fdTabFolder = new FormData();
fdTabFolder.left = new FormAttachment(0, 0);
fdTabFolder.top = new FormAttachment(wStepname, margin);
fdTabFolder.right = new FormAttachment(100, 0);
fdTabFolder.bottom = new FormAttachment(100, -50);
wTabFolder.setLayoutData(fdTabFolder);
// Some buttons
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"));
setButtonPositions(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();
}
};
wStepname.addSelectionListener(lsDef);
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
// Set the shell size, based upon previous time...
setSize();
getData();
ActiveisFileDynamic();
SetEnabledEncoding();
activeUsePriority();
setDynamicZip();
setZip();
setUseAuth();
activeISAttachContentField();
input.setChanged(changed);
wTabFolder.setSelection(0);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}
use of org.pentaho.di.ui.core.widget.TableView in project pentaho-kettle by pentaho.
the class JobExecutorDialog method addResultRowsTab.
private void addResultRowsTab() {
final CTabItem wTab = new CTabItem(wTabFolder, SWT.NONE);
wTab.setText(BaseMessages.getString(PKG, "JobExecutorDialog.ResultRows.Title"));
wTab.setToolTipText(BaseMessages.getString(PKG, "JobExecutorDialog.ResultRows.Tooltip"));
ScrolledComposite scrolledComposite = new ScrolledComposite(wTabFolder, SWT.V_SCROLL | SWT.H_SCROLL);
scrolledComposite.setLayout(new FillLayout());
Composite wInputComposite = new Composite(scrolledComposite, SWT.NONE);
props.setLook(wInputComposite);
FormLayout tabLayout = new FormLayout();
tabLayout.marginWidth = 15;
tabLayout.marginHeight = 15;
wInputComposite.setLayout(tabLayout);
wlResultRowsTarget = new Label(wInputComposite, SWT.RIGHT);
props.setLook(wlResultRowsTarget);
wlResultRowsTarget.setText(BaseMessages.getString(PKG, "JobExecutorDialog.ResultRowsTarget.Label"));
FormData fdlResultRowsTarget = new FormData();
fdlResultRowsTarget.top = new FormAttachment(0, 0);
// First one in the left
fdlResultRowsTarget.left = new FormAttachment(0, 0);
wlResultRowsTarget.setLayoutData(fdlResultRowsTarget);
wResultRowsTarget = new CCombo(wInputComposite, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wResultRowsTarget);
wResultRowsTarget.addModifyListener(lsMod);
FormData fdResultRowsTarget = new FormData();
fdResultRowsTarget.width = 250;
fdResultRowsTarget.top = new FormAttachment(wlResultRowsTarget, 5);
// To the right
fdResultRowsTarget.left = new FormAttachment(0, 0);
wResultRowsTarget.setLayoutData(fdResultRowsTarget);
wlResultFields = new Label(wInputComposite, SWT.NONE);
wlResultFields.setText(BaseMessages.getString(PKG, "JobExecutorDialog.ResultFields.Label"));
props.setLook(wlResultFields);
FormData fdlResultFields = new FormData();
fdlResultFields.left = new FormAttachment(0, 0);
fdlResultFields.top = new FormAttachment(wResultRowsTarget, 10);
wlResultFields.setLayoutData(fdlResultFields);
int nrRows = (jobExecutorMeta.getResultRowsField() != null ? jobExecutorMeta.getResultRowsField().length : 1);
ColumnInfo[] ciResultFields = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "JobExecutorDialog.ColumnInfo.Field"), ColumnInfo.COLUMN_TYPE_TEXT, false, false), new ColumnInfo(BaseMessages.getString(PKG, "JobExecutorDialog.ColumnInfo.Type"), ColumnInfo.COLUMN_TYPE_CCOMBO, ValueMetaFactory.getValueMetaNames()), new ColumnInfo(BaseMessages.getString(PKG, "JobExecutorDialog.ColumnInfo.Length"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "JobExecutorDialog.ColumnInfo.Precision"), ColumnInfo.COLUMN_TYPE_TEXT, false) };
wResultRowsFields = new TableView(transMeta, wInputComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL, ciResultFields, nrRows, false, lsMod, props, false);
FormData fdResultFields = new FormData();
fdResultFields.left = new FormAttachment(0, 0);
fdResultFields.top = new FormAttachment(wlResultFields, 5);
fdResultFields.right = new FormAttachment(100, 0);
fdResultFields.bottom = new FormAttachment(100, 0);
wResultRowsFields.setLayoutData(fdResultFields);
wResultRowsFields.getTable().addListener(SWT.Resize, new ColumnsResizer(0, 25, 25, 25, 25));
wInputComposite.pack();
Rectangle bounds = wInputComposite.getBounds();
scrolledComposite.setContent(wInputComposite);
scrolledComposite.setExpandHorizontal(true);
scrolledComposite.setExpandVertical(true);
scrolledComposite.setMinWidth(bounds.width);
scrolledComposite.setMinHeight(bounds.height);
wTab.setControl(scrolledComposite);
wTabFolder.setSelection(wTab);
}
use of org.pentaho.di.ui.core.widget.TableView in project pentaho-kettle by pentaho.
the class LDIFInputDialog method open.
public String open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN);
props.setLook(shell);
setShellImage(shell, input);
lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
input.setChanged();
}
};
changed = input.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "LDIFInputDialog.DialogTitle"));
middle = props.getMiddlePct();
margin = Const.MARGIN;
// Stepname line
wlStepname = new Label(shell, SWT.RIGHT);
wlStepname.setText(BaseMessages.getString(PKG, "System.Label.StepName"));
props.setLook(wlStepname);
fdlStepname = new FormData();
fdlStepname.left = new FormAttachment(0, 0);
fdlStepname.top = new FormAttachment(0, margin);
fdlStepname.right = new FormAttachment(middle, -margin);
wlStepname.setLayoutData(fdlStepname);
wStepname = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wStepname.setText(stepname);
props.setLook(wStepname);
wStepname.addModifyListener(lsMod);
fdStepname = new FormData();
fdStepname.left = new FormAttachment(middle, 0);
fdStepname.top = new FormAttachment(0, margin);
fdStepname.right = new FormAttachment(100, 0);
wStepname.setLayoutData(fdStepname);
wTabFolder = new CTabFolder(shell, SWT.BORDER);
props.setLook(wTabFolder, Props.WIDGET_STYLE_TAB);
// ////////////////////////
// START OF FILE TAB ///
// ////////////////////////
wFileTab = new CTabItem(wTabFolder, SWT.NONE);
wFileTab.setText(BaseMessages.getString(PKG, "LDIFInputDialog.File.Tab"));
wFileComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wFileComp);
FormLayout fileLayout = new FormLayout();
fileLayout.marginWidth = 3;
fileLayout.marginHeight = 3;
wFileComp.setLayout(fileLayout);
// ///////////////////////////////
// START OF Origin files GROUP //
// ///////////////////////////////
wOriginFiles = new Group(wFileComp, SWT.SHADOW_NONE);
props.setLook(wOriginFiles);
wOriginFiles.setText(BaseMessages.getString(PKG, "LDIFInputDialog.wOriginFiles.Label"));
FormLayout OriginFilesgroupLayout = new FormLayout();
OriginFilesgroupLayout.marginWidth = 10;
OriginFilesgroupLayout.marginHeight = 10;
wOriginFiles.setLayout(OriginFilesgroupLayout);
// Is Filename defined in a Field
wlFileField = new Label(wOriginFiles, SWT.RIGHT);
wlFileField.setText(BaseMessages.getString(PKG, "LDIFInputDialog.FileField.Label"));
props.setLook(wlFileField);
fdlFileField = new FormData();
fdlFileField.left = new FormAttachment(0, -margin);
fdlFileField.top = new FormAttachment(0, margin);
fdlFileField.right = new FormAttachment(middle, -2 * margin);
wlFileField.setLayoutData(fdlFileField);
wFileField = new Button(wOriginFiles, SWT.CHECK);
props.setLook(wFileField);
wFileField.setToolTipText(BaseMessages.getString(PKG, "LDIFInputDialog.FileField.Tooltip"));
fdFileField = new FormData();
fdFileField.left = new FormAttachment(middle, -margin);
fdFileField.top = new FormAttachment(0, margin);
wFileField.setLayoutData(fdFileField);
SelectionAdapter lfilefield = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
ActiveFileField();
input.setChanged();
}
};
wFileField.addSelectionListener(lfilefield);
// Filename field
wlFilenameField = new Label(wOriginFiles, SWT.RIGHT);
wlFilenameField.setText(BaseMessages.getString(PKG, "LDIFInputDialog.wlFilenameField.Label"));
props.setLook(wlFilenameField);
fdlFilenameField = new FormData();
fdlFilenameField.left = new FormAttachment(0, -margin);
fdlFilenameField.top = new FormAttachment(wFileField, margin);
fdlFilenameField.right = new FormAttachment(middle, -2 * margin);
wlFilenameField.setLayoutData(fdlFilenameField);
wFilenameField = new CCombo(wOriginFiles, SWT.BORDER | SWT.READ_ONLY);
wFilenameField.setEditable(true);
props.setLook(wFilenameField);
wFilenameField.addModifyListener(lsMod);
fdFilenameField = new FormData();
fdFilenameField.left = new FormAttachment(middle, -margin);
fdFilenameField.top = new FormAttachment(wFileField, margin);
fdFilenameField.right = new FormAttachment(100, -margin);
wFilenameField.setLayoutData(fdFilenameField);
wFilenameField.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
setFileField();
shell.setCursor(null);
busy.dispose();
}
});
fdOriginFiles = new FormData();
fdOriginFiles.left = new FormAttachment(0, margin);
fdOriginFiles.top = new FormAttachment(wFilenameList, margin);
fdOriginFiles.right = new FormAttachment(100, -margin);
wOriginFiles.setLayoutData(fdOriginFiles);
// ///////////////////////////////////////////////////////////
// / END OF Origin files GROUP
// ///////////////////////////////////////////////////////////
// Filename line
wlFilename = new Label(wFileComp, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "LDIFInputDialog.Filename.Label"));
props.setLook(wlFilename);
fdlFilename = new FormData();
fdlFilename.left = new FormAttachment(0, 0);
fdlFilename.top = new FormAttachment(wOriginFiles, margin);
fdlFilename.right = new FormAttachment(middle, -margin);
wlFilename.setLayoutData(fdlFilename);
wbbFilename = new Button(wFileComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbbFilename);
wbbFilename.setText(BaseMessages.getString(PKG, "LDIFInputDialog.FilenameBrowse.Button"));
wbbFilename.setToolTipText(BaseMessages.getString(PKG, "System.Tooltip.BrowseForFileOrDirAndAdd"));
fdbFilename = new FormData();
fdbFilename.right = new FormAttachment(100, 0);
fdbFilename.top = new FormAttachment(wOriginFiles, margin);
wbbFilename.setLayoutData(fdbFilename);
wbaFilename = new Button(wFileComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbaFilename);
wbaFilename.setText(BaseMessages.getString(PKG, "LDIFInputDialog.FilenameAdd.Button"));
wbaFilename.setToolTipText(BaseMessages.getString(PKG, "LDIFInputDialog.FilenameAdd.Tooltip"));
fdbaFilename = new FormData();
fdbaFilename.right = new FormAttachment(wbbFilename, -margin);
fdbaFilename.top = new FormAttachment(wOriginFiles, margin);
wbaFilename.setLayoutData(fdbaFilename);
wFilename = new TextVar(transMeta, wFileComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilename);
wFilename.addModifyListener(lsMod);
fdFilename = new FormData();
fdFilename.left = new FormAttachment(middle, 0);
fdFilename.right = new FormAttachment(wbaFilename, -margin);
fdFilename.top = new FormAttachment(wOriginFiles, margin);
wFilename.setLayoutData(fdFilename);
wlFilemask = new Label(wFileComp, SWT.RIGHT);
wlFilemask.setText(BaseMessages.getString(PKG, "LDIFInputDialog.RegExp.Label"));
props.setLook(wlFilemask);
fdlFilemask = new FormData();
fdlFilemask.left = new FormAttachment(0, 0);
fdlFilemask.top = new FormAttachment(wFilename, margin);
fdlFilemask.right = new FormAttachment(middle, -margin);
wlFilemask.setLayoutData(fdlFilemask);
wFilemask = new TextVar(transMeta, wFileComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilemask);
wFilemask.setToolTipText(BaseMessages.getString(PKG, "LDIFInputDialog.RegExp.Tooltip"));
wFilemask.addModifyListener(lsMod);
fdFilemask = new FormData();
fdFilemask.left = new FormAttachment(middle, 0);
fdFilemask.top = new FormAttachment(wFilename, margin);
fdFilemask.right = new FormAttachment(100, 0);
wFilemask.setLayoutData(fdFilemask);
wlExcludeFilemask = new Label(wFileComp, SWT.RIGHT);
wlExcludeFilemask.setText(BaseMessages.getString(PKG, "LDIFInputDialog.ExcludeFilemask.Label"));
props.setLook(wlExcludeFilemask);
fdlExcludeFilemask = new FormData();
fdlExcludeFilemask.left = new FormAttachment(0, 0);
fdlExcludeFilemask.top = new FormAttachment(wFilemask, margin);
fdlExcludeFilemask.right = new FormAttachment(middle, -margin);
wlExcludeFilemask.setLayoutData(fdlExcludeFilemask);
wExcludeFilemask = new TextVar(transMeta, wFileComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wExcludeFilemask);
wExcludeFilemask.addModifyListener(lsMod);
fdExcludeFilemask = new FormData();
fdExcludeFilemask.left = new FormAttachment(middle, 0);
fdExcludeFilemask.top = new FormAttachment(wFilemask, margin);
fdExcludeFilemask.right = new FormAttachment(wFilename, 0, SWT.RIGHT);
wExcludeFilemask.setLayoutData(fdExcludeFilemask);
// Filename list line
wlFilenameList = new Label(wFileComp, SWT.RIGHT);
wlFilenameList.setText(BaseMessages.getString(PKG, "LDIFInputDialog.FilenameList.Label"));
props.setLook(wlFilenameList);
fdlFilenameList = new FormData();
fdlFilenameList.left = new FormAttachment(0, 0);
fdlFilenameList.top = new FormAttachment(wExcludeFilemask, margin);
fdlFilenameList.right = new FormAttachment(middle, -margin);
wlFilenameList.setLayoutData(fdlFilenameList);
// Buttons to the right of the screen...
wbdFilename = new Button(wFileComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbdFilename);
wbdFilename.setText(BaseMessages.getString(PKG, "LDIFInputDialog.FilenameRemove.Button"));
wbdFilename.setToolTipText(BaseMessages.getString(PKG, "LDIFInputDialog.FilenameRemove.Tooltip"));
fdbdFilename = new FormData();
fdbdFilename.right = new FormAttachment(100, 0);
fdbdFilename.top = new FormAttachment(wExcludeFilemask, 40);
wbdFilename.setLayoutData(fdbdFilename);
wbeFilename = new Button(wFileComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbeFilename);
wbeFilename.setText(BaseMessages.getString(PKG, "LDIFInputDialog.FilenameEdit.Button"));
wbeFilename.setToolTipText(BaseMessages.getString(PKG, "LDIFInputDialog.FilenameEdit.Tooltip"));
fdbeFilename = new FormData();
fdbeFilename.right = new FormAttachment(100, 0);
fdbeFilename.top = new FormAttachment(wbdFilename, margin);
wbeFilename.setLayoutData(fdbeFilename);
wbShowFiles = new Button(wFileComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbShowFiles);
wbShowFiles.setText(BaseMessages.getString(PKG, "LDIFInputDialog.ShowFiles.Button"));
fdbShowFiles = new FormData();
fdbShowFiles.left = new FormAttachment(middle, 0);
fdbShowFiles.bottom = new FormAttachment(100, 0);
wbShowFiles.setLayoutData(fdbShowFiles);
ColumnInfo[] colinfo = new ColumnInfo[5];
colinfo[0] = new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.Files.Filename.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[1] = new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.Files.Wildcard.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[2] = new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.Files.ExcludeWildcard.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[3] = new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.Required.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, LDIFInputMeta.RequiredFilesDesc);
colinfo[4] = new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.IncludeSubDirs.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, LDIFInputMeta.RequiredFilesDesc);
colinfo[0].setUsingVariables(true);
colinfo[1].setUsingVariables(true);
colinfo[1].setToolTip(BaseMessages.getString(PKG, "LDIFInputDialog.Files.Wildcard.Tooltip"));
colinfo[2].setToolTip(BaseMessages.getString(PKG, "LDIFInputDialog.Required.Tooltip"));
colinfo[2].setUsingVariables(true);
colinfo[2].setToolTip(BaseMessages.getString(PKG, "LDIFInputDialog.Files.ExcludeWildcard.Tooltip"));
colinfo[4].setToolTip(BaseMessages.getString(PKG, "LDIFInputDialog.IncludeSubDirs.Tooltip"));
wFilenameList = new TableView(transMeta, wFileComp, SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER, colinfo, 2, lsMod, props);
props.setLook(wFilenameList);
fdFilenameList = new FormData();
fdFilenameList.left = new FormAttachment(middle, 0);
fdFilenameList.right = new FormAttachment(wbdFilename, -margin);
fdFilenameList.top = new FormAttachment(wExcludeFilemask, margin);
fdFilenameList.bottom = new FormAttachment(wbShowFiles, -margin);
wFilenameList.setLayoutData(fdFilenameList);
fdFileComp = new FormData();
fdFileComp.left = new FormAttachment(0, 0);
fdFileComp.top = new FormAttachment(0, 0);
fdFileComp.right = new FormAttachment(100, 0);
fdFileComp.bottom = new FormAttachment(100, 0);
wFileComp.setLayoutData(fdFileComp);
wFileComp.layout();
wFileTab.setControl(wFileComp);
// ///////////////////////////////////////////////////////////
// / END OF FILE TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////
// START OF CONTENT TAB///
// /
wContentTab = new CTabItem(wTabFolder, SWT.NONE);
wContentTab.setText(BaseMessages.getString(PKG, "LDIFInputDialog.Content.Tab"));
FormLayout contentLayout = new FormLayout();
contentLayout.marginWidth = 3;
contentLayout.marginHeight = 3;
wContentComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wContentComp);
wContentComp.setLayout(contentLayout);
wlInclFilename = new Label(wContentComp, SWT.RIGHT);
wlInclFilename.setText(BaseMessages.getString(PKG, "LDIFInputDialog.InclFilename.Label"));
props.setLook(wlInclFilename);
fdlInclFilename = new FormData();
fdlInclFilename.left = new FormAttachment(0, 0);
fdlInclFilename.top = new FormAttachment(0, 2 * margin);
fdlInclFilename.right = new FormAttachment(middle, -margin);
wlInclFilename.setLayoutData(fdlInclFilename);
wInclFilename = new Button(wContentComp, SWT.CHECK);
props.setLook(wInclFilename);
wInclFilename.setToolTipText(BaseMessages.getString(PKG, "LDIFInputDialog.InclFilename.Tooltip"));
fdInclFilename = new FormData();
fdInclFilename.left = new FormAttachment(middle, 0);
fdInclFilename.top = new FormAttachment(0, 2 * margin);
wInclFilename.setLayoutData(fdInclFilename);
wlInclFilenameField = new Label(wContentComp, SWT.LEFT);
wlInclFilenameField.setText(BaseMessages.getString(PKG, "LDIFInputDialog.InclFilenameField.Label"));
props.setLook(wlInclFilenameField);
fdlInclFilenameField = new FormData();
fdlInclFilenameField.left = new FormAttachment(wInclFilename, margin);
fdlInclFilenameField.top = new FormAttachment(0, 2 * margin);
wlInclFilenameField.setLayoutData(fdlInclFilenameField);
wInclFilenameField = new TextVar(transMeta, wContentComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wInclFilenameField);
wInclFilenameField.addModifyListener(lsMod);
fdInclFilenameField = new FormData();
fdInclFilenameField.left = new FormAttachment(wlInclFilenameField, margin);
fdInclFilenameField.top = new FormAttachment(0, 2 * margin);
fdInclFilenameField.right = new FormAttachment(100, 0);
wInclFilenameField.setLayoutData(fdInclFilenameField);
wlInclRownum = new Label(wContentComp, SWT.RIGHT);
wlInclRownum.setText(BaseMessages.getString(PKG, "LDIFInputDialog.InclRownum.Label"));
props.setLook(wlInclRownum);
fdlInclRownum = new FormData();
fdlInclRownum.left = new FormAttachment(0, 0);
fdlInclRownum.top = new FormAttachment(wInclFilenameField, margin);
fdlInclRownum.right = new FormAttachment(middle, -margin);
wlInclRownum.setLayoutData(fdlInclRownum);
wInclRownum = new Button(wContentComp, SWT.CHECK);
props.setLook(wInclRownum);
wInclRownum.setToolTipText(BaseMessages.getString(PKG, "LDIFInputDialog.InclRownum.Tooltip"));
fdRownum = new FormData();
fdRownum.left = new FormAttachment(middle, 0);
fdRownum.top = new FormAttachment(wInclFilenameField, margin);
wInclRownum.setLayoutData(fdRownum);
wlInclRownumField = new Label(wContentComp, SWT.RIGHT);
wlInclRownumField.setText(BaseMessages.getString(PKG, ("LDIFInputDialog.InclRownumField.Label")));
props.setLook(wlInclRownumField);
fdlInclRownumField = new FormData();
fdlInclRownumField.left = new FormAttachment(wInclRownum, margin);
fdlInclRownumField.top = new FormAttachment(wInclFilenameField, margin);
wlInclRownumField.setLayoutData(fdlInclRownumField);
wInclRownumField = new TextVar(transMeta, wContentComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wInclRownumField);
wInclRownumField.addModifyListener(lsMod);
fdInclRownumField = new FormData();
fdInclRownumField.left = new FormAttachment(wlInclRownumField, margin);
fdInclRownumField.top = new FormAttachment(wInclFilenameField, margin);
fdInclRownumField.right = new FormAttachment(100, 0);
wInclRownumField.setLayoutData(fdInclRownumField);
// Add content type field?
wlInclContentType = new Label(wContentComp, SWT.RIGHT);
wlInclContentType.setText(BaseMessages.getString(PKG, "LDIFInputDialog.InclContentType.Label"));
props.setLook(wlInclContentType);
fdlInclContentType = new FormData();
fdlInclContentType.left = new FormAttachment(0, 0);
fdlInclContentType.top = new FormAttachment(wInclRownumField, margin);
fdlInclContentType.right = new FormAttachment(middle, -margin);
wlInclContentType.setLayoutData(fdlInclContentType);
wInclContentType = new Button(wContentComp, SWT.CHECK);
props.setLook(wInclContentType);
wInclContentType.setToolTipText(BaseMessages.getString(PKG, "LDIFInputDialog.InclContentType.Tooltip"));
fdInclContentType = new FormData();
fdInclContentType.left = new FormAttachment(middle, 0);
fdInclContentType.top = new FormAttachment(wInclRownumField, margin);
wInclContentType.setLayoutData(fdInclContentType);
// Content type field name
wlInclContentTypeField = new Label(wContentComp, SWT.LEFT);
wlInclContentTypeField.setText(BaseMessages.getString(PKG, "LDIFInputDialog.InclContentTypeField.Label"));
props.setLook(wlInclContentTypeField);
fdlInclContentTypeField = new FormData();
fdlInclContentTypeField.left = new FormAttachment(wInclContentType, margin);
fdlInclContentTypeField.top = new FormAttachment(wInclRownumField, margin);
wlInclContentTypeField.setLayoutData(fdlInclContentTypeField);
wInclContentTypeField = new TextVar(transMeta, wContentComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wInclContentTypeField);
wInclContentTypeField.addModifyListener(lsMod);
fdInclContentTypeField = new FormData();
fdInclContentTypeField.left = new FormAttachment(wlInclContentTypeField, margin);
fdInclContentTypeField.top = new FormAttachment(wInclRownumField, margin);
fdInclContentTypeField.right = new FormAttachment(100, 0);
wInclContentTypeField.setLayoutData(fdInclContentTypeField);
// Add content type field?
wlInclDN = new Label(wContentComp, SWT.RIGHT);
wlInclDN.setText(BaseMessages.getString(PKG, "LDIFInputDialog.InclDN.Label"));
props.setLook(wlInclDN);
fdlInclDN = new FormData();
fdlInclDN.left = new FormAttachment(0, 0);
fdlInclDN.top = new FormAttachment(wInclContentTypeField, margin);
fdlInclDN.right = new FormAttachment(middle, -margin);
wlInclDN.setLayoutData(fdlInclDN);
wInclDN = new Button(wContentComp, SWT.CHECK);
props.setLook(wInclDN);
wInclDN.setToolTipText(BaseMessages.getString(PKG, "LDIFInputDialog.InclDN.Tooltip"));
fdInclDN = new FormData();
fdInclDN.left = new FormAttachment(middle, 0);
fdInclDN.top = new FormAttachment(wInclContentTypeField, margin);
wInclDN.setLayoutData(fdInclDN);
// Content type field name
wlInclDNField = new Label(wContentComp, SWT.LEFT);
wlInclDNField.setText(BaseMessages.getString(PKG, "LDIFInputDialog.InclDNField.Label"));
props.setLook(wlInclDNField);
fdlInclDNField = new FormData();
fdlInclDNField.left = new FormAttachment(wInclDN, margin);
fdlInclDNField.top = new FormAttachment(wInclContentTypeField, margin);
wlInclDNField.setLayoutData(fdlInclDNField);
wInclDNField = new TextVar(transMeta, wContentComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wInclDNField);
wInclDNField.addModifyListener(lsMod);
fdInclDNField = new FormData();
fdInclDNField.left = new FormAttachment(wlInclDNField, margin);
fdInclDNField.top = new FormAttachment(wInclContentTypeField, margin);
fdInclDNField.right = new FormAttachment(100, 0);
wInclDNField.setLayoutData(fdInclDNField);
// Limit to preview
wlLimit = new Label(wContentComp, SWT.RIGHT);
wlLimit.setText(BaseMessages.getString(PKG, "LDIFInputDialog.Limit.Label"));
props.setLook(wlLimit);
fdlLimit = new FormData();
fdlLimit.left = new FormAttachment(0, 0);
fdlLimit.top = new FormAttachment(wInclDNField, margin);
fdlLimit.right = new FormAttachment(middle, -margin);
wlLimit.setLayoutData(fdlLimit);
wLimit = new Text(wContentComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wLimit);
wLimit.addModifyListener(lsMod);
fdLimit = new FormData();
fdLimit.left = new FormAttachment(middle, 0);
fdLimit.top = new FormAttachment(wInclDNField, margin);
fdLimit.right = new FormAttachment(100, 0);
wLimit.setLayoutData(fdLimit);
// Multi valued field separator
wlMultiValuedSeparator = new Label(wContentComp, SWT.RIGHT);
wlMultiValuedSeparator.setText(BaseMessages.getString(PKG, "LDIFInputDialog.MultiValuedSeparator.Label"));
props.setLook(wlMultiValuedSeparator);
fdlMultiValuedSeparator = new FormData();
fdlMultiValuedSeparator.left = new FormAttachment(0, 0);
fdlMultiValuedSeparator.top = new FormAttachment(wLimit, margin);
fdlMultiValuedSeparator.right = new FormAttachment(middle, -margin);
wlMultiValuedSeparator.setLayoutData(fdlMultiValuedSeparator);
wMultiValuedSeparator = new TextVar(transMeta, wContentComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wMultiValuedSeparator);
wMultiValuedSeparator.setToolTipText(BaseMessages.getString(PKG, "LDIFInputDialog.MultiValuedSeparator.Tooltip"));
wMultiValuedSeparator.addModifyListener(lsMod);
fdMultiValuedSeparator = new FormData();
fdMultiValuedSeparator.left = new FormAttachment(middle, 0);
fdMultiValuedSeparator.top = new FormAttachment(wLimit, margin);
fdMultiValuedSeparator.right = new FormAttachment(100, 0);
wMultiValuedSeparator.setLayoutData(fdMultiValuedSeparator);
// ///////////////////////////////
// START OF AddFileResult GROUP //
// ///////////////////////////////
wAddFileResult = new Group(wContentComp, SWT.SHADOW_NONE);
props.setLook(wAddFileResult);
wAddFileResult.setText(BaseMessages.getString(PKG, "LDIFInputDialog.wAddFileResult.Label"));
FormLayout AddFileResultgroupLayout = new FormLayout();
AddFileResultgroupLayout.marginWidth = 10;
AddFileResultgroupLayout.marginHeight = 10;
wAddFileResult.setLayout(AddFileResultgroupLayout);
wlAddResult = new Label(wAddFileResult, SWT.RIGHT);
wlAddResult.setText(BaseMessages.getString(PKG, "LDIFInputDialog.AddResult.Label"));
props.setLook(wlAddResult);
fdlAddResult = new FormData();
fdlAddResult.left = new FormAttachment(0, 0);
fdlAddResult.top = new FormAttachment(wMultiValuedSeparator, margin);
fdlAddResult.right = new FormAttachment(middle, -margin);
wlAddResult.setLayoutData(fdlAddResult);
wAddResult = new Button(wAddFileResult, SWT.CHECK);
props.setLook(wAddResult);
wAddResult.setToolTipText(BaseMessages.getString(PKG, "LDIFInputDialog.AddResult.Tooltip"));
fdAddResult = new FormData();
fdAddResult.left = new FormAttachment(middle, 0);
fdAddResult.top = new FormAttachment(wMultiValuedSeparator, margin);
wAddResult.setLayoutData(fdAddResult);
fdAddFileResult = new FormData();
fdAddFileResult.left = new FormAttachment(0, margin);
fdAddFileResult.top = new FormAttachment(wMultiValuedSeparator, margin);
fdAddFileResult.right = new FormAttachment(100, -margin);
wAddFileResult.setLayoutData(fdAddFileResult);
// ///////////////////////////////////////////////////////////
// / END OF AddFileResult GROUP
// ///////////////////////////////////////////////////////////
fdContentComp = new FormData();
fdContentComp.left = new FormAttachment(0, 0);
fdContentComp.top = new FormAttachment(0, 0);
fdContentComp.right = new FormAttachment(100, 0);
fdContentComp.bottom = new FormAttachment(100, 0);
wContentComp.setLayoutData(fdContentComp);
wContentComp.layout();
wContentTab.setControl(wContentComp);
// ///////////////////////////////////////////////////////////
// / END OF CONTENT TAB
// ///////////////////////////////////////////////////////////
// Fields tab...
//
wFieldsTab = new CTabItem(wTabFolder, SWT.NONE);
wFieldsTab.setText(BaseMessages.getString(PKG, "LDIFInputDialog.Fields.Tab"));
FormLayout fieldsLayout = new FormLayout();
fieldsLayout.marginWidth = Const.FORM_MARGIN;
fieldsLayout.marginHeight = Const.FORM_MARGIN;
wFieldsComp = new Composite(wTabFolder, SWT.NONE);
wFieldsComp.setLayout(fieldsLayout);
props.setLook(wFieldsComp);
wGet = new Button(wFieldsComp, SWT.PUSH);
wGet.setText(BaseMessages.getString(PKG, "LDIFInputDialog.GetFields.Button"));
fdGet = new FormData();
fdGet.left = new FormAttachment(50, 0);
fdGet.bottom = new FormAttachment(100, 0);
wGet.setLayoutData(fdGet);
final int FieldsRows = input.getInputFields().length;
ColumnInfo[] colinf = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Name.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Attribut.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Type.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, ValueMetaFactory.getValueMetaNames(), true), new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Format.Column"), ColumnInfo.COLUMN_TYPE_FORMAT, 3), new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Length.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Precision.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Currency.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Decimal.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Group.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.TrimType.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, LDIFInputField.trimTypeDesc, true), new ColumnInfo(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Repeat.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, new String[] { BaseMessages.getString(PKG, "System.Combo.Yes"), BaseMessages.getString(PKG, "System.Combo.No") }, true) };
colinf[0].setUsingVariables(true);
colinf[0].setToolTip(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Name.Column.Tooltip"));
colinf[1].setUsingVariables(true);
colinf[1].setToolTip(BaseMessages.getString(PKG, "LDIFInputDialog.FieldsTable.Attribut.Column.Tooltip"));
wFields = new TableView(transMeta, wFieldsComp, SWT.FULL_SELECTION | SWT.MULTI, colinf, FieldsRows, lsMod, props);
fdFields = new FormData();
fdFields.left = new FormAttachment(0, 0);
fdFields.top = new FormAttachment(0, 0);
fdFields.right = new FormAttachment(100, 0);
fdFields.bottom = new FormAttachment(wGet, -margin);
wFields.setLayoutData(fdFields);
fdFieldsComp = new FormData();
fdFieldsComp.left = new FormAttachment(0, 0);
fdFieldsComp.top = new FormAttachment(0, 0);
fdFieldsComp.right = new FormAttachment(100, 0);
fdFieldsComp.bottom = new FormAttachment(100, 0);
wFieldsComp.setLayoutData(fdFieldsComp);
wFieldsComp.layout();
wFieldsTab.setControl(wFieldsComp);
addAdditionalFieldsTab();
fdTabFolder = new FormData();
fdTabFolder.left = new FormAttachment(0, 0);
fdTabFolder.top = new FormAttachment(wStepname, 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"));
wPreview = new Button(shell, SWT.PUSH);
wPreview.setText(BaseMessages.getString(PKG, "LDIFInputDialog.Button.PreviewRows"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
setButtonPositions(new Button[] { wOK, wPreview, wCancel }, margin, wTabFolder);
// Add listeners
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
lsGet = new Listener() {
public void handleEvent(Event e) {
get();
}
};
lsPreview = new Listener() {
public void handleEvent(Event e) {
preview();
}
};
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
wOK.addListener(SWT.Selection, lsOK);
wGet.addListener(SWT.Selection, lsGet);
wPreview.addListener(SWT.Selection, lsPreview);
wCancel.addListener(SWT.Selection, lsCancel);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wStepname.addSelectionListener(lsDef);
wLimit.addSelectionListener(lsDef);
wInclRownumField.addSelectionListener(lsDef);
wInclFilenameField.addSelectionListener(lsDef);
// Add the file to the list of files...
SelectionAdapter selA = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
wFilenameList.add(new String[] { wFilename.getText(), wFilemask.getText(), wExcludeFilemask.getText(), LDIFInputMeta.RequiredFilesCode[0], LDIFInputMeta.RequiredFilesCode[0] });
wFilename.setText("");
wFilemask.setText("");
wExcludeFilemask.setText("");
wFilenameList.removeEmptyRows();
wFilenameList.setRowNums();
wFilenameList.optWidth(true);
}
};
wbaFilename.addSelectionListener(selA);
wFilename.addSelectionListener(selA);
// Delete files from the list of files...
wbdFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
int[] idx = wFilenameList.getSelectionIndices();
wFilenameList.remove(idx);
wFilenameList.removeEmptyRows();
wFilenameList.setRowNums();
}
});
// Edit the selected file & remove from the list...
wbeFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
int idx = wFilenameList.getSelectionIndex();
if (idx >= 0) {
String[] string = wFilenameList.getItem(idx);
wFilename.setText(string[0]);
wFilemask.setText(string[1]);
wExcludeFilemask.setText(string[2]);
wFilenameList.remove(idx);
}
wFilenameList.removeEmptyRows();
wFilenameList.setRowNums();
}
});
// Show the files that are selected at this time...
wbShowFiles.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
try {
LDIFInputMeta tfii = new LDIFInputMeta();
getInfo(tfii);
FileInputList fileInputList = tfii.getFiles(transMeta);
String[] files = fileInputList.getFileStrings();
if (files != null && files.length > 0) {
EnterSelectionDialog esd = new EnterSelectionDialog(shell, files, BaseMessages.getString(PKG, "LDIFInputDialog.FilesReadSelection.DialogTitle"), BaseMessages.getString(PKG, "LDIFInputDialog.FilesReadSelection.DialogMessage"));
esd.setViewOnly();
esd.open();
} else {
MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR);
mb.setMessage(BaseMessages.getString(PKG, "LDIFInputDialog.NoFileFound.DialogMessage"));
mb.setText(BaseMessages.getString(PKG, "System.Dialog.Error.Title"));
mb.open();
}
} catch (KettleException ex) {
new ErrorDialog(shell, BaseMessages.getString(PKG, "LDIFInputDialog.ErrorParsingData.DialogTitle"), BaseMessages.getString(PKG, "LDIFInputDialog.ErrorParsingData.DialogMessage"), ex);
}
}
});
// Enable/disable the right fields to allow a filename to be added to
// each row...
wInclFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setIncludeFilename();
}
});
// Enable/disable the right fields to allow a row number to be added to
// each row...
wInclRownum.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setIncludeRownum();
}
});
// Enable/disable the right fields to allow a content type to be added to
// each row...
wInclContentType.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setContenType();
}
});
// Enable/disable the right fields to allow a content type to be added to
// each row...
wInclDN.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setDN();
}
});
// Whenever something changes, set the tooltip to the expanded version
// of the filename:
wFilename.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wFilename.setToolTipText(transMeta.environmentSubstitute(wFilename.getText()));
}
});
// Listen to the Browse... button
wbbFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (!Utils.isEmpty(wFilemask.getText()) || !Utils.isEmpty(wExcludeFilemask.getText())) {
DirectoryDialog dialog = new DirectoryDialog(shell, SWT.OPEN);
if (wFilename.getText() != null) {
String fpath = transMeta.environmentSubstitute(wFilename.getText());
dialog.setFilterPath(fpath);
}
if (dialog.open() != null) {
String str = dialog.getFilterPath();
wFilename.setText(str);
}
} else {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*ldif;*.LDIF", "*" });
if (wFilename.getText() != null) {
String fname = transMeta.environmentSubstitute(wFilename.getText());
dialog.setFileName(fname);
}
dialog.setFilterNames(new String[] { BaseMessages.getString(PKG, "LDIFInputDialog.FileType"), BaseMessages.getString(PKG, "System.FileType.AllFiles") });
if (dialog.open() != null) {
String str = dialog.getFilterPath() + System.getProperty("file.separator") + dialog.getFileName();
wFilename.setText(str);
}
}
}
});
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
wTabFolder.setSelection(0);
// Set the shell size, based upon previous time...
setSize();
getData(input);
ActiveFileField();
setContenType();
setDN();
input.setChanged(changed);
wFields.optWidth(true);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}
use of org.pentaho.di.ui.core.widget.TableView in project pentaho-kettle by pentaho.
the class FixedInputDialog method open.
public String open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MIN | SWT.MAX);
props.setLook(shell);
setShellImage(shell, inputMeta);
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
inputMeta.setChanged();
}
};
changed = inputMeta.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "FixedInputDialog.Shell.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Step name line
//
wlStepname = new Label(shell, SWT.RIGHT);
wlStepname.setText(BaseMessages.getString(PKG, "FixedInputDialog.Stepname.Label"));
props.setLook(wlStepname);
fdlStepname = new FormData();
fdlStepname.left = new FormAttachment(0, 0);
fdlStepname.right = new FormAttachment(middle, -margin);
fdlStepname.top = new FormAttachment(0, margin);
wlStepname.setLayoutData(fdlStepname);
wStepname = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wStepname);
wStepname.addModifyListener(lsMod);
fdStepname = new FormData();
fdStepname.left = new FormAttachment(middle, 0);
fdStepname.top = new FormAttachment(0, margin);
fdStepname.right = new FormAttachment(100, 0);
wStepname.setLayoutData(fdStepname);
Control lastControl = wStepname;
// Filename...
//
// The filename browse button
//
wbbFilename = new Button(shell, SWT.PUSH | SWT.CENTER);
props.setLook(wbbFilename);
wbbFilename.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
wbbFilename.setToolTipText(BaseMessages.getString(PKG, "System.Tooltip.BrowseForFileOrDirAndAdd"));
FormData fdbFilename = new FormData();
fdbFilename.top = new FormAttachment(lastControl, margin);
fdbFilename.right = new FormAttachment(100, 0);
wbbFilename.setLayoutData(fdbFilename);
// The field itself...
//
Label wlFilename = new Label(shell, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "FixedInputDialog.Filename.Label"));
props.setLook(wlFilename);
FormData fdlFilename = new FormData();
fdlFilename.top = new FormAttachment(lastControl, margin);
fdlFilename.left = new FormAttachment(0, 0);
fdlFilename.right = new FormAttachment(middle, -margin);
wlFilename.setLayoutData(fdlFilename);
wFilename = new TextVar(transMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilename);
wFilename.addModifyListener(lsMod);
FormData fdFilename = new FormData();
fdFilename.top = new FormAttachment(lastControl, margin);
fdFilename.left = new FormAttachment(middle, 0);
fdFilename.right = new FormAttachment(wbbFilename, -margin);
wFilename.setLayoutData(fdFilename);
lastControl = wFilename;
// delimiter
Label wlLineWidth = new Label(shell, SWT.RIGHT);
wlLineWidth.setText(BaseMessages.getString(PKG, "FixedInputDialog.LineWidth.Label"));
props.setLook(wlLineWidth);
FormData fdlLineWidth = new FormData();
fdlLineWidth.top = new FormAttachment(lastControl, margin);
fdlLineWidth.left = new FormAttachment(0, 0);
fdlLineWidth.right = new FormAttachment(middle, -margin);
wlLineWidth.setLayoutData(fdlLineWidth);
wLineWidth = new TextVar(transMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wLineWidth);
wLineWidth.addModifyListener(lsMod);
FormData fdLineWidth = new FormData();
fdLineWidth.top = new FormAttachment(lastControl, margin);
fdLineWidth.left = new FormAttachment(middle, 0);
fdLineWidth.right = new FormAttachment(100, 0);
wLineWidth.setLayoutData(fdLineWidth);
lastControl = wLineWidth;
// delimiter
Label wlLineFeedPresent = new Label(shell, SWT.RIGHT);
wlLineFeedPresent.setText(BaseMessages.getString(PKG, "FixedInputDialog.LineFeedPresent.Label"));
props.setLook(wlLineFeedPresent);
FormData fdlLineFeedPresent = new FormData();
fdlLineFeedPresent.top = new FormAttachment(lastControl, margin);
fdlLineFeedPresent.left = new FormAttachment(0, 0);
fdlLineFeedPresent.right = new FormAttachment(middle, -margin);
wlLineFeedPresent.setLayoutData(fdlLineFeedPresent);
wLineFeedPresent = new Button(shell, SWT.CHECK);
props.setLook(wLineFeedPresent);
FormData fdLineFeedPresent = new FormData();
fdLineFeedPresent.top = new FormAttachment(lastControl, margin);
fdLineFeedPresent.left = new FormAttachment(middle, 0);
fdLineFeedPresent.right = new FormAttachment(100, 0);
wLineFeedPresent.setLayoutData(fdLineFeedPresent);
lastControl = wLineFeedPresent;
// bufferSize
//
Label wlBufferSize = new Label(shell, SWT.RIGHT);
wlBufferSize.setText(BaseMessages.getString(PKG, "FixedInputDialog.BufferSize.Label"));
props.setLook(wlBufferSize);
FormData fdlBufferSize = new FormData();
fdlBufferSize.top = new FormAttachment(lastControl, margin);
fdlBufferSize.left = new FormAttachment(0, 0);
fdlBufferSize.right = new FormAttachment(middle, -margin);
wlBufferSize.setLayoutData(fdlBufferSize);
wBufferSize = new TextVar(transMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wBufferSize);
wBufferSize.addModifyListener(lsMod);
FormData fdBufferSize = new FormData();
fdBufferSize.top = new FormAttachment(lastControl, margin);
fdBufferSize.left = new FormAttachment(middle, 0);
fdBufferSize.right = new FormAttachment(100, 0);
wBufferSize.setLayoutData(fdBufferSize);
lastControl = wBufferSize;
// performingLazyConversion?
//
Label wlLazyConversion = new Label(shell, SWT.RIGHT);
wlLazyConversion.setText(BaseMessages.getString(PKG, "FixedInputDialog.LazyConversion.Label"));
props.setLook(wlLazyConversion);
FormData fdlLazyConversion = new FormData();
fdlLazyConversion.top = new FormAttachment(lastControl, margin);
fdlLazyConversion.left = new FormAttachment(0, 0);
fdlLazyConversion.right = new FormAttachment(middle, -margin);
wlLazyConversion.setLayoutData(fdlLazyConversion);
wLazyConversion = new Button(shell, SWT.CHECK);
props.setLook(wLazyConversion);
FormData fdLazyConversion = new FormData();
fdLazyConversion.top = new FormAttachment(lastControl, margin);
fdLazyConversion.left = new FormAttachment(middle, 0);
fdLazyConversion.right = new FormAttachment(100, 0);
wLazyConversion.setLayoutData(fdLazyConversion);
lastControl = wLazyConversion;
// header row?
//
Label wlHeaderPresent = new Label(shell, SWT.RIGHT);
wlHeaderPresent.setText(BaseMessages.getString(PKG, "FixedInputDialog.HeaderPresent.Label"));
props.setLook(wlHeaderPresent);
FormData fdlHeaderPresent = new FormData();
fdlHeaderPresent.top = new FormAttachment(lastControl, margin);
fdlHeaderPresent.left = new FormAttachment(0, 0);
fdlHeaderPresent.right = new FormAttachment(middle, -margin);
wlHeaderPresent.setLayoutData(fdlHeaderPresent);
wHeaderPresent = new Button(shell, SWT.CHECK);
props.setLook(wHeaderPresent);
FormData fdHeaderPresent = new FormData();
fdHeaderPresent.top = new FormAttachment(lastControl, margin);
fdHeaderPresent.left = new FormAttachment(middle, 0);
fdHeaderPresent.right = new FormAttachment(100, 0);
wHeaderPresent.setLayoutData(fdHeaderPresent);
lastControl = wHeaderPresent;
// running in parallel?
//
Label wlRunningInParallel = new Label(shell, SWT.RIGHT);
wlRunningInParallel.setText(BaseMessages.getString(PKG, "FixedInputDialog.RunningInParallel.Label"));
props.setLook(wlRunningInParallel);
FormData fdlRunningInParallel = new FormData();
fdlRunningInParallel.top = new FormAttachment(lastControl, margin);
fdlRunningInParallel.left = new FormAttachment(0, 0);
fdlRunningInParallel.right = new FormAttachment(middle, -margin);
wlRunningInParallel.setLayoutData(fdlRunningInParallel);
wRunningInParallel = new Button(shell, SWT.CHECK);
props.setLook(wRunningInParallel);
FormData fdRunningInParallel = new FormData();
fdRunningInParallel.top = new FormAttachment(lastControl, margin);
fdRunningInParallel.left = new FormAttachment(middle, 0);
wRunningInParallel.setLayoutData(fdRunningInParallel);
// The file type...
//
wlFileType = new Label(shell, SWT.RIGHT);
wlFileType.setText(BaseMessages.getString(PKG, "FixedInputDialog.FileType.Label"));
wlFileType.setToolTipText(BaseMessages.getString(PKG, "FixedInputDialog.FileType.ToolTip"));
props.setLook(wlFileType);
FormData fdlFileType = new FormData();
fdlFileType.top = new FormAttachment(lastControl, margin);
fdlFileType.left = new FormAttachment(wRunningInParallel, margin * 2);
wlFileType.setLayoutData(fdlFileType);
wFileType = new CCombo(shell, SWT.BORDER | SWT.READ_ONLY);
wFileType.setToolTipText(BaseMessages.getString(PKG, "FixedInputDialog.FileType.ToolTip"));
props.setLook(wFileType);
wFileType.setItems(FixedInputMeta.fileTypeDesc);
FormData fdFileType = new FormData();
fdFileType.top = new FormAttachment(lastControl, margin);
fdFileType.left = new FormAttachment(wlFileType, margin);
fdFileType.right = new FormAttachment(100, 0);
wFileType.setLayoutData(fdFileType);
lastControl = wFileType;
wRunningInParallel.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
enableFields();
}
});
Label wlEncoding = new Label(shell, SWT.RIGHT);
wlEncoding.setText(BaseMessages.getString(PKG, "FixedInputDialog.Encoding.Label"));
props.setLook(wlEncoding);
FormData fdlEncoding = new FormData();
fdlEncoding.left = new FormAttachment(0, 0);
fdlEncoding.top = new FormAttachment(lastControl, margin);
fdlEncoding.right = new FormAttachment(middle, -margin);
wlEncoding.setLayoutData(fdlEncoding);
wEncoding = new ComboVar(transMeta, shell, SWT.BORDER | SWT.READ_ONLY);
wEncoding.setEditable(true);
props.setLook(wEncoding);
wEncoding.addModifyListener(lsMod);
FormData fdEncoding = new FormData();
fdEncoding.left = new FormAttachment(middle, 0);
fdEncoding.top = new FormAttachment(lastControl, margin);
fdEncoding.right = new FormAttachment(100, 0);
wEncoding.setLayoutData(fdEncoding);
lastControl = wEncoding;
wEncoding.addFocusListener(new FocusListener() {
public void focusLost(org.eclipse.swt.events.FocusEvent e) {
}
public void focusGained(org.eclipse.swt.events.FocusEvent e) {
Cursor busy = new Cursor(shell.getDisplay(), SWT.CURSOR_WAIT);
shell.setCursor(busy);
setEncodings();
shell.setCursor(null);
busy.dispose();
}
});
wlAddResult = new Label(shell, SWT.RIGHT);
wlAddResult.setText(BaseMessages.getString(PKG, "FixedInputDialog.AddResult.Label"));
props.setLook(wlAddResult);
fdlAddResult = new FormData();
fdlAddResult.left = new FormAttachment(0, 0);
fdlAddResult.top = new FormAttachment(lastControl, margin);
fdlAddResult.right = new FormAttachment(middle, -margin);
wlAddResult.setLayoutData(fdlAddResult);
wAddResult = new Button(shell, SWT.CHECK);
props.setLook(wAddResult);
wAddResult.setToolTipText(BaseMessages.getString(PKG, "FixedInputDialog.AddResult.Tooltip"));
fdAddResult = new FormData();
fdAddResult.left = new FormAttachment(middle, 0);
fdAddResult.top = new FormAttachment(lastControl, margin);
wAddResult.setLayoutData(fdAddResult);
lastControl = wAddResult;
// Some buttons first, so that the dialog scales nicely...
//
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
wPreview = new Button(shell, SWT.PUSH);
wPreview.setText(BaseMessages.getString(PKG, "System.Button.Preview"));
wGet = new Button(shell, SWT.PUSH);
wGet.setText(BaseMessages.getString(PKG, "System.Button.GetFields"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
setButtonPositions(new Button[] { wOK, wGet, wPreview, wCancel }, margin, null);
// Fields
ColumnInfo[] colinf = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "FixedInputDialog.NameColumn.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "FixedInputDialog.TypeColumn.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, ValueMetaFactory.getValueMetaNames(), true), new ColumnInfo(BaseMessages.getString(PKG, "FixedInputDialog.FormatColumn.Column"), ColumnInfo.COLUMN_TYPE_FORMAT, 2), new ColumnInfo(BaseMessages.getString(PKG, "FixedInputDialog.WidthColumn.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "FixedInputDialog.LengthColumn.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "FixedInputDialog.PrecisionColumn.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "FixedInputDialog.CurrencyColumn.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "FixedInputDialog.DecimalColumn.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "FixedInputDialog.GroupColumn.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "FixedInputDialog.TrimColumn.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, ValueMetaString.trimTypeDesc) };
colinf[2].setComboValuesSelectionListener(new ComboValuesSelectionListener() {
public String[] getComboValues(TableItem tableItem, int rowNr, int colNr) {
String[] comboValues = new String[] {};
int type = ValueMetaFactory.getIdForValueMeta(tableItem.getText(colNr - 1));
switch(type) {
case ValueMetaInterface.TYPE_DATE:
comboValues = Const.getDateFormats();
break;
case ValueMetaInterface.TYPE_INTEGER:
case ValueMetaInterface.TYPE_BIGNUMBER:
case ValueMetaInterface.TYPE_NUMBER:
comboValues = Const.getNumberFormats();
break;
default:
break;
}
return comboValues;
}
});
wFields = new TableView(transMeta, shell, SWT.FULL_SELECTION | SWT.MULTI, colinf, 1, lsMod, props);
FormData fdFields = new FormData();
fdFields.top = new FormAttachment(lastControl, margin * 2);
fdFields.bottom = new FormAttachment(wOK, -margin * 2);
fdFields.left = new FormAttachment(0, 0);
fdFields.right = new FormAttachment(100, 0);
wFields.setLayoutData(fdFields);
// Add listeners
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
lsGet = new Listener() {
public void handleEvent(Event e) {
getFixed();
}
};
lsPreview = new Listener() {
public void handleEvent(Event e) {
preview();
}
};
wCancel.addListener(SWT.Selection, lsCancel);
wOK.addListener(SWT.Selection, lsOK);
wPreview.addListener(SWT.Selection, lsPreview);
wGet.addListener(SWT.Selection, lsGet);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wStepname.addSelectionListener(lsDef);
wFilename.addSelectionListener(lsDef);
wLineWidth.addSelectionListener(lsDef);
wBufferSize.addSelectionListener(lsDef);
// Listen to the browse button next to the file name
wbbFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*.txt", "*" });
if (wFilename.getText() != null) {
String fname = transMeta.environmentSubstitute(wFilename.getText());
dialog.setFileName(fname);
}
dialog.setFilterNames(new String[] { BaseMessages.getString(PKG, "System.FileType.TextFiles"), BaseMessages.getString(PKG, "System.FileType.AllFiles") });
if (dialog.open() != null) {
String str = dialog.getFilterPath() + System.getProperty("file.separator") + dialog.getFileName();
wFilename.setText(str);
}
}
});
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
// Set the shell size, based upon previous time...
setSize();
getData();
inputMeta.setChanged(changed);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}
Aggregations