use of org.pentaho.di.ui.core.widget.TextVar in project pentaho-kettle by pentaho.
the class GetXMLDataDialog 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, "GetXMLDataDialog.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, "GetXMLDataDialog.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, "GetXMLDataDialog.wOutputField.Label"));
FormLayout outputfieldgroupLayout = new FormLayout();
outputfieldgroupLayout.marginWidth = 10;
outputfieldgroupLayout.marginHeight = 10;
wOutputField.setLayout(outputfieldgroupLayout);
// Is XML string defined in a Field
wlXmlStreamField = new Label(wOutputField, SWT.RIGHT);
wlXmlStreamField.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.wlXmlStreamField.Label"));
props.setLook(wlXmlStreamField);
fdlXMLStreamField = new FormData();
fdlXMLStreamField.left = new FormAttachment(0, -margin);
fdlXMLStreamField.top = new FormAttachment(0, margin);
fdlXMLStreamField.right = new FormAttachment(middle, -2 * margin);
wlXmlStreamField.setLayoutData(fdlXMLStreamField);
wXMLStreamField = new Button(wOutputField, SWT.CHECK);
props.setLook(wXMLStreamField);
wXMLStreamField.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.wXmlStreamField.Tooltip"));
fdXSDFileField = new FormData();
fdXSDFileField.left = new FormAttachment(middle, -margin);
fdXSDFileField.top = new FormAttachment(0, margin);
wXMLStreamField.setLayoutData(fdXSDFileField);
SelectionAdapter lsxmlstream = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
XMLSource = null;
ActiveXmlStreamField();
input.setChanged();
}
};
wXMLStreamField.addSelectionListener(lsxmlstream);
// Is XML source is a file?
wlXMLIsAFile = new Label(wOutputField, SWT.RIGHT);
wlXMLIsAFile.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.XMLIsAFile.Label"));
props.setLook(wlXMLIsAFile);
fdlXMLIsAFile = new FormData();
fdlXMLIsAFile.left = new FormAttachment(0, -margin);
fdlXMLIsAFile.top = new FormAttachment(wXMLStreamField, margin);
fdlXMLIsAFile.right = new FormAttachment(middle, -2 * margin);
wlXMLIsAFile.setLayoutData(fdlXMLIsAFile);
wXMLIsAFile = new Button(wOutputField, SWT.CHECK);
props.setLook(wXMLIsAFile);
wXMLIsAFile.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.XMLIsAFile.Tooltip"));
fdXMLIsAFile = new FormData();
fdXMLIsAFile.left = new FormAttachment(middle, -margin);
fdXMLIsAFile.top = new FormAttachment(wXMLStreamField, margin);
wXMLIsAFile.setLayoutData(fdXMLIsAFile);
SelectionAdapter lsxmlisafile = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
XMLSource = null;
if (wXMLIsAFile.getSelection()) {
wreadUrl.setSelection(false);
}
input.setChanged();
}
};
wXMLIsAFile.addSelectionListener(lsxmlisafile);
// read url as source ?
wlreadUrl = new Label(wOutputField, SWT.RIGHT);
wlreadUrl.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.readUrl.Label"));
props.setLook(wlreadUrl);
fdlreadUrl = new FormData();
fdlreadUrl.left = new FormAttachment(0, -margin);
fdlreadUrl.top = new FormAttachment(wXMLIsAFile, margin);
fdlreadUrl.right = new FormAttachment(middle, -2 * margin);
wlreadUrl.setLayoutData(fdlreadUrl);
wreadUrl = new Button(wOutputField, SWT.CHECK);
props.setLook(wreadUrl);
wreadUrl.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.readUrl.Tooltip"));
fdreadUrl = new FormData();
fdreadUrl.left = new FormAttachment(middle, -margin);
fdreadUrl.top = new FormAttachment(wXMLIsAFile, margin);
wreadUrl.setLayoutData(fdreadUrl);
SelectionAdapter lsreadurl = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
XMLSource = null;
if (wreadUrl.getSelection()) {
wXMLIsAFile.setSelection(false);
}
input.setChanged();
}
};
wreadUrl.addSelectionListener(lsreadurl);
// If XML string defined in a Field
wlXMLField = new Label(wOutputField, SWT.RIGHT);
wlXMLField.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.wlXMLField.Label"));
props.setLook(wlXMLField);
fdlXMLField = new FormData();
fdlXMLField.left = new FormAttachment(0, -margin);
fdlXMLField.top = new FormAttachment(wreadUrl, margin);
fdlXMLField.right = new FormAttachment(middle, -2 * margin);
wlXMLField.setLayoutData(fdlXMLField);
wXMLField = new CCombo(wOutputField, SWT.BORDER | SWT.READ_ONLY);
wXMLField.setEditable(true);
props.setLook(wXMLField);
wXMLField.addModifyListener(lsMod);
fdXMLField = new FormData();
fdXMLField.left = new FormAttachment(middle, -margin);
fdXMLField.top = new FormAttachment(wreadUrl, margin);
fdXMLField.right = new FormAttachment(100, -margin);
wXMLField.setLayoutData(fdXMLField);
wXMLField.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);
setXMLStreamField();
shell.setCursor(null);
busy.dispose();
}
});
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
// ///////////////////////////////////////////////////////////
// Filename line
wlFilename = new Label(wFileComp, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.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, "GetXMLDataDialog.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, "GetXMLDataDialog.FilenameAdd.Button"));
wbaFilename.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.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, "GetXMLDataDialog.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.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, "GetXMLDataDialog.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, "GetXMLDataDialog.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, "GetXMLDataDialog.FilenameRemove.Button"));
wbdFilename.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.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, "GetXMLDataDialog.FilenameEdit.Button"));
wbeFilename.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.FilenameEdit.Tooltip"));
fdbeFilename = new FormData();
fdbeFilename.right = new FormAttachment(100, 0);
fdbeFilename.left = new FormAttachment(wbdFilename, 0, SWT.LEFT);
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, "GetXMLDataDialog.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, "GetXMLDataDialog.Files.Filename.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[1] = new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.Files.Wildcard.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[2] = new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.Files.ExcludeWildcard.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[0].setUsingVariables(true);
colinfo[1].setUsingVariables(true);
colinfo[1].setToolTip(BaseMessages.getString(PKG, "GetXMLDataDialog.Files.Wildcard.Tooltip"));
colinfo[2].setUsingVariables(true);
colinfo[2].setToolTip(BaseMessages.getString(PKG, "GetXMLDataDialog.Files.ExcludeWildcard.Tooltip"));
colinfo[3] = new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.Required.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, GetXMLDataMeta.RequiredFilesDesc);
colinfo[3].setToolTip(BaseMessages.getString(PKG, "GetXMLDataDialog.Required.Tooltip"));
colinfo[4] = new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.IncludeSubDirs.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, GetXMLDataMeta.RequiredFilesDesc);
colinfo[4].setToolTip(BaseMessages.getString(PKG, "GetXMLDataDialog.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, "GetXMLDataDialog.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 XmlConf Field GROUP //
// ///////////////////////////////
wXmlConf = new Group(wContentComp, SWT.SHADOW_NONE);
props.setLook(wXmlConf);
wXmlConf.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.wXmlConf.Label"));
FormLayout XmlConfgroupLayout = new FormLayout();
XmlConfgroupLayout.marginWidth = 10;
XmlConfgroupLayout.marginHeight = 10;
wXmlConf.setLayout(XmlConfgroupLayout);
wbbLoopPathList = new Button(wXmlConf, SWT.PUSH | SWT.CENTER);
props.setLook(wbbLoopPathList);
wbbLoopPathList.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.LoopPathList.Button"));
wbbLoopPathList.setToolTipText(BaseMessages.getString(PKG, "System.Tooltip.BrowseForFileOrDirAndAdd"));
fdbLoopPathList = new FormData();
fdbLoopPathList.right = new FormAttachment(100, 0);
fdbLoopPathList.top = new FormAttachment(0, 0);
wbbLoopPathList.setLayoutData(fdbLoopPathList);
wbbLoopPathList.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
getLoopPathList();
}
});
wlLoopXPath = new Label(wXmlConf, SWT.RIGHT);
wlLoopXPath.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.LoopXPath.Label"));
props.setLook(wlLoopXPath);
fdlLoopXPath = new FormData();
fdlLoopXPath.left = new FormAttachment(0, 0);
fdlLoopXPath.top = new FormAttachment(0, margin);
fdlLoopXPath.right = new FormAttachment(middle, -margin);
wlLoopXPath.setLayoutData(fdlLoopXPath);
wLoopXPath = new TextVar(transMeta, wXmlConf, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wLoopXPath.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.LoopXPath.Tooltip"));
props.setLook(wLoopXPath);
wLoopXPath.addModifyListener(lsMod);
fdLoopXPath = new FormData();
fdLoopXPath.left = new FormAttachment(middle, 0);
fdLoopXPath.top = new FormAttachment(0, margin);
fdLoopXPath.right = new FormAttachment(wbbLoopPathList, -margin);
wLoopXPath.setLayoutData(fdLoopXPath);
wlEncoding = new Label(wXmlConf, SWT.RIGHT);
wlEncoding.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.Encoding.Label"));
props.setLook(wlEncoding);
fdlEncoding = new FormData();
fdlEncoding.left = new FormAttachment(0, 0);
fdlEncoding.top = new FormAttachment(wLoopXPath, margin);
fdlEncoding.right = new FormAttachment(middle, -margin);
wlEncoding.setLayoutData(fdlEncoding);
wEncoding = new CCombo(wXmlConf, 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(wLoopXPath, 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();
}
});
// Set Namespace aware ?
wlNameSpaceAware = new Label(wXmlConf, SWT.RIGHT);
wlNameSpaceAware.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.NameSpaceAware.Label"));
props.setLook(wlNameSpaceAware);
fdlNameSpaceAware = new FormData();
fdlNameSpaceAware.left = new FormAttachment(0, 0);
fdlNameSpaceAware.top = new FormAttachment(wEncoding, margin);
fdlNameSpaceAware.right = new FormAttachment(middle, -margin);
wlNameSpaceAware.setLayoutData(fdlNameSpaceAware);
wNameSpaceAware = new Button(wXmlConf, SWT.CHECK);
props.setLook(wNameSpaceAware);
wNameSpaceAware.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.NameSpaceAware.Tooltip"));
fdNameSpaceAware = new FormData();
fdNameSpaceAware.left = new FormAttachment(middle, 0);
fdNameSpaceAware.top = new FormAttachment(wEncoding, margin);
wNameSpaceAware.setLayoutData(fdNameSpaceAware);
// Ignore comments ?
wlIgnoreComment = new Label(wXmlConf, SWT.RIGHT);
wlIgnoreComment.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.IgnoreComment.Label"));
props.setLook(wlIgnoreComment);
fdlIgnoreComment = new FormData();
fdlIgnoreComment.left = new FormAttachment(0, 0);
fdlIgnoreComment.top = new FormAttachment(wNameSpaceAware, margin);
fdlIgnoreComment.right = new FormAttachment(middle, -margin);
wlIgnoreComment.setLayoutData(fdlIgnoreComment);
wIgnoreComment = new Button(wXmlConf, SWT.CHECK);
props.setLook(wIgnoreComment);
wIgnoreComment.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.IgnoreComment.Tooltip"));
fdIgnoreComment = new FormData();
fdIgnoreComment.left = new FormAttachment(middle, 0);
fdIgnoreComment.top = new FormAttachment(wNameSpaceAware, margin);
wIgnoreComment.setLayoutData(fdIgnoreComment);
// Validate XML?
wlValidating = new Label(wXmlConf, SWT.RIGHT);
wlValidating.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.Validating.Label"));
props.setLook(wlValidating);
fdlValidating = new FormData();
fdlValidating.left = new FormAttachment(0, 0);
fdlValidating.top = new FormAttachment(wIgnoreComment, margin);
fdlValidating.right = new FormAttachment(middle, -margin);
wlValidating.setLayoutData(fdlValidating);
wValidating = new Button(wXmlConf, SWT.CHECK);
props.setLook(wValidating);
wValidating.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.Validating.Tooltip"));
fdValidating = new FormData();
fdValidating.left = new FormAttachment(middle, 0);
fdValidating.top = new FormAttachment(wIgnoreComment, margin);
wValidating.setLayoutData(fdValidating);
// use Token ?
wluseToken = new Label(wXmlConf, SWT.RIGHT);
wluseToken.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.useToken.Label"));
props.setLook(wluseToken);
fdluseToken = new FormData();
fdluseToken.left = new FormAttachment(0, 0);
fdluseToken.top = new FormAttachment(wValidating, margin);
fdluseToken.right = new FormAttachment(middle, -margin);
wluseToken.setLayoutData(fdluseToken);
wuseToken = new Button(wXmlConf, SWT.CHECK);
props.setLook(wuseToken);
wuseToken.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.useToken.Tooltip"));
fduseToken = new FormData();
fduseToken.left = new FormAttachment(middle, 0);
fduseToken.top = new FormAttachment(wValidating, margin);
wuseToken.setLayoutData(fduseToken);
// Ignore Empty File
wlIgnoreEmptyFile = new Label(wXmlConf, SWT.RIGHT);
wlIgnoreEmptyFile.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.IgnoreEmptyFile.Label"));
props.setLook(wlIgnoreEmptyFile);
fdlIgnoreEmptyFile = new FormData();
fdlIgnoreEmptyFile.left = new FormAttachment(0, 0);
fdlIgnoreEmptyFile.top = new FormAttachment(wuseToken, margin);
fdlIgnoreEmptyFile.right = new FormAttachment(middle, -margin);
wlIgnoreEmptyFile.setLayoutData(fdlIgnoreEmptyFile);
wIgnoreEmptyFile = new Button(wXmlConf, SWT.CHECK);
props.setLook(wIgnoreEmptyFile);
wIgnoreEmptyFile.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.IgnoreEmptyFile.Tooltip"));
fdIgnoreEmptyFile = new FormData();
fdIgnoreEmptyFile.left = new FormAttachment(middle, 0);
fdIgnoreEmptyFile.top = new FormAttachment(wuseToken, margin);
wIgnoreEmptyFile.setLayoutData(fdIgnoreEmptyFile);
// do not fail if no files?
wldoNotFailIfNoFile = new Label(wXmlConf, SWT.RIGHT);
wldoNotFailIfNoFile.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.doNotFailIfNoFile.Label"));
props.setLook(wldoNotFailIfNoFile);
fdldoNotFailIfNoFile = new FormData();
fdldoNotFailIfNoFile.left = new FormAttachment(0, 0);
fdldoNotFailIfNoFile.top = new FormAttachment(wIgnoreEmptyFile, margin);
fdldoNotFailIfNoFile.right = new FormAttachment(middle, -margin);
wldoNotFailIfNoFile.setLayoutData(fdldoNotFailIfNoFile);
wdoNotFailIfNoFile = new Button(wXmlConf, SWT.CHECK);
props.setLook(wdoNotFailIfNoFile);
wdoNotFailIfNoFile.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.doNotFailIfNoFile.Tooltip"));
fddoNotFailIfNoFile = new FormData();
fddoNotFailIfNoFile.left = new FormAttachment(middle, 0);
fddoNotFailIfNoFile.top = new FormAttachment(wIgnoreEmptyFile, margin);
wdoNotFailIfNoFile.setLayoutData(fddoNotFailIfNoFile);
wlLimit = new Label(wXmlConf, SWT.RIGHT);
wlLimit.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.Limit.Label"));
props.setLook(wlLimit);
fdlLimit = new FormData();
fdlLimit.left = new FormAttachment(0, 0);
fdlLimit.top = new FormAttachment(wdoNotFailIfNoFile, margin);
fdlLimit.right = new FormAttachment(middle, -margin);
wlLimit.setLayoutData(fdlLimit);
wLimit = new Text(wXmlConf, 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(wdoNotFailIfNoFile, margin);
fdLimit.right = new FormAttachment(100, 0);
wLimit.setLayoutData(fdLimit);
// Prune path to handle large files (streaming mode)
wlPrunePath = new Label(wXmlConf, SWT.RIGHT);
wlPrunePath.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.StreamingMode.Label"));
props.setLook(wlPrunePath);
fdlPrunePath = new FormData();
fdlPrunePath.left = new FormAttachment(0, 0);
fdlPrunePath.top = new FormAttachment(wLimit, margin);
fdlPrunePath.right = new FormAttachment(middle, -margin);
wlPrunePath.setLayoutData(fdlPrunePath);
wPrunePath = new TextVar(transMeta, wXmlConf, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wPrunePath.setToolTipText(BaseMessages.getString(PKG, "GetXMLDataDialog.StreamingMode.Tooltip"));
props.setLook(wPrunePath);
wPrunePath.addModifyListener(lsMod);
fdPrunePath = new FormData();
fdPrunePath.left = new FormAttachment(middle, 0);
fdPrunePath.top = new FormAttachment(wLimit, margin);
fdPrunePath.right = new FormAttachment(100, 0);
wPrunePath.setLayoutData(fdPrunePath);
fdXmlConf = new FormData();
fdXmlConf.left = new FormAttachment(0, margin);
fdXmlConf.top = new FormAttachment(0, margin);
fdXmlConf.right = new FormAttachment(100, -margin);
wXmlConf.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, "GetXMLDataDialog.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, "GetXMLDataDialog.InclFilename.Label"));
props.setLook(wlInclFilename);
fdlInclFilename = new FormData();
fdlInclFilename.left = new FormAttachment(0, 0);
fdlInclFilename.top = new FormAttachment(wXmlConf, 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, "GetXMLDataDialog.InclFilename.Tooltip"));
fdInclFilename = new FormData();
fdInclFilename.left = new FormAttachment(middle, 0);
fdInclFilename.top = new FormAttachment(wXmlConf, 4 * margin);
wInclFilename.setLayoutData(fdInclFilename);
wlInclFilenameField = new Label(wAdditionalFields, SWT.LEFT);
wlInclFilenameField.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.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, "GetXMLDataDialog.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, "GetXMLDataDialog.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, "GetXMLDataDialog.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(wXmlConf, 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, "GetXMLDataDialog.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, "GetXMLDataDialog.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, "GetXMLDataDialog.AddResult.Tooltip"));
fdAddResult = new FormData();
fdAddResult.left = new FormAttachment(middle, 0);
fdAddResult.top = new FormAttachment(wAdditionalFields, margin);
wAddResult.setLayoutData(fdAddResult);
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, "GetXMLDataDialog.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, "GetXMLDataDialog.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, "GetXMLDataDialog.FieldsTable.Name.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.XPath.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.Element.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, GetXMLDataField.ElementTypeDesc, true), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.ResultType.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, GetXMLDataField.ResultTypeDesc, true), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.Type.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, ValueMeta.getTypes(), true), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.Format.Column"), ColumnInfo.COLUMN_TYPE_FORMAT, 4), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.Length.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.Precision.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.Currency.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.Decimal.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.Group.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.TrimType.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, GetXMLDataField.trimTypeDesc, true), new ColumnInfo(BaseMessages.getString(PKG, "GetXMLDataDialog.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, "GetXMLDataDialog.FieldsTable.Name.Column.Tooltip"));
colinf[1].setUsingVariables(true);
colinf[1].setToolTip(BaseMessages.getString(PKG, "GetXMLDataDialog.FieldsTable.XPath.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, "GetXMLDataDialog.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(), GetXMLDataMeta.RequiredFilesCode[0], GetXMLDataMeta.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 {
GetXMLDataMeta tfii = new GetXMLDataMeta();
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, "GetXMLDataDialog.FilesReadSelection.DialogTitle"), BaseMessages.getString(PKG, "GetXMLDataDialog.FilesReadSelection.DialogMessage"));
esd.setViewOnly();
esd.open();
} else {
MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR);
mb.setMessage(BaseMessages.getString(PKG, "GetXMLDataDialog.NoFileFound.DialogMessage"));
mb.setText(BaseMessages.getString(PKG, "System.Dialog.Error.Title"));
mb.open();
}
} catch (KettleException ex) {
new ErrorDialog(shell, BaseMessages.getString(PKG, "GetXMLDataDialog.ErrorParsingData.DialogTitle"), BaseMessages.getString(PKG, "GetXMLDataDialog.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();
}
});
// 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) {
// A mask: a directory!
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[] { "*.xml;*.XML", "*" });
if (wFilename.getText() != null) {
String fname = transMeta.environmentSubstitute(wFilename.getText());
dialog.setFileName(fname);
}
dialog.setFilterNames(new String[] { BaseMessages.getString(PKG, "System.FileType.XMLFiles"), 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();
setIncludeFilename();
setIncludeRownum();
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.TextVar in project pentaho-kettle by pentaho.
the class GetXMLDataDialog method addAdditionalFieldsTab.
private void addAdditionalFieldsTab() {
// ////////////////////////
// START OF ADDITIONAL FIELDS TAB ///
// ////////////////////////
wAdditionalFieldsTab = new CTabItem(wTabFolder, SWT.NONE);
wAdditionalFieldsTab.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.AdditionalFieldsTab.TabTitle"));
wAdditionalFieldsComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wAdditionalFieldsComp);
FormLayout fieldsLayout = new FormLayout();
fieldsLayout.marginWidth = 3;
fieldsLayout.marginHeight = 3;
wAdditionalFieldsComp.setLayout(fieldsLayout);
// ShortFileFieldName line
wlShortFileFieldName = new Label(wAdditionalFieldsComp, SWT.RIGHT);
wlShortFileFieldName.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.ShortFileFieldName.Label"));
props.setLook(wlShortFileFieldName);
fdlShortFileFieldName = new FormData();
fdlShortFileFieldName.left = new FormAttachment(0, 0);
fdlShortFileFieldName.top = new FormAttachment(wInclRownumField, margin);
fdlShortFileFieldName.right = new FormAttachment(middle, -margin);
wlShortFileFieldName.setLayoutData(fdlShortFileFieldName);
wShortFileFieldName = new TextVar(transMeta, wAdditionalFieldsComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wShortFileFieldName);
wShortFileFieldName.addModifyListener(lsMod);
fdShortFileFieldName = new FormData();
fdShortFileFieldName.left = new FormAttachment(middle, 0);
fdShortFileFieldName.right = new FormAttachment(100, -margin);
fdShortFileFieldName.top = new FormAttachment(wInclRownumField, margin);
wShortFileFieldName.setLayoutData(fdShortFileFieldName);
// ExtensionFieldName line
wlExtensionFieldName = new Label(wAdditionalFieldsComp, SWT.RIGHT);
wlExtensionFieldName.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.ExtensionFieldName.Label"));
props.setLook(wlExtensionFieldName);
fdlExtensionFieldName = new FormData();
fdlExtensionFieldName.left = new FormAttachment(0, 0);
fdlExtensionFieldName.top = new FormAttachment(wShortFileFieldName, margin);
fdlExtensionFieldName.right = new FormAttachment(middle, -margin);
wlExtensionFieldName.setLayoutData(fdlExtensionFieldName);
wExtensionFieldName = new TextVar(transMeta, wAdditionalFieldsComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wExtensionFieldName);
wExtensionFieldName.addModifyListener(lsMod);
fdExtensionFieldName = new FormData();
fdExtensionFieldName.left = new FormAttachment(middle, 0);
fdExtensionFieldName.right = new FormAttachment(100, -margin);
fdExtensionFieldName.top = new FormAttachment(wShortFileFieldName, margin);
wExtensionFieldName.setLayoutData(fdExtensionFieldName);
// PathFieldName line
wlPathFieldName = new Label(wAdditionalFieldsComp, SWT.RIGHT);
wlPathFieldName.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.PathFieldName.Label"));
props.setLook(wlPathFieldName);
fdlPathFieldName = new FormData();
fdlPathFieldName.left = new FormAttachment(0, 0);
fdlPathFieldName.top = new FormAttachment(wExtensionFieldName, margin);
fdlPathFieldName.right = new FormAttachment(middle, -margin);
wlPathFieldName.setLayoutData(fdlPathFieldName);
wPathFieldName = new TextVar(transMeta, wAdditionalFieldsComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wPathFieldName);
wPathFieldName.addModifyListener(lsMod);
fdPathFieldName = new FormData();
fdPathFieldName.left = new FormAttachment(middle, 0);
fdPathFieldName.right = new FormAttachment(100, -margin);
fdPathFieldName.top = new FormAttachment(wExtensionFieldName, margin);
wPathFieldName.setLayoutData(fdPathFieldName);
// SizeFieldName line
wlSizeFieldName = new Label(wAdditionalFieldsComp, SWT.RIGHT);
wlSizeFieldName.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.SizeFieldName.Label"));
props.setLook(wlSizeFieldName);
fdlSizeFieldName = new FormData();
fdlSizeFieldName.left = new FormAttachment(0, 0);
fdlSizeFieldName.top = new FormAttachment(wPathFieldName, margin);
fdlSizeFieldName.right = new FormAttachment(middle, -margin);
wlSizeFieldName.setLayoutData(fdlSizeFieldName);
wSizeFieldName = new TextVar(transMeta, wAdditionalFieldsComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wSizeFieldName);
wSizeFieldName.addModifyListener(lsMod);
fdSizeFieldName = new FormData();
fdSizeFieldName.left = new FormAttachment(middle, 0);
fdSizeFieldName.right = new FormAttachment(100, -margin);
fdSizeFieldName.top = new FormAttachment(wPathFieldName, margin);
wSizeFieldName.setLayoutData(fdSizeFieldName);
// IsHiddenName line
wlIsHiddenName = new Label(wAdditionalFieldsComp, SWT.RIGHT);
wlIsHiddenName.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.IsHiddenName.Label"));
props.setLook(wlIsHiddenName);
fdlIsHiddenName = new FormData();
fdlIsHiddenName.left = new FormAttachment(0, 0);
fdlIsHiddenName.top = new FormAttachment(wSizeFieldName, margin);
fdlIsHiddenName.right = new FormAttachment(middle, -margin);
wlIsHiddenName.setLayoutData(fdlIsHiddenName);
wIsHiddenName = new TextVar(transMeta, wAdditionalFieldsComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wIsHiddenName);
wIsHiddenName.addModifyListener(lsMod);
fdIsHiddenName = new FormData();
fdIsHiddenName.left = new FormAttachment(middle, 0);
fdIsHiddenName.right = new FormAttachment(100, -margin);
fdIsHiddenName.top = new FormAttachment(wSizeFieldName, margin);
wIsHiddenName.setLayoutData(fdIsHiddenName);
// LastModificationTimeName line
wlLastModificationTimeName = new Label(wAdditionalFieldsComp, SWT.RIGHT);
wlLastModificationTimeName.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.LastModificationTimeName.Label"));
props.setLook(wlLastModificationTimeName);
fdlLastModificationTimeName = new FormData();
fdlLastModificationTimeName.left = new FormAttachment(0, 0);
fdlLastModificationTimeName.top = new FormAttachment(wIsHiddenName, margin);
fdlLastModificationTimeName.right = new FormAttachment(middle, -margin);
wlLastModificationTimeName.setLayoutData(fdlLastModificationTimeName);
wLastModificationTimeName = new TextVar(transMeta, wAdditionalFieldsComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wLastModificationTimeName);
wLastModificationTimeName.addModifyListener(lsMod);
fdLastModificationTimeName = new FormData();
fdLastModificationTimeName.left = new FormAttachment(middle, 0);
fdLastModificationTimeName.right = new FormAttachment(100, -margin);
fdLastModificationTimeName.top = new FormAttachment(wIsHiddenName, margin);
wLastModificationTimeName.setLayoutData(fdLastModificationTimeName);
// UriName line
wlUriName = new Label(wAdditionalFieldsComp, SWT.RIGHT);
wlUriName.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.UriName.Label"));
props.setLook(wlUriName);
fdlUriName = new FormData();
fdlUriName.left = new FormAttachment(0, 0);
fdlUriName.top = new FormAttachment(wLastModificationTimeName, margin);
fdlUriName.right = new FormAttachment(middle, -margin);
wlUriName.setLayoutData(fdlUriName);
wUriName = new TextVar(transMeta, wAdditionalFieldsComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wUriName);
wUriName.addModifyListener(lsMod);
fdUriName = new FormData();
fdUriName.left = new FormAttachment(middle, 0);
fdUriName.right = new FormAttachment(100, -margin);
fdUriName.top = new FormAttachment(wLastModificationTimeName, margin);
wUriName.setLayoutData(fdUriName);
// RootUriName line
wlRootUriName = new Label(wAdditionalFieldsComp, SWT.RIGHT);
wlRootUriName.setText(BaseMessages.getString(PKG, "GetXMLDataDialog.RootUriName.Label"));
props.setLook(wlRootUriName);
fdlRootUriName = new FormData();
fdlRootUriName.left = new FormAttachment(0, 0);
fdlRootUriName.top = new FormAttachment(wUriName, margin);
fdlRootUriName.right = new FormAttachment(middle, -margin);
wlRootUriName.setLayoutData(fdlRootUriName);
wRootUriName = new TextVar(transMeta, wAdditionalFieldsComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wRootUriName);
wRootUriName.addModifyListener(lsMod);
fdRootUriName = new FormData();
fdRootUriName.left = new FormAttachment(middle, 0);
fdRootUriName.right = new FormAttachment(100, -margin);
fdRootUriName.top = new FormAttachment(wUriName, margin);
wRootUriName.setLayoutData(fdRootUriName);
fdAdditionalFieldsComp = new FormData();
fdAdditionalFieldsComp.left = new FormAttachment(0, 0);
fdAdditionalFieldsComp.top = new FormAttachment(wStepname, margin);
fdAdditionalFieldsComp.right = new FormAttachment(100, 0);
fdAdditionalFieldsComp.bottom = new FormAttachment(100, 0);
wAdditionalFieldsComp.setLayoutData(fdAdditionalFieldsComp);
wAdditionalFieldsComp.layout();
wAdditionalFieldsTab.setControl(wAdditionalFieldsComp);
// ///////////////////////////////////////////////////////////
// / END OF ADDITIONAL FIELDS TAB
// ///////////////////////////////////////////////////////////
}
use of org.pentaho.di.ui.core.widget.TextVar in project pentaho-kettle by pentaho.
the class XMLInputStreamDialog method open.
@Override
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() {
@Override
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, "XMLInputStreamDialog.Shell.Text"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Step name line
//
wlStepname = new Label(shell, SWT.RIGHT);
wlStepname.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.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;
// split into tabs for better overview, later on:
// wTabFolder = new CTabFolder(shell, SWT.BORDER);
// props.setLook(wTabFolder, Props.WIDGET_STYLE_TAB);
//
//
// addFilesTab();
// addContentTab();
// 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);
// See if the step receives input. If so, we don't ask for the filename, but
// for the filename field.
//
isReceivingInput = transMeta.findNrPrevSteps(stepMeta) > 0;
if (isReceivingInput) {
RowMetaInterface previousFields;
try {
previousFields = transMeta.getPrevStepFields(stepMeta);
} catch (KettleStepException e) {
new ErrorDialog(shell, BaseMessages.getString(PKG, "XMLInputStreamDialog.ErrorDialog.UnableToGetInputFields.Title"), BaseMessages.getString(PKG, "XMLInputStreamDialog.ErrorDialog.UnableToGetInputFields.Message"), e);
previousFields = new RowMeta();
}
// The field itself...
//
Label wlFilename = new Label(shell, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.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);
wFilenameCombo = new CCombo(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wFilenameCombo.setItems(previousFields.getFieldNames());
props.setLook(wFilenameCombo);
wFilenameCombo.addModifyListener(lsMod);
FormData fdFilename = new FormData();
fdFilename.top = new FormAttachment(lastControl, margin);
fdFilename.left = new FormAttachment(middle, 0);
fdFilename.right = new FormAttachment(100, -margin);
wFilenameCombo.setLayoutData(fdFilename);
lastControl = wFilenameCombo;
} else {
// 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, "XMLInputStreamDialog.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;
}
// data from previous step
Label lblAcceptingFilenames = new Label(shell, SWT.RIGHT);
lblAcceptingFilenames.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.SourceStreamField.Label"));
props.setLook(lblAcceptingFilenames);
FormData fdlAcceptingFilenames = new FormData();
fdlAcceptingFilenames.left = new FormAttachment(0, 0);
fdlAcceptingFilenames.top = new FormAttachment(lastControl, margin);
fdlAcceptingFilenames.right = new FormAttachment(middle, -margin);
lblAcceptingFilenames.setLayoutData(fdlAcceptingFilenames);
cbFromSource = new Button(shell, SWT.CHECK);
props.setLook(cbFromSource);
fdlAcceptingFilenames = new FormData();
fdlAcceptingFilenames.left = new FormAttachment(middle, 0);
fdlAcceptingFilenames.top = new FormAttachment(lastControl, margin);
cbFromSource.setLayoutData(fdlAcceptingFilenames);
lastControl = cbFromSource;
// field name
Label lblAcceptingField = new Label(shell, SWT.RIGHT);
lblAcceptingField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.SourceField.Label"));
props.setLook(lblAcceptingField);
FormData fdlAcceptingField = new FormData();
fdlAcceptingField = new FormData();
fdlAcceptingField.left = new FormAttachment(0, 0);
fdlAcceptingField.top = new FormAttachment(lastControl, margin);
fdlAcceptingField.right = new FormAttachment(middle, -margin);
lblAcceptingField.setLayoutData(fdlAcceptingField);
cbSourceField = new CCombo(shell, SWT.BORDER | SWT.READ_ONLY);
props.setLook(cbSourceField);
cbSourceField.addModifyListener(lsMod);
fdlAcceptingField = new FormData();
fdlAcceptingField = new FormData();
fdlAcceptingField.left = new FormAttachment(middle, 0);
fdlAcceptingField.top = new FormAttachment(lastControl, margin);
fdlAcceptingField.right = new FormAttachment(100, 0);
cbSourceField.setLayoutData(fdlAcceptingField);
lastControl = cbSourceField;
setSourceStreamField();
// add filename to result?
//
Label wlAddResult = new Label(shell, SWT.RIGHT);
wlAddResult.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.AddResult.Label"));
props.setLook(wlAddResult);
FormData 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, "XMLInputStreamDialog.AddResult.Tooltip"));
FormData fdAddResult = new FormData();
fdAddResult.left = new FormAttachment(middle, 0);
fdAddResult.top = new FormAttachment(lastControl, margin);
wAddResult.setLayoutData(fdAddResult);
lastControl = wAddResult;
// RowsToSkip line
//
Label wlRowsToSkip = new Label(shell, SWT.RIGHT);
wlRowsToSkip.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.RowsToSkip.Label"));
props.setLook(wlRowsToSkip);
FormData fdlRowsToSkip = new FormData();
fdlRowsToSkip = new FormData();
fdlRowsToSkip.left = new FormAttachment(0, 0);
fdlRowsToSkip.top = new FormAttachment(lastControl, margin);
fdlRowsToSkip.right = new FormAttachment(middle, -margin);
wlRowsToSkip.setLayoutData(fdlRowsToSkip);
wRowsToSkip = new TextVar(transMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wRowsToSkip);
wRowsToSkip.addModifyListener(lsMod);
FormData fdRowsToSkip = new FormData();
fdRowsToSkip = new FormData();
fdRowsToSkip.left = new FormAttachment(middle, 0);
fdRowsToSkip.top = new FormAttachment(lastControl, margin);
fdRowsToSkip.right = new FormAttachment(100, 0);
wRowsToSkip.setLayoutData(fdRowsToSkip);
lastControl = wRowsToSkip;
// Limit line
//
Label wlLimit = new Label(shell, SWT.RIGHT);
wlLimit.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Limit.Label"));
props.setLook(wlLimit);
FormData fdlLimit = new FormData();
fdlLimit = new FormData();
fdlLimit.left = new FormAttachment(0, 0);
fdlLimit.top = new FormAttachment(lastControl, margin);
fdlLimit.right = new FormAttachment(middle, -margin);
wlLimit.setLayoutData(fdlLimit);
wLimit = new TextVar(transMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wLimit);
wLimit.addModifyListener(lsMod);
FormData fdLimit = new FormData();
fdLimit = new FormData();
fdLimit.left = new FormAttachment(middle, 0);
fdLimit.top = new FormAttachment(lastControl, margin);
fdLimit.right = new FormAttachment(100, 0);
wLimit.setLayoutData(fdLimit);
lastControl = wLimit;
// DefaultStringLen line
//
Label wlDefaultStringLen = new Label(shell, SWT.RIGHT);
wlDefaultStringLen.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.DefaultStringLen.Label"));
props.setLook(wlDefaultStringLen);
FormData fdlDefaultStringLen = new FormData();
fdlDefaultStringLen = new FormData();
fdlDefaultStringLen.left = new FormAttachment(0, 0);
fdlDefaultStringLen.top = new FormAttachment(lastControl, margin);
fdlDefaultStringLen.right = new FormAttachment(middle, -margin);
wlDefaultStringLen.setLayoutData(fdlDefaultStringLen);
wDefaultStringLen = new TextVar(transMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wDefaultStringLen);
wDefaultStringLen.addModifyListener(lsMod);
FormData fdDefaultStringLen = new FormData();
fdDefaultStringLen = new FormData();
fdDefaultStringLen.left = new FormAttachment(middle, 0);
fdDefaultStringLen.top = new FormAttachment(lastControl, margin);
fdDefaultStringLen.right = new FormAttachment(100, 0);
wDefaultStringLen.setLayoutData(fdDefaultStringLen);
lastControl = wDefaultStringLen;
// Encoding line
//
Label wlEncoding = new Label(shell, SWT.RIGHT);
wlEncoding.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Encoding.Label"));
props.setLook(wlEncoding);
FormData fdlEncoding = new 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 TextVar(transMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wEncoding);
wEncoding.addModifyListener(lsMod);
FormData fdEncoding = new 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;
// EnableNamespaces?
//
Label wlEnableNamespaces = new Label(shell, SWT.RIGHT);
wlEnableNamespaces.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.EnableNamespaces.Label"));
props.setLook(wlEnableNamespaces);
FormData fdlEnableNamespaces = new FormData();
fdlEnableNamespaces.left = new FormAttachment(0, 0);
fdlEnableNamespaces.top = new FormAttachment(lastControl, margin);
fdlEnableNamespaces.right = new FormAttachment(middle, -margin);
wlEnableNamespaces.setLayoutData(fdlEnableNamespaces);
wEnableNamespaces = new Button(shell, SWT.CHECK);
props.setLook(wEnableNamespaces);
wEnableNamespaces.setToolTipText(BaseMessages.getString(PKG, "XMLInputStreamDialog.EnableNamespaces.Tooltip"));
FormData fdEnableNamespaces = new FormData();
fdEnableNamespaces.left = new FormAttachment(middle, 0);
fdEnableNamespaces.top = new FormAttachment(lastControl, margin);
wEnableNamespaces.setLayoutData(fdEnableNamespaces);
lastControl = wEnableNamespaces;
// EnableTrim?
//
Label wlEnableTrim = new Label(shell, SWT.RIGHT);
wlEnableTrim.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.EnableTrim.Label"));
props.setLook(wlEnableTrim);
FormData fdlEnableTrim = new FormData();
fdlEnableTrim.left = new FormAttachment(0, 0);
fdlEnableTrim.top = new FormAttachment(lastControl, margin);
fdlEnableTrim.right = new FormAttachment(middle, -margin);
wlEnableTrim.setLayoutData(fdlEnableTrim);
wEnableTrim = new Button(shell, SWT.CHECK);
props.setLook(wEnableTrim);
wEnableTrim.setToolTipText(BaseMessages.getString(PKG, "XMLInputStreamDialog.EnableTrim.Tooltip"));
FormData fdEnableTrim = new FormData();
fdEnableTrim.left = new FormAttachment(middle, 0);
fdEnableTrim.top = new FormAttachment(lastControl, margin);
wEnableTrim.setLayoutData(fdEnableTrim);
lastControl = wEnableTrim;
// IncludeFilename?
//
Label wlIncludeFilename = new Label(shell, SWT.RIGHT);
wlIncludeFilename.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeFilename.Label"));
props.setLook(wlIncludeFilename);
FormData fdlIncludeFilename = new FormData();
fdlIncludeFilename.top = new FormAttachment(lastControl, margin);
fdlIncludeFilename.left = new FormAttachment(0, 0);
fdlIncludeFilename.right = new FormAttachment(middle, -margin);
wlIncludeFilename.setLayoutData(fdlIncludeFilename);
wIncludeFilename = new Button(shell, SWT.CHECK);
props.setLook(wIncludeFilename);
FormData fdIncludeFilename = new FormData();
fdIncludeFilename.top = new FormAttachment(lastControl, margin);
fdIncludeFilename.left = new FormAttachment(middle, 0);
wIncludeFilename.setLayoutData(fdIncludeFilename);
// FilenameField line
//
Label wlFilenameField = new Label(shell, SWT.RIGHT);
wlFilenameField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlFilenameField);
FormData fdlFilenameField = new FormData();
fdlFilenameField = new FormData();
fdlFilenameField.top = new FormAttachment(lastControl, margin);
fdlFilenameField.left = new FormAttachment(wIncludeFilename, margin);
wlFilenameField.setLayoutData(fdlFilenameField);
wFilenameField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilenameField);
wFilenameField.addModifyListener(lsMod);
FormData fdFilenameField = new FormData();
fdFilenameField = new FormData();
fdFilenameField.top = new FormAttachment(lastControl, margin);
fdFilenameField.left = new FormAttachment(wlFilenameField, margin);
fdFilenameField.right = new FormAttachment(100, 0);
wFilenameField.setLayoutData(fdFilenameField);
lastControl = wFilenameField;
// IncludeRowNumber?
//
Label wlIncludeRowNumber = new Label(shell, SWT.RIGHT);
wlIncludeRowNumber.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeRowNumber.Label"));
props.setLook(wlIncludeRowNumber);
FormData fdlIncludeRowNumber = new FormData();
fdlIncludeRowNumber.top = new FormAttachment(lastControl, margin);
fdlIncludeRowNumber.left = new FormAttachment(0, 0);
fdlIncludeRowNumber.right = new FormAttachment(middle, -margin);
wlIncludeRowNumber.setLayoutData(fdlIncludeRowNumber);
wIncludeRowNumber = new Button(shell, SWT.CHECK);
props.setLook(wIncludeRowNumber);
FormData fdIncludeRowNumber = new FormData();
fdIncludeRowNumber.top = new FormAttachment(lastControl, margin);
fdIncludeRowNumber.left = new FormAttachment(middle, 0);
wIncludeRowNumber.setLayoutData(fdIncludeRowNumber);
// RowNumberField line
//
Label wlRowNumberField = new Label(shell, SWT.RIGHT);
wlRowNumberField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlRowNumberField);
FormData fdlRowNumberField = new FormData();
fdlRowNumberField = new FormData();
fdlRowNumberField.top = new FormAttachment(lastControl, margin);
fdlRowNumberField.left = new FormAttachment(wIncludeRowNumber, margin);
wlRowNumberField.setLayoutData(fdlRowNumberField);
wRowNumberField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wRowNumberField);
wRowNumberField.addModifyListener(lsMod);
FormData fdRowNumberField = new FormData();
fdRowNumberField = new FormData();
fdRowNumberField.top = new FormAttachment(lastControl, margin);
fdRowNumberField.left = new FormAttachment(wlRowNumberField, margin);
fdRowNumberField.right = new FormAttachment(100, 0);
wRowNumberField.setLayoutData(fdRowNumberField);
lastControl = wRowNumberField;
// IncludeXmlDataTypeNumeric?
//
Label wlIncludeXmlDataTypeNumeric = new Label(shell, SWT.RIGHT);
wlIncludeXmlDataTypeNumeric.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeXmlDataTypeNumeric.Label"));
props.setLook(wlIncludeXmlDataTypeNumeric);
FormData fdlIncludeXmlDataTypeNumeric = new FormData();
fdlIncludeXmlDataTypeNumeric.top = new FormAttachment(lastControl, margin);
fdlIncludeXmlDataTypeNumeric.left = new FormAttachment(0, 0);
fdlIncludeXmlDataTypeNumeric.right = new FormAttachment(middle, -margin);
wlIncludeXmlDataTypeNumeric.setLayoutData(fdlIncludeXmlDataTypeNumeric);
wIncludeXmlDataTypeNumeric = new Button(shell, SWT.CHECK);
props.setLook(wIncludeXmlDataTypeNumeric);
FormData fdIncludeXmlDataTypeNumeric = new FormData();
fdIncludeXmlDataTypeNumeric.top = new FormAttachment(lastControl, margin);
fdIncludeXmlDataTypeNumeric.left = new FormAttachment(middle, 0);
wIncludeXmlDataTypeNumeric.setLayoutData(fdIncludeXmlDataTypeNumeric);
// XmlDataTypeNumericField line
//
Label wlXmlDataTypeNumericField = new Label(shell, SWT.RIGHT);
wlXmlDataTypeNumericField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlXmlDataTypeNumericField);
FormData fdlXmlDataTypeNumericField = new FormData();
fdlXmlDataTypeNumericField = new FormData();
fdlXmlDataTypeNumericField.top = new FormAttachment(lastControl, margin);
fdlXmlDataTypeNumericField.left = new FormAttachment(wIncludeXmlDataTypeNumeric, margin);
wlXmlDataTypeNumericField.setLayoutData(fdlXmlDataTypeNumericField);
wXmlDataTypeNumericField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wXmlDataTypeNumericField);
wXmlDataTypeNumericField.addModifyListener(lsMod);
FormData fdXmlDataTypeNumericField = new FormData();
fdXmlDataTypeNumericField = new FormData();
fdXmlDataTypeNumericField.top = new FormAttachment(lastControl, margin);
fdXmlDataTypeNumericField.left = new FormAttachment(wlXmlDataTypeNumericField, margin);
fdXmlDataTypeNumericField.right = new FormAttachment(100, 0);
wXmlDataTypeNumericField.setLayoutData(fdXmlDataTypeNumericField);
lastControl = wXmlDataTypeNumericField;
// IncludeXmlDataTypeDescription?
//
Label wlIncludeXmlDataTypeDescription = new Label(shell, SWT.RIGHT);
wlIncludeXmlDataTypeDescription.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeXmlDataTypeDescription.Label"));
props.setLook(wlIncludeXmlDataTypeDescription);
FormData fdlIncludeXmlDataTypeDescription = new FormData();
fdlIncludeXmlDataTypeDescription.top = new FormAttachment(lastControl, margin);
fdlIncludeXmlDataTypeDescription.left = new FormAttachment(0, 0);
fdlIncludeXmlDataTypeDescription.right = new FormAttachment(middle, -margin);
wlIncludeXmlDataTypeDescription.setLayoutData(fdlIncludeXmlDataTypeDescription);
wIncludeXmlDataTypeDescription = new Button(shell, SWT.CHECK);
props.setLook(wIncludeXmlDataTypeDescription);
FormData fdIncludeXmlDataTypeDescription = new FormData();
fdIncludeXmlDataTypeDescription.top = new FormAttachment(lastControl, margin);
fdIncludeXmlDataTypeDescription.left = new FormAttachment(middle, 0);
wIncludeXmlDataTypeDescription.setLayoutData(fdIncludeXmlDataTypeDescription);
// XmlDataTypeDescriptionField line
//
Label wlXmlDataTypeDescriptionField = new Label(shell, SWT.RIGHT);
wlXmlDataTypeDescriptionField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlXmlDataTypeDescriptionField);
FormData fdlXmlDataTypeDescriptionField = new FormData();
fdlXmlDataTypeDescriptionField = new FormData();
fdlXmlDataTypeDescriptionField.top = new FormAttachment(lastControl, margin);
fdlXmlDataTypeDescriptionField.left = new FormAttachment(wIncludeXmlDataTypeDescription, margin);
wlXmlDataTypeDescriptionField.setLayoutData(fdlXmlDataTypeDescriptionField);
wXmlDataTypeDescriptionField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wXmlDataTypeDescriptionField);
wXmlDataTypeDescriptionField.addModifyListener(lsMod);
FormData fdXmlDataTypeDescriptionField = new FormData();
fdXmlDataTypeDescriptionField = new FormData();
fdXmlDataTypeDescriptionField.top = new FormAttachment(lastControl, margin);
fdXmlDataTypeDescriptionField.left = new FormAttachment(wlXmlDataTypeDescriptionField, margin);
fdXmlDataTypeDescriptionField.right = new FormAttachment(100, 0);
wXmlDataTypeDescriptionField.setLayoutData(fdXmlDataTypeDescriptionField);
lastControl = wXmlDataTypeDescriptionField;
// IncludeXmlLocationLine?
//
Label wlIncludeXmlLocationLine = new Label(shell, SWT.RIGHT);
wlIncludeXmlLocationLine.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeXmlLocationLine.Label"));
props.setLook(wlIncludeXmlLocationLine);
FormData fdlIncludeXmlLocationLine = new FormData();
fdlIncludeXmlLocationLine.top = new FormAttachment(lastControl, margin);
fdlIncludeXmlLocationLine.left = new FormAttachment(0, 0);
fdlIncludeXmlLocationLine.right = new FormAttachment(middle, -margin);
wlIncludeXmlLocationLine.setLayoutData(fdlIncludeXmlLocationLine);
wIncludeXmlLocationLine = new Button(shell, SWT.CHECK);
props.setLook(wIncludeXmlLocationLine);
FormData fdIncludeXmlLocationLine = new FormData();
fdIncludeXmlLocationLine.top = new FormAttachment(lastControl, margin);
fdIncludeXmlLocationLine.left = new FormAttachment(middle, 0);
wIncludeXmlLocationLine.setLayoutData(fdIncludeXmlLocationLine);
// XmlLocationLineField line
//
Label wlXmlLocationLineField = new Label(shell, SWT.RIGHT);
wlXmlLocationLineField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlXmlLocationLineField);
FormData fdlXmlLocationLineField = new FormData();
fdlXmlLocationLineField = new FormData();
fdlXmlLocationLineField.top = new FormAttachment(lastControl, margin);
fdlXmlLocationLineField.left = new FormAttachment(wIncludeXmlLocationLine, margin);
wlXmlLocationLineField.setLayoutData(fdlXmlLocationLineField);
wXmlLocationLineField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wXmlLocationLineField);
wXmlLocationLineField.addModifyListener(lsMod);
FormData fdXmlLocationLineField = new FormData();
fdXmlLocationLineField = new FormData();
fdXmlLocationLineField.top = new FormAttachment(lastControl, margin);
fdXmlLocationLineField.left = new FormAttachment(wlXmlLocationLineField, margin);
fdXmlLocationLineField.right = new FormAttachment(100, 0);
wXmlLocationLineField.setLayoutData(fdXmlLocationLineField);
lastControl = wXmlLocationLineField;
// IncludeXmlLocationColumn?
//
Label wlIncludeXmlLocationColumn = new Label(shell, SWT.RIGHT);
wlIncludeXmlLocationColumn.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeXmlLocationColumn.Label"));
props.setLook(wlIncludeXmlLocationColumn);
FormData fdlIncludeXmlLocationColumn = new FormData();
fdlIncludeXmlLocationColumn.top = new FormAttachment(lastControl, margin);
fdlIncludeXmlLocationColumn.left = new FormAttachment(0, 0);
fdlIncludeXmlLocationColumn.right = new FormAttachment(middle, -margin);
wlIncludeXmlLocationColumn.setLayoutData(fdlIncludeXmlLocationColumn);
wIncludeXmlLocationColumn = new Button(shell, SWT.CHECK);
props.setLook(wIncludeXmlLocationColumn);
FormData fdIncludeXmlLocationColumn = new FormData();
fdIncludeXmlLocationColumn.top = new FormAttachment(lastControl, margin);
fdIncludeXmlLocationColumn.left = new FormAttachment(middle, 0);
wIncludeXmlLocationColumn.setLayoutData(fdIncludeXmlLocationColumn);
// XmlLocationColumnField line
//
Label wlXmlLocationColumnField = new Label(shell, SWT.RIGHT);
wlXmlLocationColumnField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlXmlLocationColumnField);
FormData fdlXmlLocationColumnField = new FormData();
fdlXmlLocationColumnField = new FormData();
fdlXmlLocationColumnField.top = new FormAttachment(lastControl, margin);
fdlXmlLocationColumnField.left = new FormAttachment(wIncludeXmlLocationColumn, margin);
wlXmlLocationColumnField.setLayoutData(fdlXmlLocationColumnField);
wXmlLocationColumnField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wXmlLocationColumnField);
wXmlLocationColumnField.addModifyListener(lsMod);
FormData fdXmlLocationColumnField = new FormData();
fdXmlLocationColumnField = new FormData();
fdXmlLocationColumnField.top = new FormAttachment(lastControl, margin);
fdXmlLocationColumnField.left = new FormAttachment(wlXmlLocationColumnField, margin);
fdXmlLocationColumnField.right = new FormAttachment(100, 0);
wXmlLocationColumnField.setLayoutData(fdXmlLocationColumnField);
lastControl = wXmlLocationColumnField;
// IncludeXmlElementID?
//
Label wlIncludeXmlElementID = new Label(shell, SWT.RIGHT);
wlIncludeXmlElementID.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeXmlElementID.Label"));
props.setLook(wlIncludeXmlElementID);
FormData fdlIncludeXmlElementID = new FormData();
fdlIncludeXmlElementID.top = new FormAttachment(lastControl, margin);
fdlIncludeXmlElementID.left = new FormAttachment(0, 0);
fdlIncludeXmlElementID.right = new FormAttachment(middle, -margin);
wlIncludeXmlElementID.setLayoutData(fdlIncludeXmlElementID);
wIncludeXmlElementID = new Button(shell, SWT.CHECK);
props.setLook(wIncludeXmlElementID);
FormData fdIncludeXmlElementID = new FormData();
fdIncludeXmlElementID.top = new FormAttachment(lastControl, margin);
fdIncludeXmlElementID.left = new FormAttachment(middle, 0);
wIncludeXmlElementID.setLayoutData(fdIncludeXmlElementID);
// XmlElementIDField line
//
Label wlXmlElementIDField = new Label(shell, SWT.RIGHT);
wlXmlElementIDField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlXmlElementIDField);
FormData fdlXmlElementIDField = new FormData();
fdlXmlElementIDField = new FormData();
fdlXmlElementIDField.top = new FormAttachment(lastControl, margin);
fdlXmlElementIDField.left = new FormAttachment(wIncludeXmlElementID, margin);
wlXmlElementIDField.setLayoutData(fdlXmlElementIDField);
wXmlElementIDField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wXmlElementIDField);
wXmlElementIDField.addModifyListener(lsMod);
FormData fdXmlElementIDField = new FormData();
fdXmlElementIDField = new FormData();
fdXmlElementIDField.top = new FormAttachment(lastControl, margin);
fdXmlElementIDField.left = new FormAttachment(wlXmlElementIDField, margin);
fdXmlElementIDField.right = new FormAttachment(100, 0);
wXmlElementIDField.setLayoutData(fdXmlElementIDField);
lastControl = wXmlElementIDField;
// IncludeXmlParentElementID?
//
Label wlIncludeXmlParentElementID = new Label(shell, SWT.RIGHT);
wlIncludeXmlParentElementID.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeXmlParentElementID.Label"));
props.setLook(wlIncludeXmlParentElementID);
FormData fdlIncludeXmlParentElementID = new FormData();
fdlIncludeXmlParentElementID.top = new FormAttachment(lastControl, margin);
fdlIncludeXmlParentElementID.left = new FormAttachment(0, 0);
fdlIncludeXmlParentElementID.right = new FormAttachment(middle, -margin);
wlIncludeXmlParentElementID.setLayoutData(fdlIncludeXmlParentElementID);
wIncludeXmlParentElementID = new Button(shell, SWT.CHECK);
props.setLook(wIncludeXmlParentElementID);
FormData fdIncludeXmlParentElementID = new FormData();
fdIncludeXmlParentElementID.top = new FormAttachment(lastControl, margin);
fdIncludeXmlParentElementID.left = new FormAttachment(middle, 0);
wIncludeXmlParentElementID.setLayoutData(fdIncludeXmlParentElementID);
// XmlParentElementIDField line
//
Label wlXmlParentElementIDField = new Label(shell, SWT.RIGHT);
wlXmlParentElementIDField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlXmlParentElementIDField);
FormData fdlXmlParentElementIDField = new FormData();
fdlXmlParentElementIDField = new FormData();
fdlXmlParentElementIDField.top = new FormAttachment(lastControl, margin);
fdlXmlParentElementIDField.left = new FormAttachment(wIncludeXmlParentElementID, margin);
wlXmlParentElementIDField.setLayoutData(fdlXmlParentElementIDField);
wXmlParentElementIDField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wXmlParentElementIDField);
wXmlParentElementIDField.addModifyListener(lsMod);
FormData fdXmlParentElementIDField = new FormData();
fdXmlParentElementIDField = new FormData();
fdXmlParentElementIDField.top = new FormAttachment(lastControl, margin);
fdXmlParentElementIDField.left = new FormAttachment(wlXmlParentElementIDField, margin);
fdXmlParentElementIDField.right = new FormAttachment(100, 0);
wXmlParentElementIDField.setLayoutData(fdXmlParentElementIDField);
lastControl = wXmlParentElementIDField;
// IncludeXmlElementLevel?
//
Label wlIncludeXmlElementLevel = new Label(shell, SWT.RIGHT);
wlIncludeXmlElementLevel.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeXmlElementLevel.Label"));
props.setLook(wlIncludeXmlElementLevel);
FormData fdlIncludeXmlElementLevel = new FormData();
fdlIncludeXmlElementLevel.top = new FormAttachment(lastControl, margin);
fdlIncludeXmlElementLevel.left = new FormAttachment(0, 0);
fdlIncludeXmlElementLevel.right = new FormAttachment(middle, -margin);
wlIncludeXmlElementLevel.setLayoutData(fdlIncludeXmlElementLevel);
wIncludeXmlElementLevel = new Button(shell, SWT.CHECK);
props.setLook(wIncludeXmlElementLevel);
FormData fdIncludeXmlElementLevel = new FormData();
fdIncludeXmlElementLevel.top = new FormAttachment(lastControl, margin);
fdIncludeXmlElementLevel.left = new FormAttachment(middle, 0);
wIncludeXmlElementLevel.setLayoutData(fdIncludeXmlElementLevel);
// XmlElementLevelField line
//
Label wlXmlElementLevelField = new Label(shell, SWT.RIGHT);
wlXmlElementLevelField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlXmlElementLevelField);
FormData fdlXmlElementLevelField = new FormData();
fdlXmlElementLevelField = new FormData();
fdlXmlElementLevelField.top = new FormAttachment(lastControl, margin);
fdlXmlElementLevelField.left = new FormAttachment(wIncludeXmlElementLevel, margin);
wlXmlElementLevelField.setLayoutData(fdlXmlElementLevelField);
wXmlElementLevelField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wXmlElementLevelField);
wXmlElementLevelField.addModifyListener(lsMod);
FormData fdXmlElementLevelField = new FormData();
fdXmlElementLevelField = new FormData();
fdXmlElementLevelField.top = new FormAttachment(lastControl, margin);
fdXmlElementLevelField.left = new FormAttachment(wlXmlElementLevelField, margin);
fdXmlElementLevelField.right = new FormAttachment(100, 0);
wXmlElementLevelField.setLayoutData(fdXmlElementLevelField);
lastControl = wXmlElementLevelField;
// IncludeXmlPath?
//
Label wlIncludeXmlPath = new Label(shell, SWT.RIGHT);
wlIncludeXmlPath.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeXmlPath.Label"));
props.setLook(wlIncludeXmlPath);
FormData fdlIncludeXmlPath = new FormData();
fdlIncludeXmlPath.top = new FormAttachment(lastControl, margin);
fdlIncludeXmlPath.left = new FormAttachment(0, 0);
fdlIncludeXmlPath.right = new FormAttachment(middle, -margin);
wlIncludeXmlPath.setLayoutData(fdlIncludeXmlPath);
wIncludeXmlPath = new Button(shell, SWT.CHECK);
props.setLook(wIncludeXmlPath);
FormData fdIncludeXmlPath = new FormData();
fdIncludeXmlPath.top = new FormAttachment(lastControl, margin);
fdIncludeXmlPath.left = new FormAttachment(middle, 0);
wIncludeXmlPath.setLayoutData(fdIncludeXmlPath);
// XmlPathField line
//
Label wlXmlPathField = new Label(shell, SWT.RIGHT);
wlXmlPathField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlXmlPathField);
FormData fdlXmlPathField = new FormData();
fdlXmlPathField = new FormData();
fdlXmlPathField.top = new FormAttachment(lastControl, margin);
fdlXmlPathField.left = new FormAttachment(wIncludeXmlPath, margin);
wlXmlPathField.setLayoutData(fdlXmlPathField);
wXmlPathField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wXmlPathField);
wXmlPathField.addModifyListener(lsMod);
FormData fdXmlPathField = new FormData();
fdXmlPathField = new FormData();
fdXmlPathField.top = new FormAttachment(lastControl, margin);
fdXmlPathField.left = new FormAttachment(wlXmlPathField, margin);
fdXmlPathField.right = new FormAttachment(100, 0);
wXmlPathField.setLayoutData(fdXmlPathField);
lastControl = wXmlPathField;
// IncludeXmlParentPath?
//
Label wlIncludeXmlParentPath = new Label(shell, SWT.RIGHT);
wlIncludeXmlParentPath.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeXmlParentPath.Label"));
props.setLook(wlIncludeXmlParentPath);
FormData fdlIncludeXmlParentPath = new FormData();
fdlIncludeXmlParentPath.top = new FormAttachment(lastControl, margin);
fdlIncludeXmlParentPath.left = new FormAttachment(0, 0);
fdlIncludeXmlParentPath.right = new FormAttachment(middle, -margin);
wlIncludeXmlParentPath.setLayoutData(fdlIncludeXmlParentPath);
wIncludeXmlParentPath = new Button(shell, SWT.CHECK);
props.setLook(wIncludeXmlParentPath);
FormData fdIncludeXmlParentPath = new FormData();
fdIncludeXmlParentPath.top = new FormAttachment(lastControl, margin);
fdIncludeXmlParentPath.left = new FormAttachment(middle, 0);
wIncludeXmlParentPath.setLayoutData(fdIncludeXmlParentPath);
// XmlParentPathField line
//
Label wlXmlParentPathField = new Label(shell, SWT.RIGHT);
wlXmlParentPathField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlXmlParentPathField);
FormData fdlXmlParentPathField = new FormData();
fdlXmlParentPathField = new FormData();
fdlXmlParentPathField.top = new FormAttachment(lastControl, margin);
fdlXmlParentPathField.left = new FormAttachment(wIncludeXmlParentPath, margin);
wlXmlParentPathField.setLayoutData(fdlXmlParentPathField);
wXmlParentPathField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wXmlParentPathField);
wXmlParentPathField.addModifyListener(lsMod);
FormData fdXmlParentPathField = new FormData();
fdXmlParentPathField = new FormData();
fdXmlParentPathField.top = new FormAttachment(lastControl, margin);
fdXmlParentPathField.left = new FormAttachment(wlXmlParentPathField, margin);
fdXmlParentPathField.right = new FormAttachment(100, 0);
wXmlParentPathField.setLayoutData(fdXmlParentPathField);
lastControl = wXmlParentPathField;
// IncludeXmlDataName?
//
Label wlIncludeXmlDataName = new Label(shell, SWT.RIGHT);
wlIncludeXmlDataName.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeXmlDataName.Label"));
props.setLook(wlIncludeXmlDataName);
FormData fdlIncludeXmlDataName = new FormData();
fdlIncludeXmlDataName.top = new FormAttachment(lastControl, margin);
fdlIncludeXmlDataName.left = new FormAttachment(0, 0);
fdlIncludeXmlDataName.right = new FormAttachment(middle, -margin);
wlIncludeXmlDataName.setLayoutData(fdlIncludeXmlDataName);
wIncludeXmlDataName = new Button(shell, SWT.CHECK);
props.setLook(wIncludeXmlDataName);
FormData fdIncludeXmlDataName = new FormData();
fdIncludeXmlDataName.top = new FormAttachment(lastControl, margin);
fdIncludeXmlDataName.left = new FormAttachment(middle, 0);
wIncludeXmlDataName.setLayoutData(fdIncludeXmlDataName);
// XmlDataNameField line
//
Label wlXmlDataNameField = new Label(shell, SWT.RIGHT);
wlXmlDataNameField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlXmlDataNameField);
FormData fdlXmlDataNameField = new FormData();
fdlXmlDataNameField = new FormData();
fdlXmlDataNameField.top = new FormAttachment(lastControl, margin);
fdlXmlDataNameField.left = new FormAttachment(wIncludeXmlDataName, margin);
wlXmlDataNameField.setLayoutData(fdlXmlDataNameField);
wXmlDataNameField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wXmlDataNameField);
wXmlDataNameField.addModifyListener(lsMod);
FormData fdXmlDataNameField = new FormData();
fdXmlDataNameField = new FormData();
fdXmlDataNameField.top = new FormAttachment(lastControl, margin);
fdXmlDataNameField.left = new FormAttachment(wlXmlDataNameField, margin);
fdXmlDataNameField.right = new FormAttachment(100, 0);
wXmlDataNameField.setLayoutData(fdXmlDataNameField);
lastControl = wXmlDataNameField;
// IncludeXmlDataValue?
//
Label wlIncludeXmlDataValue = new Label(shell, SWT.RIGHT);
wlIncludeXmlDataValue.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.IncludeXmlDataValue.Label"));
props.setLook(wlIncludeXmlDataValue);
FormData fdlIncludeXmlDataValue = new FormData();
fdlIncludeXmlDataValue.top = new FormAttachment(lastControl, margin);
fdlIncludeXmlDataValue.left = new FormAttachment(0, 0);
fdlIncludeXmlDataValue.right = new FormAttachment(middle, -margin);
wlIncludeXmlDataValue.setLayoutData(fdlIncludeXmlDataValue);
wIncludeXmlDataValue = new Button(shell, SWT.CHECK);
props.setLook(wIncludeXmlDataValue);
FormData fdIncludeXmlDataValue = new FormData();
fdIncludeXmlDataValue.top = new FormAttachment(lastControl, margin);
fdIncludeXmlDataValue.left = new FormAttachment(middle, 0);
wIncludeXmlDataValue.setLayoutData(fdIncludeXmlDataValue);
// XmlDataValueField line
//
Label wlXmlDataValueField = new Label(shell, SWT.RIGHT);
wlXmlDataValueField.setText(BaseMessages.getString(PKG, "XMLInputStreamDialog.Fieldname.Label"));
props.setLook(wlXmlDataValueField);
FormData fdlXmlDataValueField = new FormData();
fdlXmlDataValueField = new FormData();
fdlXmlDataValueField.top = new FormAttachment(lastControl, margin);
fdlXmlDataValueField.left = new FormAttachment(wIncludeXmlDataValue, margin);
wlXmlDataValueField.setLayoutData(fdlXmlDataValueField);
wXmlDataValueField = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wXmlDataValueField);
wXmlDataValueField.addModifyListener(lsMod);
FormData fdXmlDataValueField = new FormData();
fdXmlDataValueField = new FormData();
fdXmlDataValueField.top = new FormAttachment(lastControl, margin);
fdXmlDataValueField.left = new FormAttachment(wlXmlDataValueField, margin);
fdXmlDataValueField.right = new FormAttachment(100, 0);
wXmlDataValueField.setLayoutData(fdXmlDataValueField);
lastControl = wXmlDataValueField;
// 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"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
setButtonPositions(new Button[] { wOK, wPreview, wCancel }, margin, lastControl);
// Add listeners
lsCancel = new Listener() {
@Override
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
@Override
public void handleEvent(Event e) {
ok();
}
};
lsPreview = new Listener() {
@Override
public void handleEvent(Event e) {
preview();
}
};
wCancel.addListener(SWT.Selection, lsCancel);
wOK.addListener(SWT.Selection, lsOK);
wPreview.addListener(SWT.Selection, lsPreview);
lsDef = new SelectionAdapter() {
@Override
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wStepname.addSelectionListener(lsDef);
if (isReceivingInput) {
wFilenameCombo.addSelectionListener(lsDef);
} else {
wFilename.addSelectionListener(lsDef);
// Listen to the browse button next to the file name
wbbFilename.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*.xml;*.XML", "*" });
if (wFilename.getText() != null) {
String fname = transMeta.environmentSubstitute(wFilename.getText());
dialog.setFileName(fname);
}
dialog.setFilterNames(new String[] { BaseMessages.getString(PKG, "System.FileType.XMLFiles"), 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() {
@Override
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;
}
use of org.pentaho.di.ui.core.widget.TextVar in project pentaho-kettle by pentaho.
the class XsdValidatorDialog 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);
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, "XsdValidatorDialog.Shell.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Filename line
wlStepname = new Label(shell, SWT.RIGHT);
wlStepname.setText(BaseMessages.getString(PKG, "XsdValidatorDialog.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, "XsdValidatorDialog.GeneralTab.TabTitle"));
wGeneralComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wGeneralComp);
FormLayout generalLayout = new FormLayout();
generalLayout.marginWidth = 3;
generalLayout.marginHeight = 3;
wGeneralComp.setLayout(generalLayout);
// ////////////////////////
// START OF XML GROUP
//
wXML = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wXML);
wXML.setText("XML source");
FormLayout groupXML = new FormLayout();
groupXML.marginWidth = 10;
groupXML.marginHeight = 10;
wXML.setLayout(groupXML);
// XML Source = file ?
wlXMLSourceFile = new Label(wXML, SWT.RIGHT);
wlXMLSourceFile.setText(BaseMessages.getString(PKG, "XsdValidatorDialog.XMLSourceFile.Label"));
props.setLook(wlXMLSourceFile);
fdlXMLSourceFile = new FormData();
fdlXMLSourceFile.left = new FormAttachment(0, 0);
fdlXMLSourceFile.top = new FormAttachment(wStepname, 2 * margin);
fdlXMLSourceFile.right = new FormAttachment(middle, -margin);
wlXMLSourceFile.setLayoutData(fdlXMLSourceFile);
wXMLSourceFile = new Button(wXML, SWT.CHECK);
props.setLook(wXMLSourceFile);
wXMLSourceFile.setToolTipText(BaseMessages.getString(PKG, "XsdValidatorDialog.XMLSourceFile.Tooltip"));
fdXMLSourceFile = new FormData();
fdXMLSourceFile.left = new FormAttachment(middle, margin);
fdXMLSourceFile.top = new FormAttachment(wStepname, 2 * margin);
wXMLSourceFile.setLayoutData(fdXMLSourceFile);
wXMLSourceFile.addSelectionListener(new ComponentSelectionListener(input));
// XML Stream Field
wlXMLStream = new Label(wXML, SWT.RIGHT);
wlXMLStream.setText(BaseMessages.getString(PKG, "XsdValidatorDialog.XMLStream.Label"));
props.setLook(wlXMLStream);
fdlXMLStream = new FormData();
fdlXMLStream.left = new FormAttachment(0, 0);
fdlXMLStream.top = new FormAttachment(wXMLSourceFile, margin);
fdlXMLStream.right = new FormAttachment(middle, -margin);
wlXMLStream.setLayoutData(fdlXMLStream);
wXMLStream = new CCombo(wXML, SWT.BORDER | SWT.READ_ONLY);
wXMLStream.setEditable(true);
props.setLook(wXMLStream);
wXMLStream.addModifyListener(lsMod);
fdXMLStream = new FormData();
fdXMLStream.left = new FormAttachment(middle, margin);
fdXMLStream.top = new FormAttachment(wXMLSourceFile, margin);
fdXMLStream.right = new FormAttachment(100, -margin);
wXMLStream.setLayoutData(fdXMLStream);
wXMLStream.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);
PopulateFields();
shell.setCursor(null);
busy.dispose();
}
});
fdXML = new FormData();
fdXML.left = new FormAttachment(0, margin);
fdXML.top = new FormAttachment(wStepname, margin);
fdXML.right = new FormAttachment(100, -margin);
wXML.setLayoutData(fdXML);
// ///////////////////////////////////////////////////////////
// / END OF XML GROUP
// ///////////////////////////////////////////////////////////
// ////////////////////////
// START OF OutputFields GROUP
//
wOutputFields = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wOutputFields);
wOutputFields.setText("Output Fields");
FormLayout groupLayout = new FormLayout();
groupLayout.marginWidth = 10;
groupLayout.marginHeight = 10;
wOutputFields.setLayout(groupLayout);
// Output Fieldame
wResultField = new LabelTextVar(transMeta, wOutputFields, BaseMessages.getString(PKG, "XsdValidatorDialog.ResultField.Label"), BaseMessages.getString(PKG, "XsdValidatorDialog.ResultField.Tooltip"));
props.setLook(wResultField);
wResultField.addModifyListener(lsMod);
fdResultField = new FormData();
fdResultField.left = new FormAttachment(0, 0);
fdResultField.top = new FormAttachment(wXML, margin);
fdResultField.right = new FormAttachment(100, 0);
wResultField.setLayoutData(fdResultField);
// Output String Field ?
wlOutputStringField = new Label(wOutputFields, SWT.RIGHT);
wlOutputStringField.setText(BaseMessages.getString(PKG, "XsdValidatorDialog.OutputStringField.Label"));
props.setLook(wlOutputStringField);
fdlOutputStringField = new FormData();
fdlOutputStringField.left = new FormAttachment(0, 0);
fdlOutputStringField.top = new FormAttachment(wResultField, 2 * margin);
fdlOutputStringField.right = new FormAttachment(middle, -margin);
wlOutputStringField.setLayoutData(fdlOutputStringField);
wOutputStringField = new Button(wOutputFields, SWT.CHECK);
props.setLook(wOutputStringField);
wOutputStringField.setToolTipText(BaseMessages.getString(PKG, "XsdValidatorDialog.OutputStringField.Tooltip"));
fdOutputStringField = new FormData();
fdOutputStringField.left = new FormAttachment(middle, margin);
fdOutputStringField.top = new FormAttachment(wResultField, 2 * margin);
wOutputStringField.setLayoutData(fdOutputStringField);
wOutputStringField.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
activeOutputStringField();
input.setChanged();
}
});
// Output if XML is valid field
wIfXMLValid = new LabelTextVar(transMeta, wOutputFields, BaseMessages.getString(PKG, "XsdValidatorDialog.IfXMLValid.Label"), BaseMessages.getString(PKG, "XsdValidatorDialog.IfXMLValid.Tooltip"));
props.setLook(wIfXMLValid);
wIfXMLValid.addModifyListener(lsMod);
fdIfXMLValid = new FormData();
fdIfXMLValid.left = new FormAttachment(0, 0);
fdIfXMLValid.top = new FormAttachment(wOutputStringField, margin);
fdIfXMLValid.right = new FormAttachment(100, 0);
wIfXMLValid.setLayoutData(fdIfXMLValid);
// Output if XML is not valid field
wIfXMLUnValid = new LabelTextVar(transMeta, wOutputFields, BaseMessages.getString(PKG, "XsdValidatorDialog.IfXMLUnValid.Label"), BaseMessages.getString(PKG, "XsdValidatorDialog.IfXMLUnValid.Tooltip"));
props.setLook(wIfXMLUnValid);
wIfXMLUnValid.addModifyListener(lsMod);
fdIfXMLUnValid = new FormData();
fdIfXMLUnValid.left = new FormAttachment(0, 0);
fdIfXMLUnValid.top = new FormAttachment(wIfXMLValid, margin);
fdIfXMLUnValid.right = new FormAttachment(100, 0);
wIfXMLUnValid.setLayoutData(fdIfXMLUnValid);
// Add validation message ?
wlAddValidationMsg = new Label(wOutputFields, SWT.RIGHT);
wlAddValidationMsg.setText(BaseMessages.getString(PKG, "XsdValidatorDialog.AddValidationMsg.Label"));
props.setLook(wlAddValidationMsg);
fdlAddValidationMsg = new FormData();
fdlAddValidationMsg.left = new FormAttachment(0, 0);
fdlAddValidationMsg.top = new FormAttachment(wIfXMLUnValid, 2 * margin);
fdlAddValidationMsg.right = new FormAttachment(middle, -margin);
wlAddValidationMsg.setLayoutData(fdlAddValidationMsg);
wAddValidationMsg = new Button(wOutputFields, SWT.CHECK);
props.setLook(wAddValidationMsg);
wAddValidationMsg.setToolTipText(BaseMessages.getString(PKG, "XsdValidatorDialog.AddValidationMsg.Tooltip"));
fdAddValidationMsg = new FormData();
fdAddValidationMsg.left = new FormAttachment(middle, margin);
fdAddValidationMsg.top = new FormAttachment(wIfXMLUnValid, 2 * margin);
wAddValidationMsg.setLayoutData(fdAddValidationMsg);
wAddValidationMsg.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
activeValidationMsg();
input.setChanged();
}
});
// Validation Msg Fieldame
wValidationMsg = new LabelTextVar(transMeta, wOutputFields, BaseMessages.getString(PKG, "XsdValidatorDialog.ValidationMsg.Label"), BaseMessages.getString(PKG, "XsdValidatorDialog.ValidationMsg.Tooltip"));
props.setLook(wValidationMsg);
wValidationMsg.addModifyListener(lsMod);
fdValidationMsg = new FormData();
fdValidationMsg.left = new FormAttachment(0, 0);
fdValidationMsg.top = new FormAttachment(wAddValidationMsg, margin);
fdValidationMsg.right = new FormAttachment(100, 0);
wValidationMsg.setLayoutData(fdValidationMsg);
fdOutputFields = new FormData();
fdOutputFields.left = new FormAttachment(0, margin);
fdOutputFields.top = new FormAttachment(wXML, margin);
fdOutputFields.right = new FormAttachment(100, -margin);
wOutputFields.setLayoutData(fdOutputFields);
// ///////////////////////////////////////////////////////////
// / END OF OUTPUT FIELDS GROUP
// ///////////////////////////////////////////////////////////
// ////////////////////////
// START OF XSD GROUP
//
wXSD = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wXSD);
wXSD.setText("XML Schema Definition");
FormLayout groupXSD = new FormLayout();
groupXSD.marginWidth = 10;
groupXSD.marginHeight = 10;
wXSD.setLayout(groupLayout);
// XSD Source?
wlXSDSource = new Label(wXSD, SWT.RIGHT);
wlXSDSource.setText(BaseMessages.getString(PKG, "XsdValidatorDialog.XSDSource.Label"));
props.setLook(wlXSDSource);
fdlXSDSource = new FormData();
fdlXSDSource.left = new FormAttachment(0, 0);
fdlXSDSource.top = new FormAttachment(wStepname, margin);
fdlXSDSource.right = new FormAttachment(middle, -margin);
wlXSDSource.setLayoutData(fdlXSDSource);
wXSDSource = new CCombo(wXSD, SWT.BORDER | SWT.READ_ONLY);
wXSDSource.setEditable(true);
props.setLook(wXSDSource);
wXSDSource.addModifyListener(lsMod);
fdXSDSource = new FormData();
fdXSDSource.left = new FormAttachment(middle, margin);
fdXSDSource.top = new FormAttachment(wStepname, margin);
fdXSDSource.right = new FormAttachment(100, -margin);
wXSDSource.setLayoutData(fdXSDSource);
wXSDSource.add(BaseMessages.getString(PKG, "XsdValidatorDialog.XSDSource.IS_A_FILE"));
wXSDSource.add(BaseMessages.getString(PKG, "XsdValidatorDialog.XSDSource.IS_A_FIELD"));
wXSDSource.add(BaseMessages.getString(PKG, "XsdValidatorDialog.XSDSource.NO_NEED"));
wXSDSource.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setXSDSource();
}
});
// XSD Filename
wlFilename = new Label(wXSD, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "XsdValidatorDialog.XSDFilename.Label"));
props.setLook(wlFilename);
fdlFilename = new FormData();
fdlFilename.left = new FormAttachment(0, 0);
fdlFilename.top = new FormAttachment(wXSDSource, margin);
fdlFilename.right = new FormAttachment(middle, -margin);
wlFilename.setLayoutData(fdlFilename);
wbbFilename = new Button(wXSD, SWT.PUSH | SWT.CENTER);
props.setLook(wbbFilename);
wbbFilename.setText(BaseMessages.getString(PKG, "XsdValidatorDialog.FilenameBrowse.Button"));
wbbFilename.setToolTipText(BaseMessages.getString(PKG, "System.Tooltip.BrowseForFileOrDirAndAdd"));
fdbFilename = new FormData();
fdbFilename.right = new FormAttachment(100, 0);
fdbFilename.top = new FormAttachment(wXSDSource, margin);
wbbFilename.setLayoutData(fdbFilename);
wFilename = new TextVar(transMeta, wXSD, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilename);
wFilename.addModifyListener(lsMod);
fdFilename = new FormData();
fdFilename.left = new FormAttachment(middle, margin);
fdFilename.right = new FormAttachment(wbbFilename, -margin);
fdFilename.top = new FormAttachment(wXSDSource, margin);
wFilename.setLayoutData(fdFilename);
// XSD file defined in a column
wlXSDDefinedColumn = new Label(wXSD, SWT.RIGHT);
wlXSDDefinedColumn.setText(BaseMessages.getString(PKG, "XsdValidatorDialog.XSDDefinedColumn.Label"));
props.setLook(wlXSDDefinedColumn);
fdlXSDDefinedColumn = new FormData();
fdlXSDDefinedColumn.left = new FormAttachment(0, 0);
fdlXSDDefinedColumn.top = new FormAttachment(wFilename, 2 * margin);
fdlXSDDefinedColumn.right = new FormAttachment(middle, -margin);
wlXSDDefinedColumn.setLayoutData(fdlXSDDefinedColumn);
wXSDDefinedColumn = new CCombo(wXSD, SWT.BORDER | SWT.READ_ONLY);
wXSDDefinedColumn.setEditable(true);
props.setLook(wXSDDefinedColumn);
wXSDDefinedColumn.addModifyListener(lsMod);
fdXSDDefinedColumn = new FormData();
fdXSDDefinedColumn.left = new FormAttachment(middle, margin);
fdXSDDefinedColumn.top = new FormAttachment(wFilename, 2 * margin);
fdXSDDefinedColumn.right = new FormAttachment(100, -margin);
wXSDDefinedColumn.setLayoutData(fdXSDDefinedColumn);
wXSDDefinedColumn.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);
PopulateFields();
shell.setCursor(null);
busy.dispose();
}
});
fdXSD = new FormData();
fdXSD.left = new FormAttachment(0, margin);
fdXSD.top = new FormAttachment(wOutputFields, margin);
fdXSD.right = new FormAttachment(100, -margin);
wXSD.setLayoutData(fdXSD);
// ///////////////////////////////////////////////////////////
// / END OF XSD GROUP
// ///////////////////////////////////////////////////////////
fdGeneralComp = new FormData();
fdGeneralComp.left = new FormAttachment(0, 0);
fdGeneralComp.top = new FormAttachment(0, 0);
fdGeneralComp.right = new FormAttachment(100, 0);
fdGeneralComp.bottom = new FormAttachment(100, 0);
wGeneralComp.setLayoutData(fdGeneralComp);
wGeneralComp.layout();
wGeneralTab.setControl(wGeneralComp);
props.setLook(wGeneralComp);
// ///////////////////////////////////////////////////////////
// / END OF GENERAL TAB
// ///////////////////////////////////////////////////////////
// ///////////////////////////////////////////////////////////
// / END OF GENERAL 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);
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);
// 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) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*xsd;*.XSD", "*" });
if (wFilename.getText() != null) {
String fname = transMeta.environmentSubstitute(wFilename.getText());
dialog.setFileName(fname);
}
dialog.setFilterNames(new String[] { BaseMessages.getString(PKG, "XsdValidatorDialog.FileType"), BaseMessages.getString(PKG, "System.FileType.AllFiles") });
if (dialog.open() != null) {
String str = dialog.getFilterPath() + System.getProperty("file.separator") + dialog.getFileName();
wFilename.setText(str);
}
}
});
wTabFolder.setSelection(0);
// Set the shell size, based upon previous time...
setSize();
getData();
activeValidationMsg();
activeOutputStringField();
setXSDSource();
input.setChanged(changed);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}
use of org.pentaho.di.ui.core.widget.TextVar in project pentaho-kettle by pentaho.
the class EnterSelectionDialog method open.
public String open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, SWT.DIALOG_TRIM | (modal ? SWT.APPLICATION_MODAL | SWT.SHEET : SWT.NONE) | SWT.RESIZE | SWT.MIN | SWT.MAX);
props.setLook(shell);
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = 15;
formLayout.marginHeight = 15;
shell.setLayout(formLayout);
shell.setText(shellText);
shell.setImage(GUIResource.getInstance().getImageSpoon());
int margin = Const.MARGIN;
if (quickSearch) {
ToolBar treeTb = new ToolBar(shell, SWT.HORIZONTAL | SWT.FLAT);
props.setLook(treeTb);
wfilter = new ToolItem(treeTb, SWT.SEPARATOR);
searchText = new Text(treeTb, SWT.SEARCH | SWT.CANCEL);
props.setLook(searchText);
searchText.setToolTipText(BaseMessages.getString(PKG, "EnterSelectionDialog.FilterString.ToolTip"));
wfilter.setControl(searchText);
wfilter.setWidth(120);
wbRegex = new ToolItem(treeTb, SWT.CHECK);
wbRegex.setImage(GUIResource.getInstance().getImageRegexSmall());
wbRegex.setToolTipText(BaseMessages.getString(PKG, "EnterSelectionDialog.useRegEx.Tooltip"));
goSearch = new ToolItem(treeTb, SWT.PUSH);
goSearch.setImage(GUIResource.getInstance().getImageSearchSmall());
goSearch.setToolTipText(BaseMessages.getString(PKG, "EnterSelectionDialog.refresh.Label"));
goSearch.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
updateFilter();
}
});
if (this.databasesInterface != null) {
addConnection = new ToolItem(treeTb, SWT.PUSH);
addConnection.setImage(GUIResource.getInstance().getImageAdd());
addConnection.setToolTipText(BaseMessages.getString(PKG, "Add.Datasource.Label"));
addConnection.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
addDataSource();
}
});
}
FormData fd = new FormData();
fd.right = new FormAttachment(100);
fd.top = new FormAttachment(0, 0);
treeTb.setLayoutData(fd);
Label wlFilter = new Label(shell, SWT.RIGHT);
props.setLook(wlFilter);
wlFilter.setText(BaseMessages.getString(PKG, "EnterSelectionDialog.FilterString.Label"));
FormData fdlFilter = new FormData();
fdlFilter.top = new FormAttachment(0, 5);
fdlFilter.right = new FormAttachment(treeTb, -5);
wlFilter.setLayoutData(fdlFilter);
searchText.addSelectionListener(new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
updateFilter();
}
});
// From step line
wlSelection = new Label(shell, SWT.NONE);
wlSelection.setText(lineText);
props.setLook(wlSelection);
fdlSelection = new FormData();
fdlSelection.left = new FormAttachment(0, 0);
fdlSelection.top = new FormAttachment(treeTb, 10);
wlSelection.setLayoutData(fdlSelection);
} else {
// From step line
wlSelection = new Label(shell, SWT.NONE);
wlSelection.setText(lineText);
props.setLook(wlSelection);
fdlSelection = new FormData();
fdlSelection.left = new FormAttachment(0, 0);
wlSelection.setLayoutData(fdlSelection);
}
int options = SWT.LEFT | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL;
if (multi) {
options |= SWT.MULTI;
} else {
options |= SWT.SINGLE;
}
wSelection = new List(shell, options);
for (int i = 0; i < choices.length; i++) {
wSelection.add(choices[i]);
}
if (selectedNrs != null) {
wSelection.select(selectedNrs);
wSelection.showSelection();
}
if (fixed) {
props.setLook(wSelection, Props.WIDGET_STYLE_FIXED);
} else {
props.setLook(wSelection);
}
// Some buttons
wOK = new Button(shell, SWT.PUSH);
if (viewOnly) {
wOK.setText(BaseMessages.getString(PKG, "System.Button.Close"));
} else {
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
}
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
wOK.addListener(SWT.Selection, lsOK);
Button[] buttons = new Button[] { wOK };
if (!viewOnly) {
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
wCancel.addListener(SWT.Selection, lsCancel);
buttons = new Button[] { wOK, wCancel };
}
BaseStepDialog.positionBottomRightButtons(shell, buttons, margin, null);
Control nextControl = wOK;
if (constant != null) {
wConstantValue = new TextVar(variableSpace, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
if (!Utils.isEmpty(constant)) {
wConstantValue.setText(constant);
}
props.setLook(wConstantValue);
FormData fdConstantValue = new FormData();
fdConstantValue.left = new FormAttachment(0, 0);
fdConstantValue.bottom = new FormAttachment(wOK, -10);
fdConstantValue.right = new FormAttachment(100, 0);
wConstantValue.setLayoutData(fdConstantValue);
wbUseConstant = new Button(shell, SWT.CHECK);
props.setLook(wbUseConstant);
wbUseConstant.setText(BaseMessages.getString(PKG, "EnterSelectionDialog.UseConstant.Label"));
wbUseConstant.setSelection(!Utils.isEmpty(constant));
nextControl = wbUseConstant;
FormData fdUseConstant = new FormData();
fdUseConstant.left = new FormAttachment(0, 0);
fdUseConstant.bottom = new FormAttachment(wConstantValue, -5);
wbUseConstant.setLayoutData(fdUseConstant);
wbUseConstant.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent selectionEvent) {
super.widgetSelected(selectionEvent);
setActive();
}
});
setActive();
}
fdSelection = new FormData();
fdSelection.left = new FormAttachment(0, 0);
fdSelection.right = new FormAttachment(100, 0);
fdSelection.top = new FormAttachment(wlSelection, 5);
fdSelection.bottom = new FormAttachment(nextControl, -10);
wSelection.setLayoutData(fdSelection);
// Add listeners
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wSelection.addSelectionListener(lsDef);
wSelection.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.character == SWT.CR) {
ok();
}
}
});
// Detect [X] or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
getData();
if (shellWidth == 0 || shellHeight == 0) {
BaseStepDialog.setSize(shell);
} else {
shell.setSize(shellWidth, shellHeight);
}
wOK.setFocus();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return selection;
}
Aggregations