use of org.pentaho.di.ui.core.widget.TableView in project pentaho-kettle by pentaho.
the class JsonOutputDialog 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, "JsonOutputDialog.DialogTitle"));
int middle = props.getMiddlePct();
int 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 General TAB///
// /
wGeneralTab = new CTabItem(wTabFolder, SWT.NONE);
wGeneralTab.setText(BaseMessages.getString(PKG, "JsonOutputDialog.GeneralTab.TabTitle"));
FormLayout GeneralLayout = new FormLayout();
GeneralLayout.marginWidth = 3;
GeneralLayout.marginHeight = 3;
Composite wGeneralComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wGeneralComp);
wGeneralComp.setLayout(GeneralLayout);
// Operation
wlOperation = new Label(wGeneralComp, SWT.RIGHT);
wlOperation.setText(BaseMessages.getString(PKG, "JsonOutputDialog.Operation.Label"));
props.setLook(wlOperation);
fdlOperation = new FormData();
fdlOperation.left = new FormAttachment(0, 0);
fdlOperation.right = new FormAttachment(middle, -margin);
fdlOperation.top = new FormAttachment(wNrRowsInBloc, margin);
wlOperation.setLayoutData(fdlOperation);
wOperation = new CCombo(wGeneralComp, SWT.BORDER | SWT.READ_ONLY);
props.setLook(wOperation);
wOperation.addModifyListener(lsMod);
fdOperation = new FormData();
fdOperation.left = new FormAttachment(middle, 0);
fdOperation.top = new FormAttachment(wNrRowsInBloc, margin);
fdOperation.right = new FormAttachment(100, -margin);
wOperation.setLayoutData(fdOperation);
wOperation.setItems(JsonOutputMeta.operationTypeDesc);
wOperation.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
updateOperation();
}
});
// Connection grouping?
// ////////////////////////
// START OF Settings GROUP
//
wSettings = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wSettings);
wSettings.setText(BaseMessages.getString(PKG, "JsonOutputDialog.Group.Settings.Label"));
FormLayout groupFileLayout = new FormLayout();
groupFileLayout.marginWidth = 10;
groupFileLayout.marginHeight = 10;
wSettings.setLayout(groupFileLayout);
wlBlocName = new Label(wSettings, SWT.RIGHT);
wlBlocName.setText(BaseMessages.getString(PKG, "JsonOutputDialog.BlocName.Label"));
props.setLook(wlBlocName);
fdlBlocName = new FormData();
fdlBlocName.left = new FormAttachment(0, 0);
fdlBlocName.top = new FormAttachment(wOperation, margin);
fdlBlocName.right = new FormAttachment(middle, -margin);
wlBlocName.setLayoutData(fdlBlocName);
wBlocName = new TextVar(transMeta, wSettings, SWT.BORDER | SWT.READ_ONLY);
wBlocName.setEditable(true);
props.setLook(wBlocName);
wBlocName.addModifyListener(lsMod);
fdBlocName = new FormData();
fdBlocName.left = new FormAttachment(middle, 0);
fdBlocName.top = new FormAttachment(wOperation, margin);
fdBlocName.right = new FormAttachment(100, 0);
wBlocName.setLayoutData(fdBlocName);
wlNrRowsInBloc = new Label(wSettings, SWT.RIGHT);
wlNrRowsInBloc.setText(BaseMessages.getString(PKG, "JsonOutputDialog.NrRowsInBloc.Label"));
props.setLook(wlNrRowsInBloc);
fdlNrRowsInBloc = new FormData();
fdlNrRowsInBloc.left = new FormAttachment(0, 0);
fdlNrRowsInBloc.top = new FormAttachment(wBlocName, margin);
fdlNrRowsInBloc.right = new FormAttachment(middle, -margin);
wlNrRowsInBloc.setLayoutData(fdlNrRowsInBloc);
wNrRowsInBloc = new TextVar(transMeta, wSettings, SWT.BORDER | SWT.READ_ONLY);
wNrRowsInBloc.setToolTipText(BaseMessages.getString(PKG, "JsonOutputDialog.NrRowsInBloc.ToolTip"));
wNrRowsInBloc.setEditable(true);
props.setLook(wNrRowsInBloc);
wNrRowsInBloc.addModifyListener(lsMod);
fdNrRowsInBloc = new FormData();
fdNrRowsInBloc.left = new FormAttachment(middle, 0);
fdNrRowsInBloc.top = new FormAttachment(wBlocName, margin);
fdNrRowsInBloc.right = new FormAttachment(100, 0);
wNrRowsInBloc.setLayoutData(fdNrRowsInBloc);
wlOutputValue = new Label(wSettings, SWT.RIGHT);
wlOutputValue.setText(BaseMessages.getString(PKG, "JsonOutputDialog.OutputValue.Label"));
props.setLook(wlOutputValue);
fdlOutputValue = new FormData();
fdlOutputValue.left = new FormAttachment(0, 0);
fdlOutputValue.top = new FormAttachment(wNrRowsInBloc, margin);
fdlOutputValue.right = new FormAttachment(middle, -margin);
wlOutputValue.setLayoutData(fdlOutputValue);
wOutputValue = new TextVar(transMeta, wSettings, SWT.BORDER | SWT.READ_ONLY);
wOutputValue.setEditable(true);
props.setLook(wOutputValue);
wOutputValue.addModifyListener(lsMod);
fdOutputValue = new FormData();
fdOutputValue.left = new FormAttachment(middle, 0);
fdOutputValue.top = new FormAttachment(wNrRowsInBloc, margin);
fdOutputValue.right = new FormAttachment(100, 0);
wOutputValue.setLayoutData(fdOutputValue);
// ////////////////////////// start of compatibility mode
wlCompatibilityMode = new Label(wSettings, SWT.RIGHT);
wlCompatibilityMode.setText(BaseMessages.getString(PKG, "JsonOutputDialog.CompatibilityMode.Label"));
props.setLook(wlCompatibilityMode);
fdlCompatibilityMode = new FormData();
fdlCompatibilityMode.left = new FormAttachment(0, 0);
fdlCompatibilityMode.top = new FormAttachment(wOutputValue, margin);
fdlCompatibilityMode.right = new FormAttachment(middle, -margin);
wlCompatibilityMode.setLayoutData(fdlCompatibilityMode);
wCompatibilityMode = new Button(wSettings, SWT.CHECK);
wCompatibilityMode.setToolTipText(BaseMessages.getString(PKG, "JsonOutputDialog.CompatibilityMode.Tooltip"));
props.setLook(wCompatibilityMode);
fdCompatibilityMode = new FormData();
fdCompatibilityMode.left = new FormAttachment(middle, 0);
fdCompatibilityMode.top = new FormAttachment(wOutputValue, margin);
fdCompatibilityMode.right = new FormAttachment(100, 0);
wCompatibilityMode.setLayoutData(fdCompatibilityMode);
wCompatibilityMode.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
fdSettings = new FormData();
fdSettings.left = new FormAttachment(0, margin);
fdSettings.top = new FormAttachment(wOperation, 2 * margin);
fdSettings.right = new FormAttachment(100, -margin);
wSettings.setLayoutData(fdSettings);
// ///////////////////////////////////////////////////////////
// / END OF Settings GROUP
// ///////////////////////////////////////////////////////////
// Connection grouping?
// ////////////////////////
// START OF FileName GROUP
//
wFileName = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wFileName);
wFileName.setText(BaseMessages.getString(PKG, "JsonOutputDialog.Group.File.Label"));
FormLayout groupfilenameayout = new FormLayout();
groupfilenameayout.marginWidth = 10;
groupfilenameayout.marginHeight = 10;
wFileName.setLayout(groupfilenameayout);
// Filename line
wlFilename = new Label(wFileName, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "JsonOutputDialog.Filename.Label"));
props.setLook(wlFilename);
fdlFilename = new FormData();
fdlFilename.left = new FormAttachment(0, 0);
fdlFilename.top = new FormAttachment(wSettings, 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(wSettings, 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(wOutputValue, margin);
fdFilename.right = new FormAttachment(wbFilename, -margin);
wFilename.setLayoutData(fdFilename);
wbFilename.addSelectionListener(new SelectionAdapterFileDialogTextVar(log, wFilename, transMeta, new SelectionAdapterOptions(SelectionOperation.SAVE_TO, new FilterType[] { FilterType.JSON, FilterType.JS, FilterType.ALL }, FilterType.JSON)));
// Append to end of file?
wlAppend = new Label(wFileName, SWT.RIGHT);
wlAppend.setText(BaseMessages.getString(PKG, "JsonOutputDialog.Append.Label"));
props.setLook(wlAppend);
fdlAppend = new FormData();
fdlAppend.left = new FormAttachment(0, 0);
fdlAppend.top = new FormAttachment(wFilename, margin);
fdlAppend.right = new FormAttachment(middle, -margin);
wlAppend.setLayoutData(fdlAppend);
wAppend = new Button(wFileName, SWT.CHECK);
wAppend.setToolTipText(BaseMessages.getString(PKG, "JsonOutputDialog.Append.Tooltip"));
props.setLook(wAppend);
fdAppend = new FormData();
fdAppend.left = new FormAttachment(middle, 0);
fdAppend.top = new FormAttachment(wFilename, margin);
fdAppend.right = new FormAttachment(100, 0);
wAppend.setLayoutData(fdAppend);
wAppend.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// Create Parent Folder
wlCreateParentFolder = new Label(wFileName, SWT.RIGHT);
wlCreateParentFolder.setText(BaseMessages.getString(PKG, "JsonOutputDialog.CreateParentFolder.Label"));
props.setLook(wlCreateParentFolder);
fdlCreateParentFolder = new FormData();
fdlCreateParentFolder.left = new FormAttachment(0, 0);
fdlCreateParentFolder.top = new FormAttachment(wAppend, margin);
fdlCreateParentFolder.right = new FormAttachment(middle, -margin);
wlCreateParentFolder.setLayoutData(fdlCreateParentFolder);
wCreateParentFolder = new Button(wFileName, SWT.CHECK);
wCreateParentFolder.setToolTipText(BaseMessages.getString(PKG, "JsonOutputDialog.CreateParentFolder.Tooltip"));
props.setLook(wCreateParentFolder);
fdCreateParentFolder = new FormData();
fdCreateParentFolder.left = new FormAttachment(middle, 0);
fdCreateParentFolder.top = new FormAttachment(wAppend, margin);
fdCreateParentFolder.right = new FormAttachment(100, 0);
wCreateParentFolder.setLayoutData(fdCreateParentFolder);
wCreateParentFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// Open new File at Init
wlDoNotOpenNewFileInit = new Label(wFileName, SWT.RIGHT);
wlDoNotOpenNewFileInit.setText(BaseMessages.getString(PKG, "JsonOutputDialog.DoNotOpenNewFileInit.Label"));
props.setLook(wlDoNotOpenNewFileInit);
fdlDoNotOpenNewFileInit = new FormData();
fdlDoNotOpenNewFileInit.left = new FormAttachment(0, 0);
fdlDoNotOpenNewFileInit.top = new FormAttachment(wCreateParentFolder, margin);
fdlDoNotOpenNewFileInit.right = new FormAttachment(middle, -margin);
wlDoNotOpenNewFileInit.setLayoutData(fdlDoNotOpenNewFileInit);
wDoNotOpenNewFileInit = new Button(wFileName, SWT.CHECK);
wDoNotOpenNewFileInit.setToolTipText(BaseMessages.getString(PKG, "JsonOutputDialog.DoNotOpenNewFileInit.Tooltip"));
props.setLook(wDoNotOpenNewFileInit);
fdDoNotOpenNewFileInit = new FormData();
fdDoNotOpenNewFileInit.left = new FormAttachment(middle, 0);
fdDoNotOpenNewFileInit.top = new FormAttachment(wCreateParentFolder, margin);
fdDoNotOpenNewFileInit.right = new FormAttachment(100, 0);
wDoNotOpenNewFileInit.setLayoutData(fdDoNotOpenNewFileInit);
wDoNotOpenNewFileInit.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// 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(wDoNotOpenNewFileInit, 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(wDoNotOpenNewFileInit, margin);
fdExtension.right = new FormAttachment(100, -margin);
wExtension.setLayoutData(fdExtension);
wlEncoding = new Label(wFileName, SWT.RIGHT);
wlEncoding.setText(BaseMessages.getString(PKG, "JsonOutputDialog.Encoding.Label"));
props.setLook(wlEncoding);
fdlEncoding = new FormData();
fdlEncoding.left = new FormAttachment(0, 0);
fdlEncoding.top = new FormAttachment(wExtension, margin);
fdlEncoding.right = new FormAttachment(middle, -margin);
wlEncoding.setLayoutData(fdlEncoding);
wEncoding = new ComboVar(transMeta, wFileName, 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(wExtension, 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();
}
});
// Output to servlet (browser, ws)
//
wlServletOutput = new Label(wFileName, SWT.RIGHT);
wlServletOutput.setText(BaseMessages.getString(PKG, "JsonOutputDialog.ServletOutput.Label"));
props.setLook(wlServletOutput);
fdlServletOutput = new FormData();
fdlServletOutput.left = new FormAttachment(0, 0);
fdlServletOutput.top = new FormAttachment(wEncoding, margin);
fdlServletOutput.right = new FormAttachment(middle, -margin);
wlServletOutput.setLayoutData(fdlServletOutput);
wServletOutput = new Button(wFileName, SWT.CHECK);
wServletOutput.setToolTipText(BaseMessages.getString(PKG, "JsonOutputDialog.ServletOutput.Tooltip"));
props.setLook(wServletOutput);
fdServletOutput = new FormData();
fdServletOutput.left = new FormAttachment(middle, 0);
fdServletOutput.top = new FormAttachment(wEncoding, margin);
fdServletOutput.right = new FormAttachment(100, 0);
wServletOutput.setLayoutData(fdServletOutput);
wServletOutput.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
setFlagsServletOption();
}
});
// Create multi-part file?
wlAddDate = new Label(wFileName, SWT.RIGHT);
wlAddDate.setText(BaseMessages.getString(PKG, "JsonOutputDialog.AddDate.Label"));
props.setLook(wlAddDate);
fdlAddDate = new FormData();
fdlAddDate.left = new FormAttachment(0, 0);
fdlAddDate.top = new FormAttachment(wServletOutput, 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(wServletOutput, margin);
fdAddDate.right = new FormAttachment(100, 0);
wAddDate.setLayoutData(fdAddDate);
wAddDate.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
// Create multi-part file?
wlAddTime = new Label(wFileName, SWT.RIGHT);
wlAddTime.setText(BaseMessages.getString(PKG, "JsonOutputDialog.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, "JsonOutputDialog.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) {
JsonOutputMeta tfoi = new JsonOutputMeta();
getInfo(tfoi);
String[] files = tfoi.getFiles(transMeta);
if (files != null && files.length > 0) {
EnterSelectionDialog esd = new EnterSelectionDialog(shell, files, BaseMessages.getString(PKG, "JsonOutputDialog.SelectOutputFiles.DialogTitle"), BaseMessages.getString(PKG, "JsonOutputDialog.SelectOutputFiles.DialogMessage"));
esd.setViewOnly();
esd.open();
} else {
MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR);
mb.setMessage(BaseMessages.getString(PKG, "JsonOutputDialog.NoFilesFound.DialogMessage"));
mb.setText(BaseMessages.getString(PKG, "System.DialogTitle.Error"));
mb.open();
}
}
});
// Add File to the result files name
wlAddToResult = new Label(wFileName, SWT.RIGHT);
wlAddToResult.setText(BaseMessages.getString(PKG, "JsonOutputDialog.AddFileToResult.Label"));
props.setLook(wlAddToResult);
fdlAddToResult = new FormData();
fdlAddToResult.left = new FormAttachment(0, 0);
fdlAddToResult.top = new FormAttachment(wbShowFiles, margin);
fdlAddToResult.right = new FormAttachment(middle, -margin);
wlAddToResult.setLayoutData(fdlAddToResult);
wAddToResult = new Button(wFileName, SWT.CHECK);
wAddToResult.setToolTipText(BaseMessages.getString(PKG, "JsonOutputDialog.AddFileToResult.Tooltip"));
props.setLook(wAddToResult);
fdAddToResult = new FormData();
fdAddToResult.left = new FormAttachment(middle, 0);
fdAddToResult.top = new FormAttachment(wbShowFiles, margin);
fdAddToResult.right = new FormAttachment(100, 0);
wAddToResult.setLayoutData(fdAddToResult);
SelectionAdapter lsSelR = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
input.setChanged();
}
};
wAddToResult.addSelectionListener(lsSelR);
fdFileName = new FormData();
fdFileName.left = new FormAttachment(0, margin);
fdFileName.top = new FormAttachment(wSettings, 2 * margin);
fdFileName.right = new FormAttachment(100, -margin);
wFileName.setLayoutData(fdFileName);
// ///////////////////////////////////////////////////////////
// / END OF FileName GROUP
// ///////////////////////////////////////////////////////////
fdGeneralComp = new FormData();
fdGeneralComp.left = new FormAttachment(0, 0);
fdGeneralComp.top = new FormAttachment(wStepname, margin);
fdGeneralComp.right = new FormAttachment(100, 0);
fdGeneralComp.bottom = new FormAttachment(100, 0);
wGeneralComp.setLayoutData(fdGeneralComp);
wGeneralComp.layout();
wGeneralTab.setControl(wGeneralComp);
// ///////////////////////////////////////////////////////////
// / END OF General TAB
// ///////////////////////////////////////////////////////////
// Fields tab...
//
wFieldsTab = new CTabItem(wTabFolder, SWT.NONE);
wFieldsTab.setText(BaseMessages.getString(PKG, "JsonOutputDialog.FieldsTab.TabTitle"));
FormLayout fieldsLayout = new FormLayout();
fieldsLayout.marginWidth = Const.FORM_MARGIN;
fieldsLayout.marginHeight = Const.FORM_MARGIN;
Composite wFieldsComp = new Composite(wTabFolder, SWT.NONE);
wFieldsComp.setLayout(fieldsLayout);
props.setLook(wFieldsComp);
wGet = new Button(wFieldsComp, SWT.PUSH);
wGet.setText(BaseMessages.getString(PKG, "JsonOutputDialog.Get.Button"));
wGet.setToolTipText(BaseMessages.getString(PKG, "JsonOutputDialog.Get.Tooltip"));
setButtonPositions(new Button[] { wGet }, margin, null);
final int FieldsRows = input.getOutputFields().length;
colinf = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "JsonOutputDialog.Fieldname.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, new String[] { "" }, false), new ColumnInfo(BaseMessages.getString(PKG, "JsonOutputDialog.ElementName.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false) };
colinf[1].setUsingVariables(true);
wFields = new TableView(transMeta, wFieldsComp, SWT.BORDER | 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);
//
// Search the fields in the background
final Runnable runnable = new Runnable() {
public void run() {
StepMeta stepMeta = transMeta.findStep(stepname);
if (stepMeta != null) {
try {
RowMetaInterface row = transMeta.getPrevStepFields(stepMeta);
// Remember these fields...
for (int i = 0; i < row.size(); i++) {
inputFields.put(row.getValueMeta(i).getName(), Integer.valueOf(i));
}
setComboBoxes();
} catch (KettleException e) {
logError(BaseMessages.getString(PKG, "System.Dialog.GetFieldsFailed.Message"));
}
}
}
};
new Thread(runnable).start();
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);
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
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
lsGet = new Listener() {
public void handleEvent(Event e) {
get();
}
};
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
wOK.addListener(SWT.Selection, lsOK);
wGet.addListener(SWT.Selection, lsGet);
wCancel.addListener(SWT.Selection, lsCancel);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wStepname.addSelectionListener(lsDef);
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
lsResize = new Listener() {
public void handleEvent(Event event) {
Point size = shell.getSize();
wFields.setSize(size.x - 10, size.y - 50);
wFields.table.setSize(size.x - 10, size.y - 50);
wFields.redraw();
}
};
shell.addListener(SWT.Resize, lsResize);
wTabFolder.setSelection(0);
// Set the shell size, based upon previous time...
setSize();
getData();
updateOperation();
input.setChanged(changed);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}
use of org.pentaho.di.ui.core.widget.TableView in project pentaho-kettle by pentaho.
the class JsonInputDialog method addFileTab.
private void addFileTab() {
// ////////////////////////
// START OF FILE TAB ///
// ////////////////////////
CTabItem wFileTab = new CTabItem(wTabFolder, SWT.NONE);
wFileTab.setText(BaseMessages.getString(PKG, "JsonInputDialog.File.Tab"));
Composite 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 //
// ///////////////////////////////
Group wOutputField = new Group(wFileComp, SWT.SHADOW_NONE);
props.setLook(wOutputField);
wOutputField.setText(BaseMessages.getString(PKG, "JsonInputDialog.wOutputField.Label"));
FormLayout outputfieldgroupLayout = new FormLayout();
outputfieldgroupLayout.marginWidth = 10;
outputfieldgroupLayout.marginHeight = 10;
wOutputField.setLayout(outputfieldgroupLayout);
// Is source string defined in a Field
Label wlSourceStreamField = new Label(wOutputField, SWT.RIGHT);
wlSourceStreamField.setText(BaseMessages.getString(PKG, "JsonInputDialog.wlSourceStreamField.Label"));
props.setLook(wlSourceStreamField);
FormData fdlSourceStreamField = new FormData();
fdlSourceStreamField.left = new FormAttachment(0, -margin);
fdlSourceStreamField.top = new FormAttachment(0, margin);
fdlSourceStreamField.right = new FormAttachment(middle, -2 * margin);
wlSourceStreamField.setLayoutData(fdlSourceStreamField);
wSourceStreamField = new Button(wOutputField, SWT.CHECK);
props.setLook(wSourceStreamField);
wSourceStreamField.setToolTipText(BaseMessages.getString(PKG, "JsonInputDialog.wSourceStreamField.Tooltip"));
FormData fdSourceStreamField = new FormData();
fdSourceStreamField.left = new FormAttachment(middle, -margin);
fdSourceStreamField.top = new FormAttachment(0, margin);
wSourceStreamField.setLayoutData(fdSourceStreamField);
SelectionAdapter lsstream = new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent arg0) {
activeStreamField();
input.setChanged();
}
};
wSourceStreamField.addSelectionListener(lsstream);
// If source string defined in a Field
wlSourceField = new Label(wOutputField, SWT.RIGHT);
wlSourceField.setText(BaseMessages.getString(PKG, "JsonInputDialog.wlSourceField.Label"));
props.setLook(wlSourceField);
FormData fdlFieldValue = new FormData();
fdlFieldValue.left = new FormAttachment(0, -margin);
fdlFieldValue.top = new FormAttachment(wSourceStreamField, margin);
fdlFieldValue.right = new FormAttachment(middle, -2 * margin);
wlSourceField.setLayoutData(fdlFieldValue);
wFieldValue = new CCombo(wOutputField, SWT.BORDER | SWT.READ_ONLY);
wFieldValue.setEditable(true);
props.setLook(wFieldValue);
wFieldValue.addModifyListener(lsMod);
FormData fdFieldValue = new FormData();
fdFieldValue.left = new FormAttachment(middle, -margin);
fdFieldValue.top = new FormAttachment(wSourceStreamField, margin);
fdFieldValue.right = new FormAttachment(100, -margin);
wFieldValue.setLayoutData(fdFieldValue);
setSourceStreamField();
FormData fdOutputField = new FormData();
fdOutputField.left = new FormAttachment(0, margin);
fdOutputField.top = new FormAttachment(wFilenameList, margin);
fdOutputField.right = new FormAttachment(100, -margin);
wOutputField.setLayoutData(fdOutputField);
// Is source is a file?
wlSourceIsAFile = new Label(wOutputField, SWT.RIGHT);
wlSourceIsAFile.setText(BaseMessages.getString(PKG, "JsonInputDialog.SourceIsAFile.Label"));
props.setLook(wlSourceIsAFile);
FormData fdlSourceIsAFile = new FormData();
fdlSourceIsAFile.left = new FormAttachment(0, -margin);
fdlSourceIsAFile.top = new FormAttachment(wFieldValue, margin);
fdlSourceIsAFile.right = new FormAttachment(middle, -2 * margin);
wlSourceIsAFile.setLayoutData(fdlSourceIsAFile);
wSourceIsAFile = new Button(wOutputField, SWT.CHECK);
props.setLook(wSourceIsAFile);
wSourceIsAFile.setToolTipText(BaseMessages.getString(PKG, "JsonInputDialog.SourceIsAFile.Tooltip"));
FormData fdSourceIsAFile = new FormData();
fdSourceIsAFile.left = new FormAttachment(middle, -margin);
fdSourceIsAFile.top = new FormAttachment(wFieldValue, margin);
wSourceIsAFile.setLayoutData(fdSourceIsAFile);
SelectionAdapter lssourceisafile = new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent arg0) {
if (wSourceIsAFile.getSelection()) {
wreadUrl.setSelection(false);
}
input.setChanged();
}
};
wSourceIsAFile.addSelectionListener(lssourceisafile);
// read url as source ?
wlreadUrl = new Label(wOutputField, SWT.RIGHT);
wlreadUrl.setText(BaseMessages.getString(PKG, "JsonInputDialog.readUrl.Label"));
props.setLook(wlreadUrl);
FormData fdlreadUrl = new FormData();
fdlreadUrl.left = new FormAttachment(0, -margin);
fdlreadUrl.top = new FormAttachment(wlSourceIsAFile, 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, "JsonInputDialog.readUrl.Tooltip"));
FormData fdreadUrl = new FormData();
fdreadUrl.left = new FormAttachment(middle, -margin);
fdreadUrl.top = new FormAttachment(wlSourceIsAFile, margin);
wreadUrl.setLayoutData(fdreadUrl);
SelectionAdapter lsreadurl = new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent arg0) {
if (wreadUrl.getSelection()) {
wSourceIsAFile.setSelection(false);
}
input.setChanged();
}
};
wreadUrl.addSelectionListener(lsreadurl);
// Remove source field from output stream?
wlremoveSourceField = new Label(wOutputField, SWT.RIGHT);
wlremoveSourceField.setText(BaseMessages.getString(PKG, "JsonInputDialog.removeSourceField.Label"));
props.setLook(wlremoveSourceField);
FormData fdlremoveSourceField = new FormData();
fdlremoveSourceField.left = new FormAttachment(0, -margin);
fdlremoveSourceField.top = new FormAttachment(wlreadUrl, margin);
fdlremoveSourceField.right = new FormAttachment(middle, -2 * margin);
wlremoveSourceField.setLayoutData(fdlremoveSourceField);
wremoveSourceField = new Button(wOutputField, SWT.CHECK);
props.setLook(wremoveSourceField);
FormData fdremoveSourceField = new FormData();
fdremoveSourceField.left = new FormAttachment(middle, -margin);
fdremoveSourceField.top = new FormAttachment(wlreadUrl, margin);
wremoveSourceField.setLayoutData(fdremoveSourceField);
SelectionAdapter removeSourceFieldAdapter = new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent selectionEvent) {
input.setChanged();
}
};
wremoveSourceField.addSelectionListener(removeSourceFieldAdapter);
// ///////////////////////////////////////////////////////////
// / END OF Output Field GROUP
// ///////////////////////////////////////////////////////////
// Filename line
wlFilename = new Label(wFileComp, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "JsonInputDialog.Filename.Label"));
props.setLook(wlFilename);
FormData 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, "JsonInputDialog.FilenameBrowse.Button"));
wbbFilename.setToolTipText(BaseMessages.getString(PKG, "System.Tooltip.BrowseForFileOrDirAndAdd"));
FormData 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, "JsonInputDialog.FilenameAdd.Button"));
wbaFilename.setToolTipText(BaseMessages.getString(PKG, "JsonInputDialog.FilenameAdd.Tooltip"));
FormData 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);
FormData 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, "JsonInputDialog.RegExp.Label"));
props.setLook(wlFilemask);
FormData 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);
FormData 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, "JsonInputDialog.ExcludeFilemask.Label"));
props.setLook(wlExcludeFilemask);
FormData 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);
FormData 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, "JsonInputDialog.FilenameList.Label"));
props.setLook(wlFilenameList);
FormData 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, "JsonInputDialog.FilenameRemove.Button"));
wbdFilename.setToolTipText(BaseMessages.getString(PKG, "JsonInputDialog.FilenameRemove.Tooltip"));
FormData 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, "JsonInputDialog.FilenameEdit.Button"));
wbeFilename.setToolTipText(BaseMessages.getString(PKG, "JsonInputDialog.FilenameEdit.Tooltip"));
FormData 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, "JsonInputDialog.ShowFiles.Button"));
FormData 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, "JsonInputDialog.Files.Filename.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[1] = new ColumnInfo(BaseMessages.getString(PKG, "JsonInputDialog.Files.Wildcard.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[2] = new ColumnInfo(BaseMessages.getString(PKG, "JsonInputDialog.Files.ExcludeWildcard.Column"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinfo[0].setUsingVariables(true);
colinfo[1].setUsingVariables(true);
colinfo[1].setToolTip(BaseMessages.getString(PKG, "JsonInputDialog.Files.Wildcard.Tooltip"));
colinfo[2].setUsingVariables(true);
colinfo[2].setToolTip(BaseMessages.getString(PKG, "JsonInputDialog.Files.ExcludeWildcard.Tooltip"));
colinfo[3] = new ColumnInfo(BaseMessages.getString(PKG, "JsonInputDialog.Required.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, JsonInputMeta.RequiredFilesDesc);
colinfo[3].setToolTip(BaseMessages.getString(PKG, "JsonInputDialog.Required.Tooltip"));
colinfo[4] = new ColumnInfo(BaseMessages.getString(PKG, "JsonInputDialog.IncludeSubDirs.Column"), ColumnInfo.COLUMN_TYPE_CCOMBO, JsonInputMeta.RequiredFilesDesc);
colinfo[4].setToolTip(BaseMessages.getString(PKG, "JsonInputDialog.IncludeSubDirs.Tooltip"));
wFilenameList = new TableView(transMeta, wFileComp, SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER, colinfo, 2, lsMod, props);
props.setLook(wFilenameList);
FormData 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);
FormData 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
// ///////////////////////////////////////////////////////////
}
use of org.pentaho.di.ui.core.widget.TableView in project pentaho-kettle by pentaho.
the class ClusterSchemaDialog method open.
public boolean open() {
Shell parent = getParent();
shell = new Shell(parent, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN);
props.setLook(shell);
shell.setImage(GUIResource.getInstance().getImageCluster());
lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
clusterSchema.setChanged();
}
};
middle = props.getMiddlePct();
margin = Const.MARGIN;
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setText(BaseMessages.getString(PKG, "ClusterSchemaDialog.Shell.Title"));
shell.setLayout(formLayout);
// First, add the buttons...
// 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"));
Button[] buttons = new Button[] { wOK, wCancel };
BaseStepDialog.positionBottomButtons(shell, buttons, margin, null);
// The rest stays above the buttons, so we added those first...
// What's the schema name??
Label wlName = new Label(shell, SWT.RIGHT);
props.setLook(wlName);
wlName.setText(BaseMessages.getString(PKG, "ClusterSchemaDialog.Schema.Label"));
FormData fdlName = new FormData();
fdlName.top = new FormAttachment(0, 0);
// First one in the left top corner
fdlName.left = new FormAttachment(0, 0);
fdlName.right = new FormAttachment(middle, 0);
wlName.setLayoutData(fdlName);
wName = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wName);
wName.addModifyListener(lsMod);
FormData fdName = new FormData();
fdName.top = new FormAttachment(0, 0);
// To the right of the label
fdName.left = new FormAttachment(middle, margin);
fdName.right = new FormAttachment(95, 0);
wName.setLayoutData(fdName);
// What's the base port??
Label wlPort = new Label(shell, SWT.RIGHT);
props.setLook(wlPort);
wlPort.setText(BaseMessages.getString(PKG, "ClusterSchemaDialog.Port.Label"));
FormData fdlPort = new FormData();
fdlPort.top = new FormAttachment(wName, margin);
// First one in the left top corner
fdlPort.left = new FormAttachment(0, 0);
fdlPort.right = new FormAttachment(middle, 0);
wlPort.setLayoutData(fdlPort);
wPort = new TextVar(clusterSchema, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wPort);
wPort.addModifyListener(lsMod);
FormData fdPort = new FormData();
fdPort.top = new FormAttachment(wName, margin);
// To the right of the label
fdPort.left = new FormAttachment(middle, margin);
fdPort.right = new FormAttachment(95, 0);
wPort.setLayoutData(fdPort);
// What are the sockets buffer sizes??
Label wlBufferSize = new Label(shell, SWT.RIGHT);
props.setLook(wlBufferSize);
wlBufferSize.setText(BaseMessages.getString(PKG, "ClusterSchemaDialog.SocketBufferSize.Label"));
FormData fdlBufferSize = new FormData();
fdlBufferSize.top = new FormAttachment(wPort, margin);
// First one in the left top corner
fdlBufferSize.left = new FormAttachment(0, 0);
fdlBufferSize.right = new FormAttachment(middle, 0);
wlBufferSize.setLayoutData(fdlBufferSize);
wBufferSize = new TextVar(clusterSchema, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wBufferSize);
wBufferSize.addModifyListener(lsMod);
FormData fdBufferSize = new FormData();
fdBufferSize.top = new FormAttachment(wPort, margin);
// To the right of the label
fdBufferSize.left = new FormAttachment(middle, margin);
fdBufferSize.right = new FormAttachment(95, 0);
wBufferSize.setLayoutData(fdBufferSize);
// What are the sockets buffer sizes??
Label wlFlushInterval = new Label(shell, SWT.RIGHT);
props.setLook(wlFlushInterval);
wlFlushInterval.setText(BaseMessages.getString(PKG, "ClusterSchemaDialog.SocketFlushRows.Label"));
FormData fdlFlushInterval = new FormData();
fdlFlushInterval.top = new FormAttachment(wBufferSize, margin);
// First one in the left top corner
fdlFlushInterval.left = new FormAttachment(0, 0);
fdlFlushInterval.right = new FormAttachment(middle, 0);
wlFlushInterval.setLayoutData(fdlFlushInterval);
wFlushInterval = new TextVar(clusterSchema, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFlushInterval);
wFlushInterval.addModifyListener(lsMod);
FormData fdFlushInterval = new FormData();
fdFlushInterval.top = new FormAttachment(wBufferSize, margin);
// To the right of the label
fdFlushInterval.left = new FormAttachment(middle, margin);
fdFlushInterval.right = new FormAttachment(95, 0);
wFlushInterval.setLayoutData(fdFlushInterval);
// What are the sockets buffer sizes??
Label wlCompressed = new Label(shell, SWT.RIGHT);
props.setLook(wlCompressed);
wlCompressed.setText(BaseMessages.getString(PKG, "ClusterSchemaDialog.SocketDataCompressed.Label"));
FormData fdlCompressed = new FormData();
fdlCompressed.top = new FormAttachment(wFlushInterval, margin);
// First one in the left top corner
fdlCompressed.left = new FormAttachment(0, 0);
fdlCompressed.right = new FormAttachment(middle, 0);
wlCompressed.setLayoutData(fdlCompressed);
wCompressed = new Button(shell, SWT.CHECK);
props.setLook(wCompressed);
FormData fdCompressed = new FormData();
fdCompressed.top = new FormAttachment(wFlushInterval, margin);
// To the right of the label
fdCompressed.left = new FormAttachment(middle, margin);
fdCompressed.right = new FormAttachment(95, 0);
wCompressed.setLayoutData(fdCompressed);
// What are the sockets buffer sizes??
Label wlDynamic = new Label(shell, SWT.RIGHT);
wlDynamic.setToolTipText(BaseMessages.getString(PKG, "ClusterSchemaDialog.DynamicCluster.Tooltip"));
props.setLook(wlDynamic);
wlDynamic.setText(BaseMessages.getString(PKG, "ClusterSchemaDialog.DynamicCluster.Label"));
FormData fdlDynamic = new FormData();
fdlDynamic.top = new FormAttachment(wCompressed, margin);
// First one in the left top corner
fdlDynamic.left = new FormAttachment(0, 0);
fdlDynamic.right = new FormAttachment(middle, 0);
wlDynamic.setLayoutData(fdlDynamic);
wDynamic = new Button(shell, SWT.CHECK);
wDynamic.setToolTipText(BaseMessages.getString(PKG, "ClusterSchemaDialog.DynamicCluster.Tooltip"));
props.setLook(wDynamic);
FormData fdDynamic = new FormData();
fdDynamic.top = new FormAttachment(wCompressed, margin);
// To the right of the label
fdDynamic.left = new FormAttachment(middle, margin);
fdDynamic.right = new FormAttachment(95, 0);
wDynamic.setLayoutData(fdDynamic);
// Schema servers:
Label wlServers = new Label(shell, SWT.RIGHT);
wlServers.setText(BaseMessages.getString(PKG, "ClusterSchemaDialog.SlaveServers.Label"));
props.setLook(wlServers);
FormData fdlServers = new FormData();
fdlServers.left = new FormAttachment(0, 0);
fdlServers.right = new FormAttachment(middle, 0);
fdlServers.top = new FormAttachment(wDynamic, margin);
wlServers.setLayoutData(fdlServers);
// Some buttons to manage...
wSelect = new Button(shell, SWT.PUSH);
wSelect.setText(BaseMessages.getString(PKG, "ClusterSchemaDialog.SelectSlaveServers.Label"));
props.setLook(wSelect);
FormData fdSelect = new FormData();
fdSelect.right = new FormAttachment(100, 0);
fdSelect.top = new FormAttachment(wlServers, 5 * margin);
wSelect.setLayoutData(fdSelect);
wSelect.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
selectSlaveServers();
}
});
ColumnInfo[] partitionColumns = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "ClusterSchemaDialog.ColumnInfoName.Label"), ColumnInfo.COLUMN_TYPE_TEXT, true, false), new ColumnInfo(BaseMessages.getString(PKG, "ClusterSchemaDialog.ColumnInfoServiceURL.Label"), ColumnInfo.COLUMN_TYPE_TEXT, true, true), new ColumnInfo(BaseMessages.getString(PKG, "ClusterSchemaDialog.ColumnInfoMaster.Label"), ColumnInfo.COLUMN_TYPE_TEXT, true, true) };
wServers = new TableView(clusterSchema, shell, SWT.BORDER | SWT.FULL_SELECTION | SWT.SINGLE, partitionColumns, 1, lsMod, props);
wServers.setReadonly(false);
props.setLook(wServers);
FormData fdServers = new FormData();
fdServers.left = new FormAttachment(middle, margin);
fdServers.right = new FormAttachment(wSelect, -2 * margin);
fdServers.top = new FormAttachment(wDynamic, margin);
fdServers.bottom = new FormAttachment(wOK, -margin * 2);
wServers.setLayoutData(fdServers);
wServers.table.addSelectionListener(new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
editSlaveServer();
}
});
// Add listeners
wOK.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
ok();
}
});
wCancel.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
cancel();
}
});
SelectionAdapter selAdapter = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wName.addSelectionListener(selAdapter);
wPort.addSelectionListener(selAdapter);
wBufferSize.addSelectionListener(selAdapter);
wFlushInterval.addSelectionListener(selAdapter);
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
getData();
BaseStepDialog.setSize(shell);
shell.open();
Display display = parent.getDisplay();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return ok;
}
use of org.pentaho.di.ui.core.widget.TableView in project pentaho-kettle by pentaho.
the class JobEntryBaseDialog method createElements.
protected void createElements() {
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
getJobEntry().setChanged();
}
};
ModifyListener lsModParams = modifyEvent -> {
parameterTableHelper.checkTableOnMod(modifyEvent);
getJobEntry().setChanged();
};
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = 15;
formLayout.marginHeight = 15;
shell.setLayout(formLayout);
Label wicon = new Label(shell, SWT.RIGHT);
wicon.setImage(getImage());
FormData fdlicon = new FormData();
fdlicon.top = new FormAttachment(0, 0);
fdlicon.right = new FormAttachment(100, 0);
wicon.setLayoutData(fdlicon);
props.setLook(wicon);
wlName = new Label(shell, SWT.LEFT);
props.setLook(wlName);
wlName.setText(BaseMessages.getString(PKG, "JobTrans.JobStep.Label"));
fdlName = new FormData();
fdlName.left = new FormAttachment(0, 0);
fdlName.top = new FormAttachment(0, 0);
wlName.setLayoutData(fdlName);
wName = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wName);
fdName = new FormData();
fdName.width = 250;
fdName.top = new FormAttachment(wlName, 5);
fdName.left = new FormAttachment(0, 0);
wName.setLayoutData(fdName);
Label spacer = new Label(shell, SWT.HORIZONTAL | SWT.SEPARATOR);
FormData fdSpacer = new FormData();
fdSpacer.left = new FormAttachment(0, 0);
fdSpacer.top = new FormAttachment(wName, 15);
fdSpacer.right = new FormAttachment(100, 0);
spacer.setLayoutData(fdSpacer);
wlPath = new Label(shell, SWT.LEFT);
props.setLook(wlPath);
FormData fdlTransformation = new FormData();
fdlTransformation.left = new FormAttachment(0, 0);
fdlTransformation.top = new FormAttachment(spacer, 20);
fdlTransformation.right = new FormAttachment(50, 0);
wlPath.setLayoutData(fdlTransformation);
wPath = new TextVar(jobMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wPath);
FormData fdTransformation = new FormData();
fdTransformation.left = new FormAttachment(0, 0);
fdTransformation.top = new FormAttachment(wlPath, 5);
fdTransformation.right = new FormAttachment(50, 0);
wPath.setLayoutData(fdTransformation);
wbBrowse = new Button(shell, SWT.PUSH);
props.setLook(wbBrowse);
wbBrowse.setText(BaseMessages.getString(PKG, "JobTrans.Browse.Label"));
FormData fdBrowse = new FormData();
fdBrowse.left = new FormAttachment(wPath, 5);
fdBrowse.top = new FormAttachment(wlPath, Const.isOSX() ? 0 : 5);
wbBrowse.setLayoutData(fdBrowse);
CTabFolder wTabFolder = new CTabFolder(shell, SWT.BORDER);
props.setLook(wTabFolder, Props.WIDGET_STYLE_TAB);
// Options Tab Start
CTabItem wOptionsTab = new CTabItem(wTabFolder, SWT.NONE);
wOptionsTab.setText(BaseMessages.getString(PKG, "JobTrans.Options.Group.Label"));
wOptions = new Composite(wTabFolder, SWT.SHADOW_NONE);
props.setLook(wOptions);
FormLayout specLayout = new FormLayout();
specLayout.marginWidth = 15;
specLayout.marginHeight = 15;
wOptions.setLayout(specLayout);
gExecution = new Group(wOptions, SWT.SHADOW_ETCHED_IN);
props.setLook(gExecution);
gExecution.setText(BaseMessages.getString(PKG, "JobTrans.Execution.Group.Label"));
FormLayout gExecutionLayout = new FormLayout();
gExecutionLayout.marginWidth = 15;
gExecutionLayout.marginHeight = 15;
gExecution.setLayout(gExecutionLayout);
fdgExecution = new FormData();
fdgExecution.top = new FormAttachment(0, 10);
fdgExecution.left = new FormAttachment(0, 0);
fdgExecution.right = new FormAttachment(100, 0);
gExecution.setLayoutData(fdgExecution);
wEveryRow = new Button(gExecution, SWT.CHECK);
props.setLook(wEveryRow);
wEveryRow.setText(BaseMessages.getString(PKG, "JobTrans.ExecForEveryInputRow.Label"));
FormData fdbExecute = new FormData();
fdbExecute.left = new FormAttachment(0, 0);
fdbExecute.top = new FormAttachment(0, 0);
wEveryRow.setLayoutData(fdbExecute);
wOptionsTab.setControl(wOptions);
FormData fdOptions = new FormData();
fdOptions.left = new FormAttachment(0, 0);
fdOptions.top = new FormAttachment(0, 0);
fdOptions.right = new FormAttachment(100, 0);
fdOptions.bottom = new FormAttachment(100, 0);
wOptions.setLayoutData(fdOptions);
// Options Tab End
// Logging Tab Start
CTabItem wLoggingTab = new CTabItem(wTabFolder, SWT.NONE);
wLoggingTab.setText(BaseMessages.getString(PKG, "JobTrans.LogSettings.Group.Label"));
Composite wLogging = new Composite(wTabFolder, SWT.SHADOW_NONE);
props.setLook(wLogging);
FormLayout loggingLayout = new FormLayout();
loggingLayout.marginWidth = 15;
loggingLayout.marginHeight = 15;
wLogging.setLayout(loggingLayout);
wSetLogfile = new Button(wLogging, SWT.CHECK);
props.setLook(wSetLogfile);
wSetLogfile.setText(BaseMessages.getString(PKG, "JobTrans.Specify.Logfile.Label"));
FormData fdSpecifyLogFile = new FormData();
fdSpecifyLogFile.left = new FormAttachment(0, 0);
fdSpecifyLogFile.top = new FormAttachment(0, 0);
wSetLogfile.setLayoutData(fdSpecifyLogFile);
gLogFile = new Group(wLogging, SWT.SHADOW_ETCHED_IN);
props.setLook(gLogFile);
gLogFile.setText(BaseMessages.getString(PKG, "JobTrans.Logfile.Group.Label"));
FormLayout gLogFileLayout = new FormLayout();
gLogFileLayout.marginWidth = 15;
gLogFileLayout.marginHeight = 15;
gLogFile.setLayout(gLogFileLayout);
FormData fdgLogFile = new FormData();
fdgLogFile.top = new FormAttachment(wSetLogfile, 10);
fdgLogFile.left = new FormAttachment(0, 0);
fdgLogFile.right = new FormAttachment(100, 0);
gLogFile.setLayoutData(fdgLogFile);
wlLogfile = new Label(gLogFile, SWT.LEFT);
props.setLook(wlLogfile);
wlLogfile.setText(BaseMessages.getString(PKG, "JobTrans.NameOfLogfile.Label"));
FormData fdlName = new FormData();
fdlName.left = new FormAttachment(0, 0);
fdlName.top = new FormAttachment(0, 0);
wlLogfile.setLayoutData(fdlName);
wLogfile = new TextVar(jobMeta, gLogFile, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wLogfile);
FormData fdName = new FormData();
fdName.width = 250;
fdName.left = new FormAttachment(0, 0);
fdName.top = new FormAttachment(wlLogfile, 5);
wLogfile.setLayoutData(fdName);
wbLogFilename = new Button(gLogFile, SWT.PUSH | SWT.CENTER);
props.setLook(wbLogFilename);
wbLogFilename.setText(BaseMessages.getString(PKG, "JobTrans.Browse.Label"));
fdbLogFilename = new FormData();
fdbLogFilename.top = new FormAttachment(wlLogfile, Const.isOSX() ? 0 : 5);
fdbLogFilename.left = new FormAttachment(wLogfile, 5);
wbLogFilename.setLayoutData(fdbLogFilename);
wlLogext = new Label(gLogFile, SWT.LEFT);
props.setLook(wlLogext);
wlLogext.setText(BaseMessages.getString(PKG, "JobTrans.LogfileExtension.Label"));
FormData fdlExtension = new FormData();
fdlExtension.left = new FormAttachment(0, 0);
fdlExtension.top = new FormAttachment(wLogfile, 10);
wlLogext.setLayoutData(fdlExtension);
wLogext = new TextVar(jobMeta, gLogFile, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wLogext);
FormData fdExtension = new FormData();
fdExtension.width = 250;
fdExtension.left = new FormAttachment(0, 0);
fdExtension.top = new FormAttachment(wlLogext, 5);
wLogext.setLayoutData(fdExtension);
wlLoglevel = new Label(gLogFile, SWT.LEFT);
props.setLook(wlLoglevel);
wlLoglevel.setText(BaseMessages.getString(PKG, "JobTrans.Loglevel.Label"));
FormData fdlLogLevel = new FormData();
fdlLogLevel.left = new FormAttachment(0, 0);
fdlLogLevel.top = new FormAttachment(wLogext, 10);
wlLoglevel.setLayoutData(fdlLogLevel);
wLoglevel = new CCombo(gLogFile, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wLoglevel.setItems(LogLevel.getLogLevelDescriptions());
props.setLook(wLoglevel);
FormData fdLogLevel = new FormData();
fdLogLevel.width = 250;
fdLogLevel.left = new FormAttachment(0, 0);
fdLogLevel.top = new FormAttachment(wlLoglevel, 5);
wLoglevel.setLayoutData(fdLogLevel);
wAppendLogfile = new Button(gLogFile, SWT.CHECK);
props.setLook(wAppendLogfile);
wAppendLogfile.setText(BaseMessages.getString(PKG, "JobTrans.Append.Logfile.Label"));
FormData fdLogFile = new FormData();
fdLogFile.left = new FormAttachment(0, 0);
fdLogFile.top = new FormAttachment(wLoglevel, 10);
wAppendLogfile.setLayoutData(fdLogFile);
wCreateParentFolder = new Button(gLogFile, SWT.CHECK);
props.setLook(wCreateParentFolder);
wCreateParentFolder.setText(BaseMessages.getString(PKG, "JobTrans.Logfile.CreateParentFolder.Label"));
FormData fdCreateParent = new FormData();
fdCreateParent.left = new FormAttachment(0, 0);
fdCreateParent.top = new FormAttachment(wAppendLogfile, 10);
wCreateParentFolder.setLayoutData(fdCreateParent);
wAddDate = new Button(gLogFile, SWT.CHECK);
props.setLook(wAddDate);
wAddDate.setText(BaseMessages.getString(PKG, "JobTrans.Logfile.IncludeDate.Label"));
FormData fdIncludeDate = new FormData();
fdIncludeDate.left = new FormAttachment(0, 0);
fdIncludeDate.top = new FormAttachment(wCreateParentFolder, 10);
wAddDate.setLayoutData(fdIncludeDate);
wAddTime = new Button(gLogFile, SWT.CHECK);
props.setLook(wAddTime);
wAddTime.setText(BaseMessages.getString(PKG, "JobTrans.Logfile.IncludeTime.Label"));
FormData fdIncludeTime = new FormData();
fdIncludeTime.left = new FormAttachment(0, 0);
fdIncludeTime.top = new FormAttachment(wAddDate, 10);
wAddTime.setLayoutData(fdIncludeTime);
wSetLogfile.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent selectionEvent) {
setActive();
}
});
wLoggingTab.setControl(wLogging);
FormData fdLogging = new FormData();
fdLogging.left = new FormAttachment(0, 0);
fdLogging.top = new FormAttachment(0, 0);
fdLogging.right = new FormAttachment(100, 0);
fdLogging.bottom = new FormAttachment(100, 0);
wOptions.setLayoutData(fdLogging);
// Logging Tab End
CTabItem wArgumentTab = new CTabItem(wTabFolder, SWT.NONE);
wArgumentTab.setText(BaseMessages.getString(PKG, "JobTrans.Fields.Arguments.Label"));
FormLayout fieldLayout = new FormLayout();
fieldLayout.marginWidth = 15;
fieldLayout.marginHeight = 15;
Composite wFieldComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wFieldComp);
wFieldComp.setLayout(fieldLayout);
wPrevious = new Button(wFieldComp, SWT.CHECK);
props.setLook(wPrevious);
wPrevious.setSelection(getArgFromPrev());
wPrevious.setText(BaseMessages.getString(PKG, "JobTrans.Previous.Label"));
FormData fdCopyResults = new FormData();
fdCopyResults.top = new FormAttachment(0, 0);
fdCopyResults.left = new FormAttachment(0, 0);
wPrevious.setLayoutData(fdCopyResults);
wPrevious.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
wFields.setEnabled(!getArgFromPrev());
}
});
final int FieldsCols = 1;
int rows = getArguments() == null ? 1 : (getArguments().length == 0 ? 0 : getArguments().length);
final int FieldsRows = rows;
ColumnInfo[] colinf = new ColumnInfo[FieldsCols];
colinf[0] = new ColumnInfo(BaseMessages.getString(PKG, "JobTrans.Arguments.Argument.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinf[0].setUsingVariables(true);
wFields = new TableView(jobMeta, wFieldComp, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.NO_SCROLL | SWT.V_SCROLL, colinf, FieldsRows, false, lsMod, props, false);
FormData fdFields = new FormData();
fdFields.left = new FormAttachment(0, 0);
fdFields.top = new FormAttachment(wPrevious, 15);
fdFields.right = new FormAttachment(100, 0);
fdFields.bottom = new FormAttachment(100, 0);
wFields.setLayoutData(fdFields);
wFields.getTable().addListener(SWT.Resize, new ColumnsResizer(0, 100));
FormData 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);
wFieldComp.setLayoutData(fdFieldsComp);
wFieldComp.layout();
wArgumentTab.setControl(wFieldComp);
CTabItem wParametersTab = new CTabItem(wTabFolder, SWT.NONE);
wParametersTab.setText(BaseMessages.getString(PKG, "JobTrans.Fields.Parameters.Label"));
fieldLayout = new FormLayout();
fieldLayout.marginWidth = 15;
fieldLayout.marginHeight = 15;
Composite wParameterComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wParameterComp);
wParameterComp.setLayout(fieldLayout);
wPrevToParams = new Button(wParameterComp, SWT.CHECK);
props.setLook(wPrevToParams);
wPrevToParams.setText(BaseMessages.getString(PKG, "JobTrans.PrevToParams.Label"));
FormData fdCopyResultsParams = new FormData();
fdCopyResultsParams.left = new FormAttachment(0, 0);
fdCopyResultsParams.top = new FormAttachment(0, 0);
wPrevToParams.setLayoutData(fdCopyResultsParams);
wPrevToParams.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
getJobEntry().setChanged();
}
});
wPassParams = new Button(wParameterComp, SWT.CHECK);
props.setLook(wPassParams);
FormData fdPassParams = new FormData();
fdPassParams.left = new FormAttachment(0, 0);
fdPassParams.top = new FormAttachment(wPrevToParams, 10);
wPassParams.setLayoutData(fdPassParams);
wbGetParams = new Button(wParameterComp, SWT.PUSH);
wbGetParams.setText(BaseMessages.getString(PKG, "JobTrans.GetParameters.Button.Label"));
FormData fdGetParams = new FormData();
fdGetParams.bottom = new FormAttachment(100, 0);
fdGetParams.right = new FormAttachment(100, 0);
wbGetParams.setLayoutData(fdGetParams);
final int parameterRows = getParamters() != null ? getParamters().length : 0;
colinf = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "JobTrans.Parameters.Parameter.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "JobTrans.Parameters.ColumnName.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "JobTrans.Parameters.Value.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false) };
colinf[2].setUsingVariables(true);
wParameters = new TableView(jobMeta, wParameterComp, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI, colinf, parameterRows, false, lsModParams, props, false);
props.setLook(wParameters);
FormData fdParameters = new FormData();
fdParameters.left = new FormAttachment(0, 0);
fdParameters.top = new FormAttachment(wPassParams, 10);
fdParameters.right = new FormAttachment(100);
fdParameters.bottom = new FormAttachment(wbGetParams, -10);
wParameters.setLayoutData(fdParameters);
wParameters.getTable().addListener(SWT.Resize, new ColumnsResizer(0, 33, 33, 33));
parameterTableHelper.setParameterTableView(wParameters);
parameterTableHelper.setUpDisabledListeners();
// Add disabled listeners to columns
colinf[0].setDisabledListener(parameterTableHelper.getVarDisabledListener());
colinf[1].setDisabledListener(parameterTableHelper.getFieldDisabledListener());
colinf[2].setDisabledListener(parameterTableHelper.getInputDisabledListener());
FormData fdParametersComp = new FormData();
fdParametersComp.left = new FormAttachment(0, 0);
fdParametersComp.top = new FormAttachment(0, 0);
fdParametersComp.right = new FormAttachment(100, 0);
fdParametersComp.bottom = new FormAttachment(100, 0);
wParameterComp.setLayoutData(fdParametersComp);
wParameterComp.layout();
wParametersTab.setControl(wParameterComp);
wTabFolder.setSelection(0);
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
FormData fdCancel = new FormData();
fdCancel.right = new FormAttachment(100, 0);
fdCancel.bottom = new FormAttachment(100, 0);
wCancel.setLayoutData(fdCancel);
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
FormData fdOk = new FormData();
fdOk.right = new FormAttachment(wCancel, -5);
fdOk.bottom = new FormAttachment(100, 0);
wOK.setLayoutData(fdOk);
Label hSpacer = new Label(shell, SWT.HORIZONTAL | SWT.SEPARATOR);
FormData fdhSpacer = new FormData();
fdhSpacer.left = new FormAttachment(0, 0);
fdhSpacer.bottom = new FormAttachment(wCancel, -15);
fdhSpacer.right = new FormAttachment(100, 0);
hSpacer.setLayoutData(fdhSpacer);
FormData fdTabFolder = new FormData();
fdTabFolder.left = new FormAttachment(0, 0);
fdTabFolder.top = new FormAttachment(wPath, 20);
fdTabFolder.right = new FormAttachment(100, 0);
fdTabFolder.bottom = new FormAttachment(hSpacer, -15);
wTabFolder.setLayoutData(fdTabFolder);
// Add listeners
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
wOK.addListener(SWT.Selection, lsOK);
wCancel.addListener(SWT.Selection, lsCancel);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wName.addSelectionListener(lsDef);
wPath.addSelectionListener(lsDef);
}
use of org.pentaho.di.ui.core.widget.TableView 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