use of org.pentaho.di.trans.steps.rssoutput.RssOutputMeta in project pentaho-kettle by pentaho.
the class RssOutputDialog 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();
}
};
backupChanged = input.hasChanged();
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "RssOutputDialog.DialogTitle"));
// get previous fields name
getFields();
// 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.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 CHANNEL TAB ///
// ////////////////////////
wChannelTab = new CTabItem(wTabFolder, SWT.NONE);
wChannelTab.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelTab.TabTitle"));
wChannelComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wChannelComp);
FormLayout channelLayout = new FormLayout();
channelLayout.marginWidth = 3;
channelLayout.marginHeight = 3;
wChannelComp.setLayout(channelLayout);
// Create Custom RSS?
wlCustomRss = new Label(wChannelComp, SWT.RIGHT);
wlCustomRss.setText(BaseMessages.getString(PKG, "RssOutputDialog.CustomRss.Label"));
props.setLook(wlCustomRss);
fdlCustomRss = new FormData();
fdlCustomRss.left = new FormAttachment(0, 0);
fdlCustomRss.top = new FormAttachment(0, margin);
fdlCustomRss.right = new FormAttachment(middle, -margin);
wlCustomRss.setLayoutData(fdlCustomRss);
wCustomRss = new Button(wChannelComp, SWT.CHECK);
wCustomRss.setToolTipText(BaseMessages.getString(PKG, "RssOutputDialog.CustomRss.Tooltip"));
props.setLook(wCustomRss);
fdCustomRss = new FormData();
fdCustomRss.left = new FormAttachment(middle, 0);
fdCustomRss.top = new FormAttachment(0, margin);
fdCustomRss.right = new FormAttachment(100, 0);
wCustomRss.setLayoutData(fdCustomRss);
wCustomRss.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setCustomRSS();
input.setChanged();
}
});
// Create Custom RSS?
wlDisplayItem = new Label(wChannelComp, SWT.RIGHT);
wlDisplayItem.setText(BaseMessages.getString(PKG, "RssOutputDialog.DisplayItem.Label"));
props.setLook(wlDisplayItem);
fdlDisplayItem = new FormData();
fdlDisplayItem.left = new FormAttachment(0, 0);
fdlDisplayItem.top = new FormAttachment(wCustomRss, margin);
fdlDisplayItem.right = new FormAttachment(middle, -margin);
wlDisplayItem.setLayoutData(fdlDisplayItem);
wDisplayItem = new Button(wChannelComp, SWT.CHECK);
wDisplayItem.setToolTipText(BaseMessages.getString(PKG, "RssOutputDialog.DisplayItem.Tooltip"));
props.setLook(wDisplayItem);
fdDisplayItem = new FormData();
fdDisplayItem.left = new FormAttachment(middle, 0);
fdDisplayItem.top = new FormAttachment(wCustomRss, margin);
fdDisplayItem.right = new FormAttachment(100, 0);
wDisplayItem.setLayoutData(fdDisplayItem);
wDisplayItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// ChannelGroup grouping?
// ////////////////////////
// START OF ChannelGroup GROUP
//
wChannelGroup = new Group(wChannelComp, SWT.SHADOW_NONE);
props.setLook(wChannelGroup);
wChannelGroup.setText(BaseMessages.getString(PKG, "RssOutputDialog.Group.ChannelGroup.Label"));
FormLayout groupChannelGroupLayout = new FormLayout();
groupChannelGroupLayout.marginWidth = 10;
groupChannelGroupLayout.marginHeight = 10;
wChannelGroup.setLayout(groupChannelGroupLayout);
// RemarqChannel
wlRemarqChannel = new Label(wChannelGroup, SWT.RIGHT);
wlRemarqChannel.setText(BaseMessages.getString(PKG, "RssOutputDialog.RemarqChannel.Label"));
props.setLook(wlRemarqChannel);
fdlRemarqChannel = new FormData();
fdlRemarqChannel.left = new FormAttachment(0, 0);
fdlRemarqChannel.top = new FormAttachment(wDisplayItem, margin);
// fdlRemarq.right = new FormAttachment(middle, -margin);
wlRemarqChannel.setLayoutData(fdlRemarqChannel);
// RemarqMandatory
wlRemarqMandatory = new Label(wChannelGroup, SWT.RIGHT);
wlRemarqMandatory.setText(BaseMessages.getString(PKG, "RssOutputDialog.RemarqMandatory.Label"));
props.setLook(wlRemarqMandatory);
fdlRemarqMandatory = new FormData();
fdlRemarqMandatory.left = new FormAttachment(0, 0);
fdlRemarqMandatory.top = new FormAttachment(wlRemarqChannel, margin);
// fdlRemarq.right = new FormAttachment(middle, -margin);
wlRemarqMandatory.setLayoutData(fdlRemarqMandatory);
// ChannelTitle line
wlChannelTitle = new Label(wChannelGroup, SWT.RIGHT);
wlChannelTitle.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelTitle.Label"));
props.setLook(wlChannelTitle);
fdlChannelTitle = new FormData();
fdlChannelTitle.left = new FormAttachment(0, 0);
fdlChannelTitle.top = new FormAttachment(wlRemarqMandatory, 2 * margin);
fdlChannelTitle.right = new FormAttachment(middle, -margin);
wlChannelTitle.setLayoutData(fdlChannelTitle);
wChannelTitle = new CCombo(wChannelGroup, SWT.BORDER | SWT.READ_ONLY);
wChannelTitle.setEditable(true);
wChannelTitle.setItems(fieldNames);
props.setLook(wChannelTitle);
wChannelTitle.addModifyListener(lsMod);
fdChannelTitle = new FormData();
fdChannelTitle.left = new FormAttachment(middle, 0);
fdChannelTitle.top = new FormAttachment(wlRemarqMandatory, 2 * margin);
fdChannelTitle.right = new FormAttachment(100, 0);
wChannelTitle.setLayoutData(fdChannelTitle);
// Channel Description
wlChannelDescription = new Label(wChannelGroup, SWT.RIGHT);
wlChannelDescription.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelDescription.Label"));
props.setLook(wlChannelDescription);
fdlChannelDescription = new FormData();
fdlChannelDescription.left = new FormAttachment(0, 0);
fdlChannelDescription.top = new FormAttachment(wChannelTitle, margin);
fdlChannelDescription.right = new FormAttachment(middle, -margin);
wlChannelDescription.setLayoutData(fdlChannelDescription);
wChannelDescription = new CCombo(wChannelGroup, SWT.BORDER | SWT.READ_ONLY);
wChannelDescription.setEditable(true);
wChannelDescription.setItems(fieldNames);
props.setLook(wChannelDescription);
wChannelDescription.addModifyListener(lsMod);
fdChannelDescription = new FormData();
fdChannelDescription.left = new FormAttachment(middle, 0);
fdChannelDescription.top = new FormAttachment(wChannelTitle, margin);
fdChannelDescription.right = new FormAttachment(100, 0);
wChannelDescription.setLayoutData(fdChannelDescription);
// ChannelLink line
wlChannelLink = new Label(wChannelGroup, SWT.RIGHT);
wlChannelLink.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelLink.Label"));
props.setLook(wlChannelLink);
fdlChannelLink = new FormData();
fdlChannelLink.left = new FormAttachment(0, 0);
fdlChannelLink.top = new FormAttachment(wChannelDescription, margin);
fdlChannelLink.right = new FormAttachment(middle, -margin);
wlChannelLink.setLayoutData(fdlChannelLink);
wChannelLink = new CCombo(wChannelGroup, SWT.BORDER | SWT.READ_ONLY);
wChannelLink.setEditable(true);
wChannelLink.setItems(fieldNames);
props.setLook(wChannelLink);
wChannelLink.addModifyListener(lsMod);
fdChannelLink = new FormData();
fdChannelLink.left = new FormAttachment(middle, 0);
fdChannelLink.top = new FormAttachment(wChannelDescription, margin);
fdChannelLink.right = new FormAttachment(100, 0);
wChannelLink.setLayoutData(fdChannelLink);
// ChannelPubDate line
wlChannelPubDate = new Label(wChannelGroup, SWT.RIGHT);
wlChannelPubDate.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelPubDate.Label"));
props.setLook(wlChannelPubDate);
fdlChannelPubDate = new FormData();
fdlChannelPubDate.left = new FormAttachment(0, 0);
fdlChannelPubDate.top = new FormAttachment(wChannelLink, margin);
fdlChannelPubDate.right = new FormAttachment(middle, -margin);
wlChannelPubDate.setLayoutData(fdlChannelPubDate);
wChannelPubDate = new CCombo(wChannelGroup, SWT.BORDER | SWT.READ_ONLY);
wChannelPubDate.setEditable(true);
wChannelPubDate.setItems(fieldNames);
props.setLook(wChannelPubDate);
wChannelPubDate.addModifyListener(lsMod);
fdChannelPubDate = new FormData();
fdChannelPubDate.left = new FormAttachment(middle, 0);
fdChannelPubDate.top = new FormAttachment(wChannelLink, margin);
fdChannelPubDate.right = new FormAttachment(100, 0);
wChannelPubDate.setLayoutData(fdChannelPubDate);
// Channel Language
wlChannelLanguage = new Label(wChannelGroup, SWT.RIGHT);
wlChannelLanguage.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelLanguage.Label"));
props.setLook(wlChannelLanguage);
fdlChannelLanguage = new FormData();
fdlChannelLanguage.left = new FormAttachment(0, 0);
fdlChannelLanguage.top = new FormAttachment(wChannelPubDate, margin);
fdlChannelLanguage.right = new FormAttachment(middle, -margin);
wlChannelLanguage.setLayoutData(fdlChannelLanguage);
wChannelLanguage = new CCombo(wChannelGroup, SWT.BORDER | SWT.READ_ONLY);
wChannelLanguage.setEditable(true);
wChannelLanguage.setItems(fieldNames);
props.setLook(wChannelLanguage);
wChannelLanguage.addModifyListener(lsMod);
fdChannelLanguage = new FormData();
fdChannelLanguage.left = new FormAttachment(middle, 0);
fdChannelLanguage.top = new FormAttachment(wChannelPubDate, margin);
fdChannelLanguage.right = new FormAttachment(100, 0);
wChannelLanguage.setLayoutData(fdChannelLanguage);
// Channel Author
wlChannelAuthor = new Label(wChannelGroup, SWT.RIGHT);
wlChannelAuthor.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelAuthor.Label"));
props.setLook(wlChannelAuthor);
fdlChannelAuthor = new FormData();
fdlChannelAuthor.left = new FormAttachment(0, 0);
fdlChannelAuthor.top = new FormAttachment(wChannelLanguage, margin);
fdlChannelAuthor.right = new FormAttachment(middle, -margin);
wlChannelAuthor.setLayoutData(fdlChannelAuthor);
wChannelAuthor = new CCombo(wChannelGroup, SWT.BORDER | SWT.READ_ONLY);
wChannelAuthor.setEditable(true);
wChannelAuthor.setItems(fieldNames);
props.setLook(wChannelAuthor);
wChannelAuthor.addModifyListener(lsMod);
fdChannelAuthor = new FormData();
fdChannelAuthor.left = new FormAttachment(middle, 0);
fdChannelAuthor.top = new FormAttachment(wChannelLanguage, margin);
fdChannelAuthor.right = new FormAttachment(100, 0);
wChannelAuthor.setLayoutData(fdChannelAuthor);
// Channel Copyright
wlChannelCopyright = new Label(wChannelGroup, SWT.RIGHT);
wlChannelCopyright.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelCopyright.Label"));
props.setLook(wlChannelCopyright);
fdlChannelCopyright = new FormData();
fdlChannelCopyright.left = new FormAttachment(0, 0);
fdlChannelCopyright.top = new FormAttachment(wChannelAuthor, margin);
fdlChannelCopyright.right = new FormAttachment(middle, -margin);
wlChannelCopyright.setLayoutData(fdlChannelCopyright);
wChannelCopyright = new CCombo(wChannelGroup, SWT.BORDER | SWT.READ_ONLY);
wChannelCopyright.setEditable(true);
wChannelCopyright.setItems(fieldNames);
props.setLook(wChannelCopyright);
wChannelCopyright.addModifyListener(lsMod);
fdChannelCopyright = new FormData();
fdChannelCopyright.left = new FormAttachment(middle, 0);
fdChannelCopyright.top = new FormAttachment(wChannelAuthor, margin);
fdChannelCopyright.right = new FormAttachment(100, 0);
wChannelCopyright.setLayoutData(fdChannelCopyright);
// Add Image ?
wlAddImage = new Label(wChannelGroup, SWT.RIGHT);
wlAddImage.setText(BaseMessages.getString(PKG, "RssOutputDialog.AddImage.Label"));
props.setLook(wlAddImage);
fdlAddImage = new FormData();
fdlAddImage.left = new FormAttachment(0, 0);
fdlAddImage.top = new FormAttachment(wChannelCopyright, margin);
fdlAddImage.right = new FormAttachment(middle, -margin);
wlAddImage.setLayoutData(fdlAddImage);
wAddImage = new Button(wChannelGroup, SWT.CHECK);
wAddImage.setToolTipText(BaseMessages.getString(PKG, "RssOutputDialog.AddImage.Tooltip"));
props.setLook(wAddImage);
fdAddImage = new FormData();
fdAddImage.left = new FormAttachment(middle, 0);
fdAddImage.top = new FormAttachment(wChannelCopyright, margin);
fdAddImage.right = new FormAttachment(100, 0);
wAddImage.setLayoutData(fdAddImage);
wAddImage.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setImage();
input.setChanged();
}
});
// Channel Image title
wlChannelImageTitle = new Label(wChannelGroup, SWT.RIGHT);
wlChannelImageTitle.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelImageTitle.Label"));
props.setLook(wlChannelImageTitle);
fdlChannelImageTitle = new FormData();
fdlChannelImageTitle.left = new FormAttachment(0, 0);
fdlChannelImageTitle.top = new FormAttachment(wAddImage, margin);
fdlChannelImageTitle.right = new FormAttachment(middle, -margin);
wlChannelImageTitle.setLayoutData(fdlChannelImageTitle);
wChannelImageTitle = new CCombo(wChannelGroup, SWT.BORDER | SWT.READ_ONLY);
wChannelImageTitle.setEditable(true);
wChannelImageTitle.setItems(fieldNames);
props.setLook(wChannelImageTitle);
wChannelImageTitle.addModifyListener(lsMod);
fdChannelImageTitle = new FormData();
fdChannelImageTitle.left = new FormAttachment(middle, 0);
fdChannelImageTitle.top = new FormAttachment(wAddImage, margin);
fdChannelImageTitle.right = new FormAttachment(100, 0);
wChannelImageTitle.setLayoutData(fdChannelImageTitle);
// Channel Image Link
wlChannelImageLink = new Label(wChannelGroup, SWT.RIGHT);
wlChannelImageLink.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelImageLink.Label"));
props.setLook(wlChannelImageLink);
fdlChannelImageLink = new FormData();
fdlChannelImageLink.left = new FormAttachment(0, 0);
fdlChannelImageLink.top = new FormAttachment(wChannelImageTitle, margin);
fdlChannelImageLink.right = new FormAttachment(middle, -margin);
wlChannelImageLink.setLayoutData(fdlChannelImageLink);
wChannelImageLink = new CCombo(wChannelGroup, SWT.BORDER | SWT.READ_ONLY);
wChannelImageLink.setEditable(true);
wChannelImageLink.setItems(fieldNames);
props.setLook(wChannelImageLink);
wChannelImageLink.addModifyListener(lsMod);
fdChannelImageLink = new FormData();
fdChannelImageLink.left = new FormAttachment(middle, 0);
fdChannelImageLink.top = new FormAttachment(wChannelImageTitle, margin);
fdChannelImageLink.right = new FormAttachment(100, 0);
wChannelImageLink.setLayoutData(fdChannelImageLink);
// Channel Image Url
wlChannelImageUrl = new Label(wChannelGroup, SWT.RIGHT);
wlChannelImageUrl.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelImageUrl.Label"));
props.setLook(wlChannelImageUrl);
fdlChannelImageUrl = new FormData();
fdlChannelImageUrl.left = new FormAttachment(0, 0);
fdlChannelImageUrl.top = new FormAttachment(wChannelImageLink, margin);
fdlChannelImageUrl.right = new FormAttachment(middle, -margin);
wlChannelImageUrl.setLayoutData(fdlChannelImageUrl);
wChannelImageUrl = new CCombo(wChannelGroup, SWT.BORDER | SWT.READ_ONLY);
wChannelImageUrl.setEditable(true);
wChannelImageUrl.setItems(fieldNames);
props.setLook(wChannelImageUrl);
wChannelImageUrl.addModifyListener(lsMod);
fdChannelImageUrl = new FormData();
fdChannelImageUrl.left = new FormAttachment(middle, 0);
fdChannelImageUrl.top = new FormAttachment(wChannelImageLink, margin);
fdChannelImageUrl.right = new FormAttachment(100, 0);
wChannelImageUrl.setLayoutData(fdChannelImageUrl);
// Channel Image Description
wlChannelImageDescription = new Label(wChannelGroup, SWT.RIGHT);
wlChannelImageDescription.setText(BaseMessages.getString(PKG, "RssOutputDialog.ChannelImageDescription.Label"));
props.setLook(wlChannelImageDescription);
fdlChannelImageDescription = new FormData();
fdlChannelImageDescription.left = new FormAttachment(0, 0);
fdlChannelImageDescription.top = new FormAttachment(wChannelImageUrl, margin);
fdlChannelImageDescription.right = new FormAttachment(middle, -margin);
wlChannelImageDescription.setLayoutData(fdlChannelImageDescription);
wChannelImageDescription = new CCombo(wChannelGroup, SWT.BORDER | SWT.READ_ONLY);
wChannelImageDescription.setEditable(true);
wChannelImageDescription.setItems(fieldNames);
props.setLook(wChannelImageDescription);
wChannelImageDescription.addModifyListener(lsMod);
fdChannelImageDescription = new FormData();
fdChannelImageDescription.left = new FormAttachment(middle, 0);
fdChannelImageDescription.top = new FormAttachment(wChannelImageUrl, margin);
fdChannelImageDescription.right = new FormAttachment(100, 0);
wChannelImageDescription.setLayoutData(fdChannelImageDescription);
// Encoding
wlEncoding = new Label(wChannelComp, SWT.RIGHT);
wlEncoding.setText(BaseMessages.getString(PKG, "RssOutputDialog.Encoding.Label"));
props.setLook(wlEncoding);
fdlEncoding = new FormData();
fdlEncoding.left = new FormAttachment(0, 0);
fdlEncoding.top = new FormAttachment(wChannelGroup, 2 * margin);
fdlEncoding.right = new FormAttachment(middle, -margin);
wlEncoding.setLayoutData(fdlEncoding);
wEncoding = new CCombo(wChannelComp, 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(wChannelGroup, 2 * 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();
}
});
// Version
wlVersion = new Label(wChannelComp, SWT.RIGHT);
wlVersion.setText(BaseMessages.getString(PKG, "RssOutputDialog.Version.Label"));
props.setLook(wlVersion);
fdlVersion = new FormData();
fdlVersion.left = new FormAttachment(0, 0);
fdlVersion.top = new FormAttachment(wEncoding, margin);
fdlVersion.right = new FormAttachment(middle, -margin);
wlVersion.setLayoutData(fdlVersion);
wVersion = new CCombo(wChannelComp, SWT.BORDER | SWT.READ_ONLY);
wVersion.setEditable(true);
wVersion.setItems(rss_versions);
props.setLook(wVersion);
wVersion.addModifyListener(lsMod);
fdVersion = new FormData();
fdVersion.left = new FormAttachment(middle, 0);
fdVersion.top = new FormAttachment(wEncoding, margin);
fdVersion.right = new FormAttachment(100, 0);
wVersion.setLayoutData(fdVersion);
fdChannelGroup = new FormData();
fdChannelGroup.left = new FormAttachment(0, margin);
fdChannelGroup.top = new FormAttachment(wDisplayItem, margin);
fdChannelGroup.right = new FormAttachment(100, -margin);
wChannelGroup.setLayoutData(fdChannelGroup);
// ///////////////////////////////////////////////////////////
// / END OF ChannelGroup GROUP
// ///////////////////////////////////////////////////////////
fdChannelComp = new FormData();
fdChannelComp.left = new FormAttachment(0, 0);
fdChannelComp.top = new FormAttachment(0, 0);
fdChannelComp.right = new FormAttachment(100, 0);
fdChannelComp.bottom = new FormAttachment(100, 0);
wChannelComp.setLayoutData(fdChannelComp);
wChannelComp.layout();
wChannelTab.setControl(wChannelComp);
props.setLook(wChannelComp);
// ///////////////////////////////////////////////////////////
// / END OF GENERAL TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////
// START OF GENERAL TAB ///
// ////////////////////////
wGeneralTab = new CTabItem(wTabFolder, SWT.NONE);
wGeneralTab.setText(BaseMessages.getString(PKG, "RssOutputDialog.GeneralTab.TabTitle"));
wGeneralComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wGeneralComp);
FormLayout generalLayout = new FormLayout();
generalLayout.marginWidth = 3;
generalLayout.marginHeight = 3;
wGeneralComp.setLayout(generalLayout);
// Fields grouping?
// ////////////////////////
// START OF Fields GROUP
//
wFields = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wFields);
wFields.setText(BaseMessages.getString(PKG, "RssOutputDialog.Group.Fields.Label"));
FormLayout groupFieldsLayout = new FormLayout();
groupFieldsLayout.marginWidth = 10;
groupFieldsLayout.marginHeight = 10;
wFields.setLayout(groupFieldsLayout);
// RemarqItem
wlRemarqItem = new Label(wFields, SWT.RIGHT);
wlRemarqItem.setText(BaseMessages.getString(PKG, "RssOutputDialog.RemarqItem.Label"));
props.setLook(wlRemarqItem);
fdlRemarqItem = new FormData();
fdlRemarqItem.left = new FormAttachment(0, 0);
fdlRemarqItem.top = new FormAttachment(0, margin);
// fdlRemarq.right = new FormAttachment(middle, -margin);
wlRemarqItem.setLayoutData(fdlRemarqItem);
// Item Title
wlItemTitle = new Label(wFields, SWT.RIGHT);
wlItemTitle.setText(BaseMessages.getString(PKG, "RssOutputDialog.ItemTitle.Label"));
props.setLook(wlItemTitle);
fdlItemTitle = new FormData();
fdlItemTitle.left = new FormAttachment(0, 0);
fdlItemTitle.top = new FormAttachment(wlRemarqItem, 3 * margin);
fdlItemTitle.right = new FormAttachment(middle, -margin);
wlItemTitle.setLayoutData(fdlItemTitle);
wItemTitle = new CCombo(wFields, SWT.BORDER | SWT.READ_ONLY);
wItemTitle.setEditable(true);
wItemTitle.setItems(fieldNames);
props.setLook(wItemTitle);
wItemTitle.addModifyListener(lsMod);
fdItemTitle = new FormData();
fdItemTitle.left = new FormAttachment(middle, 0);
fdItemTitle.top = new FormAttachment(wlRemarqItem, 3 * margin);
fdItemTitle.right = new FormAttachment(100, 0);
wItemTitle.setLayoutData(fdItemTitle);
// Item Description
wlItemDescription = new Label(wFields, SWT.RIGHT);
wlItemDescription.setText(BaseMessages.getString(PKG, "RssOutputDialog.ItemDescripion.Label"));
props.setLook(wlItemDescription);
fdlItemDescription = new FormData();
fdlItemDescription.left = new FormAttachment(0, 0);
fdlItemDescription.top = new FormAttachment(wItemTitle, margin);
fdlItemDescription.right = new FormAttachment(middle, -margin);
wlItemDescription.setLayoutData(fdlItemDescription);
wItemDescription = new CCombo(wFields, SWT.BORDER | SWT.READ_ONLY);
wItemDescription.setEditable(true);
wItemDescription.setItems(fieldNames);
props.setLook(wItemDescription);
wItemDescription.addModifyListener(lsMod);
fdItemDescription = new FormData();
fdItemDescription.left = new FormAttachment(middle, 0);
fdItemDescription.top = new FormAttachment(wItemTitle, margin);
fdItemDescription.right = new FormAttachment(100, 0);
wItemDescription.setLayoutData(fdItemDescription);
// Item Link
wlItemLink = new Label(wFields, SWT.RIGHT);
wlItemLink.setText(BaseMessages.getString(PKG, "RssOutputDialog.ItemLink.Label"));
props.setLook(wlItemLink);
fdlItemLink = new FormData();
fdlItemLink.left = new FormAttachment(0, 0);
fdlItemLink.top = new FormAttachment(wItemDescription, margin);
fdlItemLink.right = new FormAttachment(middle, -margin);
wlItemLink.setLayoutData(fdlItemLink);
wItemLink = new CCombo(wFields, SWT.BORDER | SWT.READ_ONLY);
wItemLink.setEditable(true);
wItemLink.setItems(fieldNames);
props.setLook(wItemLink);
wItemLink.addModifyListener(lsMod);
fdItemLink = new FormData();
fdItemLink.left = new FormAttachment(middle, 0);
fdItemLink.top = new FormAttachment(wItemDescription, margin);
fdItemLink.right = new FormAttachment(100, 0);
wItemLink.setLayoutData(fdItemLink);
// Item PubDate
wlItemPubDate = new Label(wFields, SWT.RIGHT);
wlItemPubDate.setText(BaseMessages.getString(PKG, "RssOutputDialog.ItemPubDate.Label"));
props.setLook(wlItemPubDate);
fdlItemPubDate = new FormData();
fdlItemPubDate.left = new FormAttachment(0, 0);
fdlItemPubDate.top = new FormAttachment(wItemLink, margin);
fdlItemPubDate.right = new FormAttachment(middle, -margin);
wlItemPubDate.setLayoutData(fdlItemPubDate);
wItemPubDate = new CCombo(wFields, SWT.BORDER | SWT.READ_ONLY);
wItemPubDate.setEditable(true);
wItemPubDate.setItems(fieldNames);
props.setLook(wItemPubDate);
wItemPubDate.addModifyListener(lsMod);
fdItemPubDate = new FormData();
fdItemPubDate.left = new FormAttachment(middle, 0);
fdItemPubDate.top = new FormAttachment(wItemLink, margin);
fdItemPubDate.right = new FormAttachment(100, 0);
wItemPubDate.setLayoutData(fdItemPubDate);
// Item Author
wlItemAuthor = new Label(wFields, SWT.RIGHT);
wlItemAuthor.setText(BaseMessages.getString(PKG, "RssOutputDialog.ItemAuthor.Label"));
props.setLook(wlItemAuthor);
fdlItemAuthor = new FormData();
fdlItemAuthor.left = new FormAttachment(0, 0);
fdlItemAuthor.top = new FormAttachment(wItemPubDate, margin);
fdlItemAuthor.right = new FormAttachment(middle, -margin);
wlItemAuthor.setLayoutData(fdlItemAuthor);
wItemAuthor = new CCombo(wFields, SWT.BORDER | SWT.READ_ONLY);
wItemAuthor.setEditable(true);
wItemAuthor.setItems(fieldNames);
props.setLook(wItemAuthor);
wItemAuthor.addModifyListener(lsMod);
fdItemAuthor = new FormData();
fdItemAuthor.left = new FormAttachment(middle, 0);
fdItemAuthor.top = new FormAttachment(wItemPubDate, margin);
fdItemAuthor.right = new FormAttachment(100, 0);
wItemAuthor.setLayoutData(fdItemAuthor);
// Add GeoRSS ?
wlAddGeoRSS = new Label(wFields, SWT.RIGHT);
wlAddGeoRSS.setText(BaseMessages.getString(PKG, "RssOutputDialog.AddGeoRSS.Label"));
props.setLook(wlAddGeoRSS);
fdlAddGeoRSS = new FormData();
fdlAddGeoRSS.left = new FormAttachment(0, 0);
fdlAddGeoRSS.top = new FormAttachment(wItemAuthor, margin);
fdlAddGeoRSS.right = new FormAttachment(middle, -margin);
wlAddGeoRSS.setLayoutData(fdlAddGeoRSS);
wAddGeoRSS = new Button(wFields, SWT.CHECK);
wAddGeoRSS.setToolTipText(BaseMessages.getString(PKG, "RssOutputDialog.AddGeoRSS.Tooltip"));
props.setLook(wAddGeoRSS);
fdAddGeoRSS = new FormData();
fdAddGeoRSS.left = new FormAttachment(middle, 0);
fdAddGeoRSS.top = new FormAttachment(wItemAuthor, margin);
fdAddGeoRSS.right = new FormAttachment(100, 0);
wAddGeoRSS.setLayoutData(fdAddGeoRSS);
wAddGeoRSS.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
activateGeoRSS();
input.setChanged();
}
});
// Add GeoRSS ?
wluseGeoRSSGML = new Label(wFields, SWT.RIGHT);
wluseGeoRSSGML.setText(BaseMessages.getString(PKG, "RssOutputDialog.useGeoRSSGML.Label"));
props.setLook(wluseGeoRSSGML);
fdluseGeoRSSGML = new FormData();
fdluseGeoRSSGML.left = new FormAttachment(0, 0);
fdluseGeoRSSGML.top = new FormAttachment(wAddGeoRSS, margin);
fdluseGeoRSSGML.right = new FormAttachment(middle, -margin);
wluseGeoRSSGML.setLayoutData(fdluseGeoRSSGML);
wuseGeoRSSGML = new Button(wFields, SWT.CHECK);
wuseGeoRSSGML.setToolTipText(BaseMessages.getString(PKG, "RssOutputDialog.useGeoRSSGML.Tooltip"));
props.setLook(wuseGeoRSSGML);
fduseGeoRSSGML = new FormData();
fduseGeoRSSGML.left = new FormAttachment(middle, 0);
fduseGeoRSSGML.top = new FormAttachment(wAddGeoRSS, margin);
fduseGeoRSSGML.right = new FormAttachment(100, 0);
wuseGeoRSSGML.setLayoutData(fduseGeoRSSGML);
wuseGeoRSSGML.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// GeoPointLat
wlGeoPointLat = new Label(wFields, SWT.RIGHT);
wlGeoPointLat.setText(BaseMessages.getString(PKG, "RssOutputDialog.GeoPointLat.Label"));
props.setLook(wlGeoPointLat);
fdlGeoPointLat = new FormData();
fdlGeoPointLat.left = new FormAttachment(0, 0);
fdlGeoPointLat.top = new FormAttachment(wuseGeoRSSGML, margin);
fdlGeoPointLat.right = new FormAttachment(middle, -margin);
wlGeoPointLat.setLayoutData(fdlGeoPointLat);
wGeoPointLat = new CCombo(wFields, SWT.BORDER | SWT.READ_ONLY);
wGeoPointLat.setEditable(true);
wGeoPointLat.setItems(fieldNames);
props.setLook(wGeoPointLat);
wGeoPointLat.addModifyListener(lsMod);
fdGeoPointLat = new FormData();
fdGeoPointLat.left = new FormAttachment(middle, 0);
fdGeoPointLat.top = new FormAttachment(wuseGeoRSSGML, margin);
fdGeoPointLat.right = new FormAttachment(100, 0);
wGeoPointLat.setLayoutData(fdGeoPointLat);
// GeoPointLong
wlGeoPointLong = new Label(wFields, SWT.RIGHT);
wlGeoPointLong.setText(BaseMessages.getString(PKG, "RssOutputDialog.GeoPointLong.Label"));
props.setLook(wlGeoPointLong);
fdlGeoPointLong = new FormData();
fdlGeoPointLong.left = new FormAttachment(0, 0);
fdlGeoPointLong.top = new FormAttachment(wGeoPointLat, margin);
fdlGeoPointLong.right = new FormAttachment(middle, -margin);
wlGeoPointLong.setLayoutData(fdlGeoPointLong);
wGeoPointLong = new CCombo(wFields, SWT.BORDER | SWT.READ_ONLY);
wGeoPointLong.setEditable(true);
wGeoPointLong.setItems(fieldNames);
props.setLook(wGeoPointLong);
wGeoPointLong.addModifyListener(lsMod);
fdGeoPointLong = new FormData();
fdGeoPointLong.left = new FormAttachment(middle, 0);
fdGeoPointLong.top = new FormAttachment(wGeoPointLat, margin);
fdGeoPointLong.right = new FormAttachment(100, 0);
wGeoPointLong.setLayoutData(fdGeoPointLong);
fdFields = new FormData();
fdFields.left = new FormAttachment(0, margin);
fdFields.top = new FormAttachment(0, margin);
fdFields.right = new FormAttachment(100, -margin);
wFields.setLayoutData(fdFields);
// ///////////////////////////////////////////////////////////
// / END OF Fields GROUP
// ///////////////////////////////////////////////////////////
fdGeneralComp = new FormData();
fdGeneralComp.left = new FormAttachment(0, 0);
fdGeneralComp.top = new FormAttachment(0, 0);
fdGeneralComp.right = new FormAttachment(100, 0);
fdGeneralComp.bottom = new FormAttachment(100, 0);
wGeneralComp.setLayoutData(fdGeneralComp);
wGeneralComp.layout();
wGeneralTab.setControl(wGeneralComp);
props.setLook(wGeneralComp);
// ///////////////////////////////////////////////////////////
// / END OF GENERAL TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////
// START OF CUSTOM TAB ///
// ////////////////////////
wCustomTab = new CTabItem(wTabFolder, SWT.NONE);
wCustomTab.setText(BaseMessages.getString(PKG, "RssOutputDialog.CustomTab.TabTitle"));
wCustomComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wCustomComp);
FormLayout customLayout = new FormLayout();
customLayout.marginWidth = 3;
customLayout.marginHeight = 3;
wCustomComp.setLayout(customLayout);
wlChannelCustom = new Label(wCustomComp, SWT.NONE);
wlChannelCustom.setText(BaseMessages.getString(PKG, "RssOutputDialog.Keys.Label"));
props.setLook(wlChannelCustom);
fdlChannelCustom = new FormData();
fdlChannelCustom.left = new FormAttachment(0, 0);
fdlChannelCustom.top = new FormAttachment(0, margin);
wlChannelCustom.setLayoutData(fdlChannelCustom);
int nrChannelCols = 2;
int nrChannelRows = (input.getChannelCustomFields() != null ? input.getChannelCustomFields().length : 1);
ColumnInfo[] ciChannel = new ColumnInfo[nrChannelCols];
ciChannel[0] = new ColumnInfo(BaseMessages.getString(PKG, "RssOutputDialog.ColumnInfo.Tag"), ColumnInfo.COLUMN_TYPE_TEXT, false);
ciChannel[1] = new ColumnInfo(BaseMessages.getString(PKG, "RssOutputDialog.ColumnInfo.Field"), ColumnInfo.COLUMN_TYPE_CCOMBO);
ciChannel[0].setUsingVariables(true);
ciChannel[1].setComboValues(fieldNames);
wChannelCustom = new TableView(transMeta, wCustomComp, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL, ciChannel, nrChannelRows, lsMod, props);
wGet = new Button(wCustomComp, SWT.PUSH);
wGet.setText(BaseMessages.getString(PKG, "RssOutputDialog.GetFields.Button"));
fdGet = new FormData();
fdGet.right = new FormAttachment(100, 0);
fdGet.top = new FormAttachment(wlChannelCustom, margin);
wGet.setLayoutData(fdGet);
fdChannelCustom = new FormData();
fdChannelCustom.left = new FormAttachment(0, 0);
fdChannelCustom.top = new FormAttachment(wlChannelCustom, margin);
fdChannelCustom.right = new FormAttachment(wGet, -margin);
fdChannelCustom.bottom = new FormAttachment(wlChannelCustom, 190);
wChannelCustom.setLayoutData(fdChannelCustom);
// THE BUTTONS
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
setButtonPositions(new Button[] { wOK, wCancel }, margin, null);
// THE Item Custom
wlItemCustom = new Label(wCustomComp, SWT.NONE);
wlItemCustom.setText(BaseMessages.getString(PKG, "RssOutputDialog.ItemCustom.Label"));
props.setLook(wlItemCustom);
fdlItemCustom = new FormData();
fdlItemCustom.left = new FormAttachment(0, 0);
fdlItemCustom.top = new FormAttachment(wChannelCustom, margin);
wlItemCustom.setLayoutData(fdlItemCustom);
int UpInsCols = 2;
int UpInsRows = (input.getItemCustomFields() != null ? input.getItemCustomFields().length : 1);
ColumnInfo[] ciItem = new ColumnInfo[UpInsCols];
ciItem[0] = new ColumnInfo(BaseMessages.getString(PKG, "RssOutputDialog.ColumnInfo.Tag"), ColumnInfo.COLUMN_TYPE_TEXT, false);
ciItem[1] = new ColumnInfo(BaseMessages.getString(PKG, "RssOutputDialog.ColumnInfo.Field"), ColumnInfo.COLUMN_TYPE_CCOMBO);
ciItem[1].setComboValues(fieldNames);
wItemCustom = new TableView(transMeta, wCustomComp, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL, ciItem, UpInsRows, lsMod, props);
wGetCustomItem = new Button(wCustomComp, SWT.PUSH);
wGetCustomItem.setText(BaseMessages.getString(PKG, "RssOutputDialog.GetItemFields.Label"));
fdGetCustomItem = new FormData();
fdGetCustomItem.top = new FormAttachment(wlItemCustom, margin);
fdGetCustomItem.right = new FormAttachment(100, 0);
wGetCustomItem.setLayoutData(fdGetCustomItem);
fdItemCustom = new FormData();
fdItemCustom.left = new FormAttachment(0, 0);
fdItemCustom.top = new FormAttachment(wlItemCustom, margin);
fdItemCustom.right = new FormAttachment(wGetCustomItem, -margin);
fdItemCustom.bottom = new FormAttachment(100, -2 * margin);
wItemCustom.setLayoutData(fdItemCustom);
fdCustomComp = new FormData();
fdCustomComp.left = new FormAttachment(0, 0);
fdCustomComp.top = new FormAttachment(0, 0);
fdCustomComp.right = new FormAttachment(100, 0);
fdCustomComp.bottom = new FormAttachment(100, 0);
wCustomComp.setLayoutData(fdCustomComp);
wCustomComp.layout();
wCustomTab.setControl(wCustomComp);
props.setLook(wCustomComp);
// ///////////////////////////////////////////////////////////
// / END OF CUSTOM TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////////////////
// START OF CUSTOM NAMESPACE TAB ///
// ////////////////////////////////////
wCustomNameSpace = new CTabItem(wTabFolder, SWT.NONE);
wCustomNameSpace.setText(BaseMessages.getString(PKG, "RssOutputDialog.CustomNameSpace.TabTitle"));
wCustomNameSpaceComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wCustomNameSpaceComp);
FormLayout customnamespaceLayout = new FormLayout();
customnamespaceLayout.marginWidth = 3;
customnamespaceLayout.marginHeight = 3;
wCustomNameSpaceComp.setLayout(customnamespaceLayout);
// Namespaces
wlNameSpace = new Label(wCustomNameSpaceComp, SWT.NONE);
wlNameSpace.setText(BaseMessages.getString(PKG, "RssOutputDialog.NameSpace.Label"));
props.setLook(wlNameSpace);
fdlNameSpace = new FormData();
fdlNameSpace.left = new FormAttachment(0, 0);
fdlNameSpace.top = new FormAttachment(0, margin);
wlNameSpace.setLayoutData(fdlItemCustom);
int nrRows = (input.getNameSpaces() != null ? input.getNameSpaces().length : 1);
ColumnInfo[] ciNameSpace = new ColumnInfo[2];
ciNameSpace[0] = new ColumnInfo(BaseMessages.getString(PKG, "RssOutputDialog.ColumnInfo.NameSpace.Title"), ColumnInfo.COLUMN_TYPE_TEXT, false);
ciNameSpace[1] = new ColumnInfo(BaseMessages.getString(PKG, "RssOutputDialog.ColumnInfo.NameSpace"), ColumnInfo.COLUMN_TYPE_TEXT, false);
ciNameSpace[0].setUsingVariables(true);
ciNameSpace[1].setUsingVariables(true);
wNameSpaceCustom = new TableView(transMeta, wCustomNameSpaceComp, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL, ciNameSpace, nrRows, lsMod, props);
fdNameSpaceCustom = new FormData();
fdNameSpaceCustom.left = new FormAttachment(0, 0);
fdNameSpaceCustom.top = new FormAttachment(wlNameSpace, margin);
fdNameSpaceCustom.right = new FormAttachment(100, -margin);
fdNameSpaceCustom.bottom = new FormAttachment(100, -2 * margin);
wNameSpaceCustom.setLayoutData(fdNameSpaceCustom);
fdCustomNameSpace = new FormData();
fdCustomNameSpace.left = new FormAttachment(0, 0);
fdCustomNameSpace.top = new FormAttachment(0, 0);
fdCustomNameSpace.right = new FormAttachment(100, 0);
fdCustomNameSpace.bottom = new FormAttachment(100, 0);
wCustomNameSpaceComp.setLayoutData(fdCustomNameSpace);
wCustomNameSpaceComp.layout();
wCustomNameSpace.setControl(wCustomNameSpaceComp);
props.setLook(wCustomNameSpaceComp);
// ///////////////////////////////////////////////////////////
// / END OF CUSTOM NAMESPACE TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////
// START OF CONTENT TAB///
// /
wContentTab = new CTabItem(wTabFolder, SWT.NONE);
wContentTab.setText(BaseMessages.getString(PKG, "RssOutputDialog.ContentTab.TabTitle"));
FormLayout contentLayout = new FormLayout();
contentLayout.marginWidth = 3;
contentLayout.marginHeight = 3;
wContentComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wContentComp);
wContentComp.setLayout(contentLayout);
// File grouping?
// ////////////////////////
// START OF FileName GROUP
//
wFileName = new Group(wContentComp, SWT.SHADOW_NONE);
props.setLook(wFileName);
wFileName.setText(BaseMessages.getString(PKG, "RssOutputDialog.Group.File.Label"));
FormLayout groupFileLayout = new FormLayout();
groupFileLayout.marginWidth = 10;
groupFileLayout.marginHeight = 10;
wFileName.setLayout(groupFileLayout);
// Filename line
wlFilename = new Label(wFileName, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "RssOutputDialog.Filename.Label"));
props.setLook(wlFilename);
fdlFilename = new FormData();
fdlFilename.left = new FormAttachment(0, 0);
fdlFilename.top = new FormAttachment(wFields, margin);
fdlFilename.right = new FormAttachment(middle, -margin);
wlFilename.setLayoutData(fdlFilename);
wbFilename = new Button(wFileName, SWT.PUSH | SWT.CENTER);
props.setLook(wbFilename);
wbFilename.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
fdbFilename = new FormData();
fdbFilename.right = new FormAttachment(100, 0);
fdbFilename.top = new FormAttachment(wFields, 0);
wbFilename.setLayoutData(fdbFilename);
wFilename = new TextVar(transMeta, wFileName, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilename);
wFilename.addModifyListener(lsMod);
fdFilename = new FormData();
fdFilename.left = new FormAttachment(middle, 0);
fdFilename.top = new FormAttachment(wFields, margin);
fdFilename.right = new FormAttachment(wbFilename, -margin);
wFilename.setLayoutData(fdFilename);
// Create Parent Folder
wlCreateParentFolder = new Label(wFileName, SWT.RIGHT);
wlCreateParentFolder.setText(BaseMessages.getString(PKG, "RssOutputDialog.CreateParentFolder.Label"));
props.setLook(wlCreateParentFolder);
fdlCreateParentFolder = new FormData();
fdlCreateParentFolder.left = new FormAttachment(0, 0);
fdlCreateParentFolder.top = new FormAttachment(wFilename, margin);
fdlCreateParentFolder.right = new FormAttachment(middle, -margin);
wlCreateParentFolder.setLayoutData(fdlCreateParentFolder);
wCreateParentFolder = new Button(wFileName, SWT.CHECK);
wCreateParentFolder.setToolTipText(BaseMessages.getString(PKG, "RssOutputDialog.CreateParentFolder.Tooltip"));
props.setLook(wCreateParentFolder);
fdCreateParentFolder = new FormData();
fdCreateParentFolder.left = new FormAttachment(middle, 0);
fdCreateParentFolder.top = new FormAttachment(wFilename, margin);
fdCreateParentFolder.right = new FormAttachment(100, 0);
wCreateParentFolder.setLayoutData(fdCreateParentFolder);
wCreateParentFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// FileName defined in a field
wlFileNameInField = new Label(wFileName, SWT.RIGHT);
wlFileNameInField.setText(BaseMessages.getString(PKG, "RssOutputDialog.FileNameInField.Label"));
props.setLook(wlFileNameInField);
fdlFileNameInField = new FormData();
fdlFileNameInField.left = new FormAttachment(0, 0);
fdlFileNameInField.top = new FormAttachment(wCreateParentFolder, margin);
fdlFileNameInField.right = new FormAttachment(middle, -margin);
wlFileNameInField.setLayoutData(fdlFileNameInField);
wFileNameInField = new Button(wFileName, SWT.CHECK);
wFileNameInField.setToolTipText(BaseMessages.getString(PKG, "RssOutputDialog.FileNameInField.Tooltip"));
props.setLook(wFileNameInField);
fdFileNameInField = new FormData();
fdFileNameInField.left = new FormAttachment(middle, 0);
fdFileNameInField.top = new FormAttachment(wCreateParentFolder, margin);
fdFileNameInField.right = new FormAttachment(100, 0);
wFileNameInField.setLayoutData(fdFileNameInField);
wFileNameInField.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
setFieldFilename();
input.setChanged();
}
});
// FieldFieldFileName line
wlFieldFilename = new Label(wFileName, SWT.RIGHT);
wlFieldFilename.setText(BaseMessages.getString(PKG, "RssOutputDialog.FieldFilename.Label"));
props.setLook(wlFieldFilename);
fdlFieldFilename = new FormData();
fdlFieldFilename.left = new FormAttachment(0, 0);
fdlFieldFilename.top = new FormAttachment(wFileNameInField, margin);
fdlFieldFilename.right = new FormAttachment(middle, -margin);
wlFieldFilename.setLayoutData(fdlFieldFilename);
wFieldFilename = new CCombo(wFileName, SWT.BORDER | SWT.READ_ONLY);
wFieldFilename.setEditable(true);
wFieldFilename.setItems(fieldNames);
props.setLook(wFieldFilename);
wFieldFilename.addModifyListener(lsMod);
fdFieldFilename = new FormData();
fdFieldFilename.left = new FormAttachment(middle, 0);
fdFieldFilename.top = new FormAttachment(wFileNameInField, margin);
fdFieldFilename.right = new FormAttachment(100, -margin);
wFieldFilename.setLayoutData(fdFieldFilename);
// Extension line
wlExtension = new Label(wFileName, SWT.RIGHT);
wlExtension.setText(BaseMessages.getString(PKG, "System.Label.Extension"));
props.setLook(wlExtension);
fdlExtension = new FormData();
fdlExtension.left = new FormAttachment(0, 0);
fdlExtension.top = new FormAttachment(wFieldFilename, margin);
fdlExtension.right = new FormAttachment(middle, -margin);
wlExtension.setLayoutData(fdlExtension);
wExtension = new TextVar(transMeta, wFileName, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wExtension);
wExtension.addModifyListener(lsMod);
fdExtension = new FormData();
fdExtension.left = new FormAttachment(middle, 0);
fdExtension.top = new FormAttachment(wFieldFilename, margin);
fdExtension.right = new FormAttachment(100, -margin);
wExtension.setLayoutData(fdExtension);
// Create multi-part file?
wlAddStepnr = new Label(wFileName, SWT.RIGHT);
wlAddStepnr.setText(BaseMessages.getString(PKG, "RssOutputDialog.AddStepnr.Label"));
props.setLook(wlAddStepnr);
fdlAddStepnr = new FormData();
fdlAddStepnr.left = new FormAttachment(0, 0);
fdlAddStepnr.top = new FormAttachment(wExtension, 2 * margin);
fdlAddStepnr.right = new FormAttachment(middle, -margin);
wlAddStepnr.setLayoutData(fdlAddStepnr);
wAddStepnr = new Button(wFileName, SWT.CHECK);
props.setLook(wAddStepnr);
fdAddStepnr = new FormData();
fdAddStepnr.left = new FormAttachment(middle, 0);
fdAddStepnr.top = new FormAttachment(wExtension, 2 * margin);
fdAddStepnr.right = new FormAttachment(100, 0);
wAddStepnr.setLayoutData(fdAddStepnr);
wAddStepnr.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// Create multi-part file?
wlAddDate = new Label(wFileName, SWT.RIGHT);
wlAddDate.setText(BaseMessages.getString(PKG, "RssOutputDialog.AddDate.Label"));
props.setLook(wlAddDate);
fdlAddDate = new FormData();
fdlAddDate.left = new FormAttachment(0, 0);
fdlAddDate.top = new FormAttachment(wAddStepnr, margin);
fdlAddDate.right = new FormAttachment(middle, -margin);
wlAddDate.setLayoutData(fdlAddDate);
wAddDate = new Button(wFileName, SWT.CHECK);
props.setLook(wAddDate);
fdAddDate = new FormData();
fdAddDate.left = new FormAttachment(middle, 0);
fdAddDate.top = new FormAttachment(wAddStepnr, margin);
fdAddDate.right = new FormAttachment(100, 0);
wAddDate.setLayoutData(fdAddDate);
wAddDate.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
// System.out.println("wAddDate.getSelection()="+wAddDate.getSelection());
}
});
// Create multi-part file?
wlAddTime = new Label(wFileName, SWT.RIGHT);
wlAddTime.setText(BaseMessages.getString(PKG, "RssOutputDialog.AddTime.Label"));
props.setLook(wlAddTime);
fdlAddTime = new FormData();
fdlAddTime.left = new FormAttachment(0, 0);
fdlAddTime.top = new FormAttachment(wAddDate, margin);
fdlAddTime.right = new FormAttachment(middle, -margin);
wlAddTime.setLayoutData(fdlAddTime);
wAddTime = new Button(wFileName, SWT.CHECK);
props.setLook(wAddTime);
fdAddTime = new FormData();
fdAddTime.left = new FormAttachment(middle, 0);
fdAddTime.top = new FormAttachment(wAddDate, margin);
fdAddTime.right = new FormAttachment(100, 0);
wAddTime.setLayoutData(fdAddTime);
wAddTime.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
wbShowFiles = new Button(wFileName, SWT.PUSH | SWT.CENTER);
props.setLook(wbShowFiles);
wbShowFiles.setText(BaseMessages.getString(PKG, "RssOutputDialog.ShowFiles.Button"));
fdbShowFiles = new FormData();
fdbShowFiles.left = new FormAttachment(middle, 0);
fdbShowFiles.top = new FormAttachment(wAddTime, margin * 2);
wbShowFiles.setLayoutData(fdbShowFiles);
wbShowFiles.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
RssOutputMeta tfoi = new RssOutputMeta();
getInfo(tfoi);
try {
String[] files = tfoi.getFiles(transMeta);
if (files != null && files.length > 0) {
EnterSelectionDialog esd = new EnterSelectionDialog(shell, files, BaseMessages.getString(PKG, "RssOutputDialog.SelectOutputFiles.DialogTitle"), BaseMessages.getString(PKG, "RssOutputDialog.SelectOutputFiles.DialogMessage"));
esd.setViewOnly();
esd.open();
} else {
MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR);
mb.setMessage(BaseMessages.getString(PKG, "RssOutputDialog.NoFilesFound.DialogMessage"));
mb.setText(BaseMessages.getString(PKG, "System.DialogTitle.Error"));
mb.open();
}
} catch (KettleStepException s) {
MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR);
mb.setMessage(BaseMessages.getString(PKG, "RssOutputDialog.ErrorGettingFiles.DialogMessage", s.getMessage()));
mb.setText(BaseMessages.getString(PKG, "System.DialogTitle.Error"));
mb.open();
}
}
});
fdFileName = new FormData();
fdFileName.left = new FormAttachment(0, margin);
fdFileName.top = new FormAttachment(wFields, margin);
fdFileName.right = new FormAttachment(100, -margin);
wFileName.setLayoutData(fdFileName);
// ///////////////////////////////////////////////////////////
// / END OF FileName GROUP
// ///////////////////////////////////////////////////////////
// File grouping?
// ////////////////////////
// START OF ResultFile GROUP
//
wResultFile = new Group(wContentComp, SWT.SHADOW_NONE);
props.setLook(wResultFile);
wResultFile.setText(BaseMessages.getString(PKG, "RssOutputDialog.Group.ResultFile.Label"));
FormLayout groupResultFile = new FormLayout();
groupResultFile.marginWidth = 10;
groupResultFile.marginHeight = 10;
wResultFile.setLayout(groupResultFile);
// Add File to the result files name
wlAddToResult = new Label(wResultFile, SWT.RIGHT);
wlAddToResult.setText(BaseMessages.getString(PKG, "RssOutputDialog.AddFileToResult.Label"));
props.setLook(wlAddToResult);
fdlAddToResult = new FormData();
fdlAddToResult.left = new FormAttachment(0, 0);
fdlAddToResult.top = new FormAttachment(wFileName, margin);
fdlAddToResult.right = new FormAttachment(middle, -margin);
wlAddToResult.setLayoutData(fdlAddToResult);
wAddToResult = new Button(wResultFile, SWT.CHECK);
wAddToResult.setToolTipText(BaseMessages.getString(PKG, "RssOutputDialog.AddFileToResult.Tooltip"));
props.setLook(wAddToResult);
fdAddToResult = new FormData();
fdAddToResult.left = new FormAttachment(middle, 0);
fdAddToResult.top = new FormAttachment(wFileName, margin);
fdAddToResult.right = new FormAttachment(100, 0);
wAddToResult.setLayoutData(fdAddToResult);
SelectionAdapter lsSelAR = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
input.setChanged();
}
};
wAddToResult.addSelectionListener(lsSelAR);
fdResultFile = new FormData();
fdResultFile.left = new FormAttachment(0, margin);
fdResultFile.top = new FormAttachment(wFileName, margin);
fdResultFile.right = new FormAttachment(100, -margin);
wResultFile.setLayoutData(fdResultFile);
// ///////////////////////////////////////////////////////////
// / END OF ResultFile GROUP
// ///////////////////////////////////////////////////////////
fdContentComp = new FormData();
fdContentComp.left = new FormAttachment(0, 0);
fdContentComp.top = new FormAttachment(0, 0);
fdContentComp.right = new FormAttachment(100, 0);
fdContentComp.bottom = new FormAttachment(100, 0);
wContentComp.setLayoutData(wContentComp);
wContentComp.layout();
wContentTab.setControl(wContentComp);
// ///////////////////////////////////////////////////////////
// / END OF CONTENT 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);
// Add listeners
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsGet = new Listener() {
public void handleEvent(Event e) {
get(wChannelCustom);
}
};
lsGetCustomItem = new Listener() {
public void handleEvent(Event e) {
get(wItemCustom);
}
};
wOK.addListener(SWT.Selection, lsOK);
wCancel.addListener(SWT.Selection, lsCancel);
wGet.addListener(SWT.Selection, lsGet);
wGetCustomItem.addListener(SWT.Selection, lsGetCustomItem);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wStepname.addSelectionListener(lsDef);
wbFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.SAVE);
dialog.setFilterExtensions(new String[] { "*.txt", "*.TXT", "*" });
if (wFilename.getText() != null) {
dialog.setFileName(transMeta.environmentSubstitute(wFilename.getText()));
}
dialog.setFilterNames(new String[] { BaseMessages.getString(PKG, "System.FileType.TextFiles"), BaseMessages.getString(PKG, "System.FileType.CSVFiles"), BaseMessages.getString(PKG, "System.FileType.AllFiles") });
if (dialog.open() != null) {
String extension = wExtension.getText();
if (extension != null && dialog.getFileName() != null && dialog.getFileName().endsWith("." + extension)) {
// The extension is filled in and matches the end
// of the selected file => Strip off the extension.
String fileName = dialog.getFileName();
wFilename.setText(dialog.getFilterPath() + System.getProperty("file.separator") + fileName.substring(0, fileName.length() - (extension.length() + 1)));
} else {
wFilename.setText(dialog.getFilterPath() + System.getProperty("file.separator") + dialog.getFileName());
}
}
}
});
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
lsResize = new Listener() {
public void handleEvent(Event event) {
// Point size = shell.getSize();
}
};
shell.addListener(SWT.Resize, lsResize);
wTabFolder.setSelection(0);
// Set the shell size, based upon previous time...
setSize();
getData();
setCustomRSS();
setFieldFilename();
setImage();
activateGeoRSS();
// backupChanged);
input.setChanged(changed);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}
Aggregations