use of org.eclipse.swt.custom.CTabItem in project pentaho-kettle by pentaho.
the class TransExecutorDialog method addResultFilesTab.
private void addResultFilesTab() {
final CTabItem wTab = new CTabItem(wTabFolder, SWT.NONE);
wTab.setText(BaseMessages.getString(PKG, "TransExecutorDialog.ResultFiles.Title"));
wTab.setToolTipText(BaseMessages.getString(PKG, "TransExecutorDialog.ResultFiles.Tooltip"));
ScrolledComposite scrolledComposite = new ScrolledComposite(wTabFolder, SWT.V_SCROLL | SWT.H_SCROLL);
scrolledComposite.setLayout(new FillLayout());
Composite wInputComposite = new Composite(scrolledComposite, SWT.NONE);
props.setLook(wInputComposite);
FormLayout tabLayout = new FormLayout();
tabLayout.marginWidth = 15;
tabLayout.marginHeight = 15;
wInputComposite.setLayout(tabLayout);
wlResultFilesTarget = new Label(wInputComposite, SWT.RIGHT);
props.setLook(wlResultFilesTarget);
wlResultFilesTarget.setText(BaseMessages.getString(PKG, "TransExecutorDialog.ResultFilesTarget.Label"));
FormData fdlResultFilesTarget = new FormData();
fdlResultFilesTarget.top = new FormAttachment(0, 0);
// First one in the left
fdlResultFilesTarget.left = new FormAttachment(0, 0);
wlResultFilesTarget.setLayoutData(fdlResultFilesTarget);
wResultFilesTarget = new CCombo(wInputComposite, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wResultFilesTarget);
wResultFilesTarget.addModifyListener(lsMod);
FormData fdResultFilesTarget = new FormData();
fdResultFilesTarget.width = 250;
fdResultFilesTarget.top = new FormAttachment(wlResultFilesTarget, 5);
// To the right
fdResultFilesTarget.left = new FormAttachment(0, 0);
wResultFilesTarget.setLayoutData(fdResultFilesTarget);
// ResultFileNameField
//
wlResultFileNameField = new Label(wInputComposite, SWT.RIGHT);
props.setLook(wlResultFileNameField);
wlResultFileNameField.setText(BaseMessages.getString(PKG, "TransExecutorDialog.ResultFileNameField.Label"));
FormData fdlResultFileNameField = new FormData();
fdlResultFileNameField.top = new FormAttachment(wResultFilesTarget, 10);
// First one in the left
fdlResultFileNameField.left = new FormAttachment(0, 0);
wlResultFileNameField.setLayoutData(fdlResultFileNameField);
wResultFileNameField = new TextVar(transMeta, wInputComposite, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wResultFileNameField);
wResultFileNameField.addModifyListener(lsMod);
FormData fdResultFileNameField = new FormData();
fdResultFileNameField.width = 250;
fdResultFileNameField.top = new FormAttachment(wlResultFileNameField, 5);
// To the right
fdResultFileNameField.left = new FormAttachment(0, 0);
wResultFileNameField.setLayoutData(fdResultFileNameField);
wInputComposite.pack();
Rectangle bounds = wInputComposite.getBounds();
scrolledComposite.setContent(wInputComposite);
scrolledComposite.setExpandHorizontal(true);
scrolledComposite.setExpandVertical(true);
scrolledComposite.setMinWidth(bounds.width);
scrolledComposite.setMinHeight(bounds.height);
wTab.setControl(scrolledComposite);
wTabFolder.setSelection(wTab);
}
use of org.eclipse.swt.custom.CTabItem in project pentaho-kettle by pentaho.
the class UserDefinedJavaClassDialog method addInfoTab.
private void addInfoTab() {
infoTab = new CTabItem(wTabFolder, SWT.NONE);
infoTab.setText(BaseMessages.getString(PKG, "UserDefinedJavaClassDialog.Tabs.Info.Title"));
infoTab.setToolTipText(BaseMessages.getString(PKG, "UserDefinedJavaClassDialog.Tabs.Info.TooltipText"));
Composite wBottom = new Composite(wTabFolder, SWT.NONE);
props.setLook(wBottom);
infoTab.setControl(wBottom);
FormLayout bottomLayout = new FormLayout();
bottomLayout.marginWidth = Const.FORM_MARGIN;
bottomLayout.marginHeight = Const.FORM_MARGIN;
wBottom.setLayout(bottomLayout);
Label wlFields = new Label(wBottom, SWT.NONE);
wlFields.setText(BaseMessages.getString(PKG, "UserDefinedJavaClassDialog.InfoSteps.Label"));
props.setLook(wlFields);
FormData fdlFields = new FormData();
fdlFields.left = new FormAttachment(0, 0);
fdlFields.top = new FormAttachment(0, 0);
wlFields.setLayoutData(fdlFields);
final int nrRows = input.getInfoStepDefinitions().size();
ColumnInfo[] colinf = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "UserDefinedJavaClassDialog.ColumnInfo.StepTag"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "UserDefinedJavaClassDialog.ColumnInfo.StepName"), ColumnInfo.COLUMN_TYPE_CCOMBO, prevStepNames), new ColumnInfo(BaseMessages.getString(PKG, "UserDefinedJavaClassDialog.ColumnInfo.StepDescription"), ColumnInfo.COLUMN_TYPE_TEXT, false) };
wInfoSteps = new TableView(transMeta, wBottom, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI, colinf, nrRows, lsMod, props);
FormData fdFields = new FormData();
fdFields.left = new FormAttachment(0, 0);
fdFields.top = new FormAttachment(wlFields, margin);
fdFields.right = new FormAttachment(100, 0);
fdFields.bottom = new FormAttachment(100, 0);
wInfoSteps.setLayoutData(fdFields);
FormData fdBottom = new FormData();
fdBottom.left = new FormAttachment(0, 0);
fdBottom.top = new FormAttachment(0, 0);
fdBottom.right = new FormAttachment(100, 0);
fdBottom.bottom = new FormAttachment(100, 0);
wBottom.setLayoutData(fdBottom);
}
use of org.eclipse.swt.custom.CTabItem in project pentaho-kettle by pentaho.
the class WebServiceDialog 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, meta);
changed = meta.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "WebServiceDialog.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);
// Add a tab which contains information on the web service(s)
//
tabItemWebService = new CTabItem(wTabFolder, SWT.NONE);
tabItemWebService.setText(BaseMessages.getString(PKG, "WebServiceDialog.MainTab.TabTitle"));
Composite compositeTabWebService = new Composite(wTabFolder, SWT.NONE);
props.setLook(compositeTabWebService);
FormLayout fileLayout = new FormLayout();
fileLayout.marginWidth = 3;
fileLayout.marginHeight = 3;
compositeTabWebService.setLayout(fileLayout);
// URL
wlURL = new Label(compositeTabWebService, SWT.RIGHT);
wlURL.setText(BaseMessages.getString(PKG, "WebServiceDialog.URL.Label"));
props.setLook(wlURL);
FormData fdlURL = new FormData();
fdlURL.left = new FormAttachment(0, 0);
fdlURL.top = new FormAttachment(0, margin);
fdlURL.right = new FormAttachment(middle, -margin);
wlURL.setLayoutData(fdlURL);
wbURL = new Button(compositeTabWebService, SWT.PUSH | SWT.CENTER);
props.setLook(wbURL);
wbURL.setText(BaseMessages.getString(PKG, "WebServiceDialog.URL.Load"));
FormData fdbURL = new FormData();
fdbURL.right = new FormAttachment(100, 0);
fdbURL.top = new FormAttachment(0, 0);
wbURL.setLayoutData(fdbURL);
wbURL.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
//
if (!Utils.isEmpty(wURL.getText())) {
try {
initTreeTabWebService(wURL.getText());
} catch (Throwable throwable) {
new ErrorDialog(shell, BaseMessages.getString(PKG, "WebServiceDialog.Exception.UnableToLoadWebService.Title"), BaseMessages.getString(PKG, "WebServiceDialog.Exception.UnableToLoadWebService.Message"), throwable);
}
}
}
});
wbFile = new Button(compositeTabWebService, SWT.PUSH | SWT.CENTER);
props.setLook(wbFile);
wbFile.setText(BaseMessages.getString(PKG, "WebServiceDialog.File.Load"));
FormData fdbFile = new FormData();
fdbFile.right = new FormAttachment(wbURL, 0);
fdbFile.top = new FormAttachment(0, 0);
wbFile.setLayoutData(fdbFile);
wbFile.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
// We will load the WSDL from a file so we can at least try to debug the metadata extraction phase from the
// support side.
//
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*.wsdl;*.WSDL", "*.*" });
dialog.setFilterNames(new String[] { BaseMessages.getString(PKG, "WebServiceDialog.FileType.WsdlFiles"), BaseMessages.getString(PKG, "System.FileType.CSVFiles"), BaseMessages.getString(PKG, "System.FileType.TextFiles"), BaseMessages.getString(PKG, "System.FileType.AllFiles") });
if (dialog.open() != null) {
String filename = dialog.getFilterPath() + System.getProperty("file.separator") + dialog.getFileName();
try {
initTreeTabWebService(new File(filename).toURI().toASCIIString());
} catch (Throwable throwable) {
new ErrorDialog(shell, BaseMessages.getString(PKG, "WebServiceDialog.Exception.UnableToLoadWebService.Title"), BaseMessages.getString(PKG, "WebServiceDialog.Exception.UnableToLoadWebService.Message"), throwable);
}
}
}
});
wURL = new TextVar(transMeta, compositeTabWebService, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wURL.addModifyListener(lsMod);
props.setLook(wURL);
FormData fdURL = new FormData();
fdURL.left = new FormAttachment(middle, 0);
fdURL.top = new FormAttachment(0, margin);
fdURL.right = new FormAttachment(wbFile, -margin);
wURL.setLayoutData(fdURL);
// Operation
wlOperation = new Label(compositeTabWebService, SWT.RIGHT);
wlOperation.setText(BaseMessages.getString(PKG, "WebServiceDialog.Operation.Label"));
props.setLook(wlOperation);
FormData fdlOperation = new FormData();
fdlOperation.left = new FormAttachment(0, 0);
fdlOperation.top = new FormAttachment(wURL, margin);
fdlOperation.right = new FormAttachment(middle, -margin);
wlOperation.setLayoutData(fdlOperation);
wOperation = new CCombo(compositeTabWebService, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wOperation.addModifyListener(lsMod);
wOperation.setToolTipText(BaseMessages.getString(PKG, "WebServiceDialog.Operation.Tooltip"));
props.setLook(wOperation);
FormData fdOperation = new FormData();
fdOperation.top = new FormAttachment(wURL, margin);
fdOperation.left = new FormAttachment(middle, 0);
fdOperation.right = new FormAttachment(100, 0);
wOperation.setLayoutData(fdOperation);
wOperation.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent arg0) {
try {
selectWSDLOperation(wOperation.getText());
} catch (KettleException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void widgetDefaultSelected(SelectionEvent arg0) {
// TODO Auto-generated method stub
}
});
// Operation request name (optional)
wlOperationRequest = new Label(compositeTabWebService, SWT.RIGHT);
wlOperationRequest.setText(BaseMessages.getString(PKG, "WebServiceDialog.OperationRequest.Label"));
props.setLook(wlOperationRequest);
FormData fdlOperationRequest = new FormData();
fdlOperationRequest.left = new FormAttachment(0, 0);
fdlOperationRequest.top = new FormAttachment(wOperation, margin);
fdlOperationRequest.right = new FormAttachment(middle, -margin);
wlOperationRequest.setLayoutData(fdlOperationRequest);
wOperationRequest = new Text(compositeTabWebService, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wOperationRequest.addModifyListener(lsMod);
wOperationRequest.setToolTipText(BaseMessages.getString(PKG, "WebServiceDialog.OperationRequest.Tooltip"));
props.setLook(wOperationRequest);
FormData fdOperationRequest = new FormData();
fdOperationRequest.top = new FormAttachment(wOperation, margin);
fdOperationRequest.left = new FormAttachment(middle, 0);
fdOperationRequest.right = new FormAttachment(100, 0);
wOperationRequest.setLayoutData(fdOperationRequest);
// Pas d'appel
wlStep = new Label(compositeTabWebService, SWT.RIGHT);
wlStep.setText(BaseMessages.getString(PKG, "WebServiceDialog.Step.Label"));
props.setLook(wlStep);
FormData fdlStep = new FormData();
fdlStep.left = new FormAttachment(0, 0);
fdlStep.top = new FormAttachment(wOperationRequest, margin);
fdlStep.right = new FormAttachment(middle, -margin);
wlStep.setLayoutData(fdlStep);
wStep = new Text(compositeTabWebService, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wStep.addModifyListener(lsMod);
wStep.setToolTipText(BaseMessages.getString(PKG, "WebServiceDialog.Step.Tooltip"));
props.setLook(wStep);
FormData fdStep = new FormData();
fdStep.top = new FormAttachment(wOperationRequest, margin);
fdStep.left = new FormAttachment(middle, 0);
fdStep.right = new FormAttachment(100, 0);
wStep.setLayoutData(fdStep);
// Option to pass all input data to output
//
wlPassInputData = new Label(compositeTabWebService, SWT.RIGHT);
wlPassInputData.setText(BaseMessages.getString(PKG, "WebServiceDialog.PassInputData.Label"));
props.setLook(wlPassInputData);
FormData fdlPassInputData = new FormData();
fdlPassInputData.left = new FormAttachment(0, 0);
fdlPassInputData.top = new FormAttachment(wStep, margin);
fdlPassInputData.right = new FormAttachment(middle, -margin);
wlPassInputData.setLayoutData(fdlPassInputData);
wPassInputData = new Button(compositeTabWebService, SWT.CHECK);
wPassInputData.setToolTipText(BaseMessages.getString(PKG, "WebServiceDialog.PassInputData.Tooltip"));
props.setLook(wPassInputData);
FormData fdPassInputData = new FormData();
fdPassInputData.top = new FormAttachment(wStep, margin);
fdPassInputData.left = new FormAttachment(middle, 0);
fdPassInputData.right = new FormAttachment(100, 0);
wPassInputData.setLayoutData(fdPassInputData);
// Option to use 2.5/3.0 compatible parsing logic
//
wlCompatible = new Label(compositeTabWebService, SWT.RIGHT);
wlCompatible.setText(BaseMessages.getString(PKG, "WebServiceDialog.Compatible.Label"));
props.setLook(wlCompatible);
FormData fdlCompatible = new FormData();
fdlCompatible.left = new FormAttachment(0, 0);
fdlCompatible.top = new FormAttachment(wPassInputData, margin);
fdlCompatible.right = new FormAttachment(middle, -margin);
wlCompatible.setLayoutData(fdlCompatible);
wCompatible = new Button(compositeTabWebService, SWT.CHECK);
wCompatible.setToolTipText(BaseMessages.getString(PKG, "WebServiceDialog.Compatible.Tooltip"));
props.setLook(wCompatible);
FormData fdCompatible = new FormData();
fdCompatible.top = new FormAttachment(wPassInputData, margin);
fdCompatible.left = new FormAttachment(middle, 0);
fdCompatible.right = new FormAttachment(100, 0);
wCompatible.setLayoutData(fdCompatible);
// HTTP Login
wlRepeatingElement = new Label(compositeTabWebService, SWT.RIGHT);
wlRepeatingElement.setText(BaseMessages.getString(PKG, "WebServiceDialog.RepeatingElement.Label"));
props.setLook(wlRepeatingElement);
FormData fdlRepeatingElement = new FormData();
fdlRepeatingElement.top = new FormAttachment(wCompatible, margin);
fdlRepeatingElement.left = new FormAttachment(0, 0);
fdlRepeatingElement.right = new FormAttachment(middle, -margin);
wlRepeatingElement.setLayoutData(fdlRepeatingElement);
wRepeatingElement = new TextVar(transMeta, compositeTabWebService, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wRepeatingElement.addModifyListener(lsMod);
wRepeatingElement.setToolTipText(BaseMessages.getString(PKG, "WebServiceDialog.RepeatingElement.Tooltip"));
props.setLook(wRepeatingElement);
FormData fdRepeatingElement = new FormData();
fdRepeatingElement.top = new FormAttachment(wCompatible, margin);
fdRepeatingElement.left = new FormAttachment(middle, 0);
fdRepeatingElement.right = new FormAttachment(100, 0);
wRepeatingElement.setLayoutData(fdRepeatingElement);
// Return the SOAP body as a String or not?
//
wlReplyAsString = new Label(compositeTabWebService, SWT.RIGHT);
wlReplyAsString.setText(BaseMessages.getString(PKG, "WebServiceDialog.ReplyAsString.Label"));
props.setLook(wlReplyAsString);
FormData fdlBodyAsString = new FormData();
fdlBodyAsString.left = new FormAttachment(0, 0);
fdlBodyAsString.top = new FormAttachment(wRepeatingElement, margin);
fdlBodyAsString.right = new FormAttachment(middle, -margin);
wlReplyAsString.setLayoutData(fdlBodyAsString);
wReplyAsString = new Button(compositeTabWebService, SWT.CHECK);
wReplyAsString.setToolTipText(BaseMessages.getString(PKG, "WebServiceDialog.ReplyAsString.Tooltip"));
props.setLook(wReplyAsString);
FormData fdBodyAsString = new FormData();
fdBodyAsString.top = new FormAttachment(wRepeatingElement, margin);
fdBodyAsString.left = new FormAttachment(middle, 0);
fdBodyAsString.right = new FormAttachment(100, 0);
wReplyAsString.setLayoutData(fdBodyAsString);
// ////////////////////////
// START HTTP AUTH GROUP
Group gHttpAuth = new Group(compositeTabWebService, SWT.SHADOW_ETCHED_IN);
gHttpAuth.setText(BaseMessages.getString(PKG, "WebServicesDialog.HttpAuthGroup.Label"));
FormLayout httpAuthLayout = new FormLayout();
httpAuthLayout.marginWidth = 3;
httpAuthLayout.marginHeight = 3;
gHttpAuth.setLayout(httpAuthLayout);
props.setLook(gHttpAuth);
// HTTP Login
wlHttpLogin = new Label(gHttpAuth, SWT.RIGHT);
wlHttpLogin.setText(BaseMessages.getString(PKG, "WebServiceDialog.HttpLogin.Label"));
props.setLook(wlHttpLogin);
FormData fdlHttpLogin = new FormData();
fdlHttpLogin.top = new FormAttachment(0, margin);
fdlHttpLogin.left = new FormAttachment(0, 0);
fdlHttpLogin.right = new FormAttachment(middle, -margin);
wlHttpLogin.setLayoutData(fdlHttpLogin);
wHttpLogin = new TextVar(transMeta, gHttpAuth, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wHttpLogin.addModifyListener(lsMod);
wHttpLogin.setToolTipText(BaseMessages.getString(PKG, "WebServiceDialog.HttpLogin.Tooltip"));
props.setLook(wHttpLogin);
FormData fdHttpLogin = new FormData();
fdHttpLogin.top = new FormAttachment(0, margin);
fdHttpLogin.left = new FormAttachment(middle, 0);
fdHttpLogin.right = new FormAttachment(100, 0);
wHttpLogin.setLayoutData(fdHttpLogin);
// HTTP Password
wlHttpPassword = new Label(gHttpAuth, SWT.RIGHT);
wlHttpPassword.setText(BaseMessages.getString(PKG, "WebServiceDialog.HttpPassword.Label"));
props.setLook(wlHttpPassword);
FormData fdlHttpPassword = new FormData();
fdlHttpPassword.top = new FormAttachment(wHttpLogin, margin);
fdlHttpPassword.left = new FormAttachment(0, 0);
fdlHttpPassword.right = new FormAttachment(middle, -margin);
wlHttpPassword.setLayoutData(fdlHttpPassword);
wHttpPassword = new PasswordTextVar(transMeta, gHttpAuth, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wHttpPassword.addModifyListener(lsMod);
wHttpPassword.setToolTipText(BaseMessages.getString(PKG, "WebServiceDialog.HttpPassword.Tooltip"));
props.setLook(wHttpPassword);
FormData fdHttpPassword = new FormData();
fdHttpPassword.top = new FormAttachment(wHttpLogin, margin);
fdHttpPassword.left = new FormAttachment(middle, 0);
fdHttpPassword.right = new FormAttachment(100, 0);
wHttpPassword.setLayoutData(fdHttpPassword);
FormData fdHttpAuth = new FormData();
fdHttpAuth.left = new FormAttachment(0, 0);
fdHttpAuth.right = new FormAttachment(100, 0);
fdHttpAuth.top = new FormAttachment(wReplyAsString, margin);
gHttpAuth.setLayoutData(fdHttpAuth);
// END HTTP AUTH GROUP
// ////////////////////////
// ////////////////////////
// START PROXY GROUP
Group gProxy = new Group(compositeTabWebService, SWT.SHADOW_ETCHED_IN);
gProxy.setText(BaseMessages.getString(PKG, "WebServicesDialog.ProxyGroup.Label"));
FormLayout proxyLayout = new FormLayout();
proxyLayout.marginWidth = 3;
proxyLayout.marginHeight = 3;
gProxy.setLayout(proxyLayout);
props.setLook(gProxy);
// HTTP Login
wlProxyHost = new Label(gProxy, SWT.RIGHT);
wlProxyHost.setText(BaseMessages.getString(PKG, "WebServiceDialog.ProxyHost.Label"));
props.setLook(wlProxyHost);
FormData fdlProxyHost = new FormData();
fdlProxyHost.top = new FormAttachment(0, margin);
fdlProxyHost.left = new FormAttachment(0, 0);
fdlProxyHost.right = new FormAttachment(middle, -margin);
wlProxyHost.setLayoutData(fdlProxyHost);
wProxyHost = new TextVar(transMeta, gProxy, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wProxyHost.addModifyListener(lsMod);
wProxyHost.setToolTipText(BaseMessages.getString(PKG, "WebServiceDialog.ProxyHost.Tooltip"));
props.setLook(wProxyHost);
FormData fdProxyHost = new FormData();
fdProxyHost.top = new FormAttachment(0, margin);
fdProxyHost.left = new FormAttachment(middle, 0);
fdProxyHost.right = new FormAttachment(100, 0);
wProxyHost.setLayoutData(fdProxyHost);
// HTTP Password
wlProxyPort = new Label(gProxy, SWT.RIGHT);
wlProxyPort.setText(BaseMessages.getString(PKG, "WebServiceDialog.ProxyPort.Label"));
props.setLook(wlProxyPort);
FormData fdlProxyPort = new FormData();
fdlProxyPort.top = new FormAttachment(wProxyHost, margin);
fdlProxyPort.left = new FormAttachment(0, 0);
fdlProxyPort.right = new FormAttachment(middle, -margin);
wlProxyPort.setLayoutData(fdlProxyPort);
wProxyPort = new TextVar(transMeta, gProxy, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wProxyPort.addModifyListener(lsMod);
wProxyPort.setToolTipText(BaseMessages.getString(PKG, "WebServiceDialog.ProxyPort.Tooltip"));
props.setLook(wProxyPort);
FormData fdProxyPort = new FormData();
fdProxyPort.top = new FormAttachment(wProxyHost, margin);
fdProxyPort.left = new FormAttachment(middle, 0);
fdProxyPort.right = new FormAttachment(100, 0);
wProxyPort.setLayoutData(fdProxyPort);
FormData fdProxy = new FormData();
fdProxy.left = new FormAttachment(0, 0);
fdProxy.right = new FormAttachment(100, 0);
fdProxy.top = new FormAttachment(gHttpAuth, margin);
gProxy.setLayoutData(fdProxy);
// END HTTP AUTH GROUP
// ////////////////////////
// Layout du tab
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);
compositeTabWebService.setLayoutData(fdFileComp);
compositeTabWebService.layout();
tabItemWebService.setControl(compositeTabWebService);
wURL.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
getData();
}
});
SelectionAdapter selAdapter = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wHttpPassword.addSelectionListener(selAdapter);
wHttpLogin.addSelectionListener(selAdapter);
wStep.addSelectionListener(selAdapter);
wProxyHost.addSelectionListener(selAdapter);
wProxyPort.addSelectionListener(selAdapter);
wStepname.addSelectionListener(selAdapter);
wTabFolder.setSelection(tabItemWebService);
FormData 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);
// Boutons OK / Cancel
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
wAddInput = new Button(shell, SWT.PUSH);
wAddInput.setText(BaseMessages.getString(PKG, "WebServiceDialog.Label.AddInputButton"));
wAddOutput = new Button(shell, SWT.PUSH);
wAddOutput.setText(BaseMessages.getString(PKG, "WebServiceDialog.Label.AddOutputButton"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
setButtonPositions(new Button[] { wOK, wAddInput, wAddOutput, wCancel }, margin, wTabFolder);
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
wOK.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
ok();
}
});
wAddInput.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
addTabFieldIn();
wTabFolder.setSelection(tabItemFieldIn);
}
});
wAddOutput.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
addTabFieldOut();
wTabFolder.setSelection(tabItemFieldOut);
}
});
wCancel.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
cancel();
}
});
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
getData();
setComboValues();
// Set the shell size, based upon previous time...
setSize();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}
use of org.eclipse.swt.custom.CTabItem in project pentaho-kettle by pentaho.
the class TableOutputDialog method open.
/**
* Open the dialog.
*/
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();
}
};
ModifyListener lsTableMod = new ModifyListener() {
public void modifyText(ModifyEvent arg0) {
input.setChanged();
setTableFieldCombo();
}
};
SelectionListener lsSelection = new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
setTableFieldCombo();
}
};
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, "TableOutputDialog.DialogTitle"));
// 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);
// Connection line
wConnection = addConnectionLine(shell, wStepname, middle, margin);
if (input.getDatabaseMeta() == null && transMeta.nrDatabases() == 1) {
wConnection.select(0);
}
wConnection.addModifyListener(lsMod);
wConnection.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent event) {
setFlags();
}
});
wConnection.addSelectionListener(lsSelection);
// Schema line...
wlSchema = new Label(shell, SWT.RIGHT);
wlSchema.setText(BaseMessages.getString(PKG, "TableOutputDialog.TargetSchema.Label"));
props.setLook(wlSchema);
fdlSchema = new FormData();
fdlSchema.left = new FormAttachment(0, 0);
fdlSchema.right = new FormAttachment(middle, -margin);
fdlSchema.top = new FormAttachment(wConnection, margin * 2);
wlSchema.setLayoutData(fdlSchema);
wbSchema = new Button(shell, SWT.PUSH | SWT.CENTER);
props.setLook(wbSchema);
wbSchema.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
fdbSchema = new FormData();
fdbSchema.top = new FormAttachment(wConnection, 2 * margin);
fdbSchema.right = new FormAttachment(100, 0);
wbSchema.setLayoutData(fdbSchema);
wSchema = new TextVar(transMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wSchema);
wSchema.addModifyListener(lsTableMod);
fdSchema = new FormData();
fdSchema.left = new FormAttachment(middle, 0);
fdSchema.top = new FormAttachment(wConnection, margin * 2);
fdSchema.right = new FormAttachment(wbSchema, -margin);
wSchema.setLayoutData(fdSchema);
// Table line...
wlTable = new Label(shell, SWT.RIGHT);
wlTable.setText(BaseMessages.getString(PKG, "TableOutputDialog.TargetTable.Label"));
props.setLook(wlTable);
fdlTable = new FormData();
fdlTable.left = new FormAttachment(0, 0);
fdlTable.right = new FormAttachment(middle, -margin);
fdlTable.top = new FormAttachment(wbSchema, margin);
wlTable.setLayoutData(fdlTable);
wbTable = new Button(shell, SWT.PUSH | SWT.CENTER);
props.setLook(wbTable);
wbTable.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
fdbTable = new FormData();
fdbTable.right = new FormAttachment(100, 0);
fdbTable.top = new FormAttachment(wbSchema, margin);
wbTable.setLayoutData(fdbTable);
wTable = new TextVar(transMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wTable);
wTable.addModifyListener(lsTableMod);
fdTable = new FormData();
fdTable.top = new FormAttachment(wbSchema, margin);
fdTable.left = new FormAttachment(middle, 0);
fdTable.right = new FormAttachment(wbTable, -margin);
wTable.setLayoutData(fdTable);
// Commit size ...
wlCommit = new Label(shell, SWT.RIGHT);
wlCommit.setText(BaseMessages.getString(PKG, "TableOutputDialog.CommitSize.Label"));
props.setLook(wlCommit);
fdlCommit = new FormData();
fdlCommit.left = new FormAttachment(0, 0);
fdlCommit.right = new FormAttachment(middle, -margin);
fdlCommit.top = new FormAttachment(wbTable, margin);
wlCommit.setLayoutData(fdlCommit);
wCommit = new TextVar(transMeta, shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wCommit);
wCommit.addModifyListener(lsMod);
fdCommit = new FormData();
fdCommit.left = new FormAttachment(middle, 0);
fdCommit.top = new FormAttachment(wbTable, margin);
fdCommit.right = new FormAttachment(100, 0);
wCommit.setLayoutData(fdCommit);
// Truncate table
wlTruncate = new Label(shell, SWT.RIGHT);
wlTruncate.setText(BaseMessages.getString(PKG, "TableOutputDialog.TruncateTable.Label"));
props.setLook(wlTruncate);
fdlTruncate = new FormData();
fdlTruncate.left = new FormAttachment(0, 0);
fdlTruncate.top = new FormAttachment(wCommit, margin);
fdlTruncate.right = new FormAttachment(middle, -margin);
wlTruncate.setLayoutData(fdlTruncate);
wTruncate = new Button(shell, SWT.CHECK);
props.setLook(wTruncate);
fdTruncate = new FormData();
fdTruncate.left = new FormAttachment(middle, 0);
fdTruncate.top = new FormAttachment(wCommit, margin);
fdTruncate.right = new FormAttachment(100, 0);
wTruncate.setLayoutData(fdTruncate);
SelectionAdapter lsSelMod = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
input.setChanged();
}
};
wTruncate.addSelectionListener(lsSelMod);
// Ignore errors
wlIgnore = new Label(shell, SWT.RIGHT);
wlIgnore.setText(BaseMessages.getString(PKG, "TableOutputDialog.IgnoreInsertErrors.Label"));
props.setLook(wlIgnore);
fdlIgnore = new FormData();
fdlIgnore.left = new FormAttachment(0, 0);
fdlIgnore.top = new FormAttachment(wTruncate, margin);
fdlIgnore.right = new FormAttachment(middle, -margin);
wlIgnore.setLayoutData(fdlIgnore);
wIgnore = new Button(shell, SWT.CHECK);
props.setLook(wIgnore);
fdIgnore = new FormData();
fdIgnore.left = new FormAttachment(middle, 0);
fdIgnore.top = new FormAttachment(wTruncate, margin);
fdIgnore.right = new FormAttachment(100, 0);
wIgnore.setLayoutData(fdIgnore);
wIgnore.addSelectionListener(lsSelMod);
// Specify fields
wlSpecifyFields = new Label(shell, SWT.RIGHT);
wlSpecifyFields.setText(BaseMessages.getString(PKG, "TableOutputDialog.SpecifyFields.Label"));
props.setLook(wlSpecifyFields);
fdlSpecifyFields = new FormData();
fdlSpecifyFields.left = new FormAttachment(0, 0);
fdlSpecifyFields.top = new FormAttachment(wIgnore, margin);
fdlSpecifyFields.right = new FormAttachment(middle, -margin);
wlSpecifyFields.setLayoutData(fdlSpecifyFields);
wSpecifyFields = new Button(shell, SWT.CHECK);
props.setLook(wSpecifyFields);
fdSpecifyFields = new FormData();
fdSpecifyFields.left = new FormAttachment(middle, 0);
fdSpecifyFields.top = new FormAttachment(wIgnore, margin);
fdSpecifyFields.right = new FormAttachment(100, 0);
wSpecifyFields.setLayoutData(fdSpecifyFields);
wSpecifyFields.addSelectionListener(lsSelMod);
// If the flag is off, gray out the fields tab e.g.
wSpecifyFields.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
setFlags();
}
});
wTabFolder = new CTabFolder(shell, SWT.BORDER);
props.setLook(wTabFolder, Props.WIDGET_STYLE_TAB);
// ////////////////////////
// START OF KEY TAB ///
// /
wMainTab = new CTabItem(wTabFolder, SWT.NONE);
wMainTab.setText(BaseMessages.getString(PKG, "TableOutputDialog.MainTab.CTabItem"));
FormLayout mainLayout = new FormLayout();
mainLayout.marginWidth = 3;
mainLayout.marginHeight = 3;
Composite wMainComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wMainComp);
wMainComp.setLayout(mainLayout);
// Partitioning support
// Use partitioning?
wlUsePart = new Label(wMainComp, SWT.RIGHT);
wlUsePart.setText(BaseMessages.getString(PKG, "TableOutputDialog.UsePart.Label"));
wlUsePart.setToolTipText(BaseMessages.getString(PKG, "TableOutputDialog.UsePart.Tooltip"));
props.setLook(wlUsePart);
fdlUsePart = new FormData();
fdlUsePart.left = new FormAttachment(0, 0);
fdlUsePart.top = new FormAttachment(wSpecifyFields, margin * 5);
fdlUsePart.right = new FormAttachment(middle, -margin);
wlUsePart.setLayoutData(fdlUsePart);
wUsePart = new Button(wMainComp, SWT.CHECK);
props.setLook(wUsePart);
fdUsePart = new FormData();
fdUsePart.left = new FormAttachment(middle, 0);
fdUsePart.top = new FormAttachment(wSpecifyFields, margin * 5);
fdUsePart.right = new FormAttachment(100, 0);
wUsePart.setLayoutData(fdUsePart);
wUsePart.addSelectionListener(lsSelMod);
wUsePart.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
if (wUsePart.getSelection()) {
wNameInField.setSelection(false);
}
setFlags();
}
});
// Partitioning field
wlPartField = new Label(wMainComp, SWT.RIGHT);
wlPartField.setText(BaseMessages.getString(PKG, "TableOutputDialog.PartField.Label"));
props.setLook(wlPartField);
fdlPartField = new FormData();
fdlPartField.top = new FormAttachment(wUsePart, margin);
fdlPartField.left = new FormAttachment(0, 0);
fdlPartField.right = new FormAttachment(middle, -margin);
wlPartField.setLayoutData(fdlPartField);
wPartField = new ComboVar(transMeta, wMainComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wPartField);
wPartField.addModifyListener(lsMod);
fdPartField = new FormData();
fdPartField.top = new FormAttachment(wUsePart, margin);
fdPartField.left = new FormAttachment(middle, 0);
fdPartField.right = new FormAttachment(100, 0);
wPartField.setLayoutData(fdPartField);
wPartField.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);
getFields();
shell.setCursor(null);
busy.dispose();
}
});
// Partition per month
wlPartMonthly = new Label(wMainComp, SWT.RIGHT);
wlPartMonthly.setText(BaseMessages.getString(PKG, "TableOutputDialog.PartMonthly.Label"));
wlPartMonthly.setToolTipText(BaseMessages.getString(PKG, "TableOutputDialog.PartMonthly.Tooltip"));
props.setLook(wlPartMonthly);
fdlPartMonthly = new FormData();
fdlPartMonthly.left = new FormAttachment(0, 0);
fdlPartMonthly.top = new FormAttachment(wPartField, margin);
fdlPartMonthly.right = new FormAttachment(middle, -margin);
wlPartMonthly.setLayoutData(fdlPartMonthly);
wPartMonthly = new Button(wMainComp, SWT.RADIO);
props.setLook(wPartMonthly);
fdPartMonthly = new FormData();
fdPartMonthly.left = new FormAttachment(middle, 0);
fdPartMonthly.top = new FormAttachment(wPartField, margin);
fdPartMonthly.right = new FormAttachment(100, 0);
wPartMonthly.setLayoutData(fdPartMonthly);
wPartMonthly.addSelectionListener(lsSelMod);
wPartMonthly.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
wPartMonthly.setSelection(true);
wPartDaily.setSelection(false);
}
});
// Partition per month
wlPartDaily = new Label(wMainComp, SWT.RIGHT);
wlPartDaily.setText(BaseMessages.getString(PKG, "TableOutputDialog.PartDaily.Label"));
wlPartDaily.setToolTipText(BaseMessages.getString(PKG, "TableOutputDialog.PartDaily.Tooltip"));
props.setLook(wlPartDaily);
fdlPartDaily = new FormData();
fdlPartDaily.left = new FormAttachment(0, 0);
fdlPartDaily.top = new FormAttachment(wPartMonthly, margin);
fdlPartDaily.right = new FormAttachment(middle, -margin);
wlPartDaily.setLayoutData(fdlPartDaily);
wPartDaily = new Button(wMainComp, SWT.RADIO);
props.setLook(wPartDaily);
fdPartDaily = new FormData();
fdPartDaily.left = new FormAttachment(middle, 0);
fdPartDaily.top = new FormAttachment(wPartMonthly, margin);
fdPartDaily.right = new FormAttachment(100, 0);
wPartDaily.setLayoutData(fdPartDaily);
wPartDaily.addSelectionListener(lsSelMod);
wPartDaily.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
wPartDaily.setSelection(true);
wPartMonthly.setSelection(false);
}
});
// Batch update
wlBatch = new Label(wMainComp, SWT.RIGHT);
wlBatch.setText(BaseMessages.getString(PKG, "TableOutputDialog.Batch.Label"));
props.setLook(wlBatch);
fdlBatch = new FormData();
fdlBatch.left = new FormAttachment(0, 0);
fdlBatch.top = new FormAttachment(wPartDaily, 5 * margin);
fdlBatch.right = new FormAttachment(middle, -margin);
wlBatch.setLayoutData(fdlBatch);
wBatch = new Button(wMainComp, SWT.CHECK);
props.setLook(wBatch);
fdBatch = new FormData();
fdBatch.left = new FormAttachment(middle, 0);
fdBatch.top = new FormAttachment(wPartDaily, 5 * margin);
fdBatch.right = new FormAttachment(100, 0);
wBatch.setLayoutData(fdBatch);
wBatch.addSelectionListener(lsSelMod);
wBatch.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
setFlags();
}
});
// NameInField
wlNameInField = new Label(wMainComp, SWT.RIGHT);
wlNameInField.setText(BaseMessages.getString(PKG, "TableOutputDialog.NameInField.Label"));
props.setLook(wlNameInField);
fdlNameInField = new FormData();
fdlNameInField.left = new FormAttachment(0, 0);
fdlNameInField.top = new FormAttachment(wBatch, margin * 5);
fdlNameInField.right = new FormAttachment(middle, -margin);
wlNameInField.setLayoutData(fdlNameInField);
wNameInField = new Button(wMainComp, SWT.CHECK);
props.setLook(wNameInField);
fdNameInField = new FormData();
fdNameInField.left = new FormAttachment(middle, 0);
fdNameInField.top = new FormAttachment(wBatch, margin * 5);
fdNameInField.right = new FormAttachment(100, 0);
wNameInField.setLayoutData(fdNameInField);
wNameInField.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent se) {
if (wNameInField.getSelection()) {
wUsePart.setSelection(false);
}
setFlags();
}
});
wNameInField.addSelectionListener(lsSelMod);
// NameField size ...
wlNameField = new Label(wMainComp, SWT.RIGHT);
wlNameField.setText(BaseMessages.getString(PKG, "TableOutputDialog.NameField.Label"));
props.setLook(wlNameField);
fdlNameField = new FormData();
fdlNameField.left = new FormAttachment(0, 0);
fdlNameField.top = new FormAttachment(wNameInField, margin);
fdlNameField.right = new FormAttachment(middle, -margin);
wlNameField.setLayoutData(fdlNameField);
wNameField = new ComboVar(transMeta, wMainComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wNameField);
wNameField.addModifyListener(lsMod);
fdNameField = new FormData();
fdNameField.left = new FormAttachment(middle, 0);
fdNameField.top = new FormAttachment(wNameInField, margin);
fdNameField.right = new FormAttachment(100, 0);
wNameField.setLayoutData(fdNameField);
wNameField.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);
getFields();
shell.setCursor(null);
busy.dispose();
}
});
// NameInTable
wlNameInTable = new Label(wMainComp, SWT.RIGHT);
wlNameInTable.setText(BaseMessages.getString(PKG, "TableOutputDialog.NameInTable.Label"));
props.setLook(wlNameInTable);
fdlNameInTable = new FormData();
fdlNameInTable.left = new FormAttachment(0, 0);
fdlNameInTable.top = new FormAttachment(wNameField, margin);
fdlNameInTable.right = new FormAttachment(middle, -margin);
wlNameInTable.setLayoutData(fdlNameInTable);
wNameInTable = new Button(wMainComp, SWT.CHECK);
props.setLook(wNameInTable);
fdNameInTable = new FormData();
fdNameInTable.left = new FormAttachment(middle, 0);
fdNameInTable.top = new FormAttachment(wNameField, margin);
fdNameInTable.right = new FormAttachment(100, 0);
wNameInTable.setLayoutData(fdNameInTable);
wNameInTable.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
setFlags();
}
});
wNameInTable.addSelectionListener(lsSelMod);
// Return generated keys?
wlReturnKeys = new Label(wMainComp, SWT.RIGHT);
wlReturnKeys.setText(BaseMessages.getString(PKG, "TableOutputDialog.ReturnKeys.Label"));
wlReturnKeys.setToolTipText(BaseMessages.getString(PKG, "TableOutputDialog.ReturnKeys.Tooltip"));
props.setLook(wlReturnKeys);
fdlReturnKeys = new FormData();
fdlReturnKeys.left = new FormAttachment(0, 0);
fdlReturnKeys.top = new FormAttachment(wNameInTable, margin * 5);
fdlReturnKeys.right = new FormAttachment(middle, -margin);
wlReturnKeys.setLayoutData(fdlReturnKeys);
wReturnKeys = new Button(wMainComp, SWT.CHECK);
props.setLook(wReturnKeys);
fdReturnKeys = new FormData();
fdReturnKeys.left = new FormAttachment(middle, 0);
fdReturnKeys.top = new FormAttachment(wNameInTable, margin * 5);
fdReturnKeys.right = new FormAttachment(100, 0);
wReturnKeys.setLayoutData(fdReturnKeys);
wReturnKeys.addSelectionListener(lsSelMod);
wReturnKeys.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
setFlags();
}
});
// ReturnField size ...
wlReturnField = new Label(wMainComp, SWT.RIGHT);
wlReturnField.setText(BaseMessages.getString(PKG, "TableOutputDialog.ReturnField.Label"));
props.setLook(wlReturnField);
fdlReturnField = new FormData();
fdlReturnField.left = new FormAttachment(0, 0);
fdlReturnField.right = new FormAttachment(middle, -margin);
fdlReturnField.top = new FormAttachment(wReturnKeys, margin);
wlReturnField.setLayoutData(fdlReturnField);
wReturnField = new TextVar(transMeta, wMainComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wReturnField);
wReturnField.addModifyListener(lsMod);
fdReturnField = new FormData();
fdReturnField.left = new FormAttachment(middle, 0);
fdReturnField.top = new FormAttachment(wReturnKeys, margin);
fdReturnField.right = new FormAttachment(100, 0);
wReturnField.setLayoutData(fdReturnField);
fdMainComp = new FormData();
fdMainComp.left = new FormAttachment(0, 0);
fdMainComp.top = new FormAttachment(0, 0);
fdMainComp.right = new FormAttachment(100, 0);
fdMainComp.bottom = new FormAttachment(100, 0);
wMainComp.setLayoutData(fdMainComp);
wMainComp.layout();
wMainTab.setControl(wMainComp);
//
// Fields tab...
//
wFieldsTab = new CTabItem(wTabFolder, SWT.NONE);
wFieldsTab.setText(BaseMessages.getString(PKG, "TableOutputDialog.FieldsTab.CTabItem.Title"));
Composite wFieldsComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wFieldsComp);
FormLayout fieldsCompLayout = new FormLayout();
fieldsCompLayout.marginWidth = Const.FORM_MARGIN;
fieldsCompLayout.marginHeight = Const.FORM_MARGIN;
wFieldsComp.setLayout(fieldsCompLayout);
// The fields table
wlFields = new Label(wFieldsComp, SWT.NONE);
wlFields.setText(BaseMessages.getString(PKG, "TableOutputDialog.InsertFields.Label"));
props.setLook(wlFields);
FormData fdlUpIns = new FormData();
fdlUpIns.left = new FormAttachment(0, 0);
fdlUpIns.top = new FormAttachment(0, margin);
wlFields.setLayoutData(fdlUpIns);
int tableCols = 2;
int UpInsRows = (input.getFieldStream() != null ? input.getFieldStream().length : 1);
ciFields = new ColumnInfo[tableCols];
ciFields[0] = new ColumnInfo(BaseMessages.getString(PKG, "TableOutputDialog.ColumnInfo.TableField"), ColumnInfo.COLUMN_TYPE_CCOMBO, new String[] { "" }, false);
ciFields[1] = new ColumnInfo(BaseMessages.getString(PKG, "TableOutputDialog.ColumnInfo.StreamField"), ColumnInfo.COLUMN_TYPE_CCOMBO, new String[] { "" }, false);
tableFieldColumns.add(ciFields[0]);
wFields = new TableView(transMeta, wFieldsComp, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL, ciFields, UpInsRows, lsMod, props);
wGetFields = new Button(wFieldsComp, SWT.PUSH);
wGetFields.setText(BaseMessages.getString(PKG, "TableOutputDialog.GetFields.Button"));
fdGetFields = new FormData();
fdGetFields.top = new FormAttachment(wlFields, margin);
fdGetFields.right = new FormAttachment(100, 0);
wGetFields.setLayoutData(fdGetFields);
wDoMapping = new Button(wFieldsComp, SWT.PUSH);
wDoMapping.setText(BaseMessages.getString(PKG, "TableOutputDialog.DoMapping.Button"));
fdDoMapping = new FormData();
fdDoMapping.top = new FormAttachment(wGetFields, margin);
fdDoMapping.right = new FormAttachment(100, 0);
wDoMapping.setLayoutData(fdDoMapping);
wDoMapping.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event arg0) {
generateMappings();
}
});
FormData fdFields = new FormData();
fdFields.left = new FormAttachment(0, 0);
fdFields.top = new FormAttachment(wlFields, margin);
fdFields.right = new FormAttachment(wDoMapping, -margin);
fdFields.bottom = new FormAttachment(100, -2 * margin);
wFields.setLayoutData(fdFields);
fdFieldsComp = new FormData();
fdFieldsComp.left = new FormAttachment(0, 0);
fdFieldsComp.top = new FormAttachment(0, 0);
fdFieldsComp.right = new FormAttachment(100, 0);
fdFieldsComp.bottom = new FormAttachment(100, 0);
wFieldsComp.setLayoutData(fdFieldsComp);
wFieldsComp.layout();
wFieldsTab.setControl(wFieldsComp);
//
// 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(), i);
}
setComboBoxes();
} catch (KettleException e) {
logError(BaseMessages.getString(PKG, "System.Dialog.GetFieldsFailed.Message"));
}
}
}
};
new Thread(runnable).start();
// Some buttons
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
wCreate = new Button(shell, SWT.PUSH);
wCreate.setText(BaseMessages.getString(PKG, "System.Button.SQL"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
setButtonPositions(new Button[] { wOK, wCancel, wCreate }, margin, null);
fdTabFolder = new FormData();
fdTabFolder.left = new FormAttachment(0, 0);
fdTabFolder.top = new FormAttachment(wSpecifyFields, margin);
fdTabFolder.right = new FormAttachment(100, 0);
fdTabFolder.bottom = new FormAttachment(wOK, -margin);
wTabFolder.setLayoutData(fdTabFolder);
// Add listeners
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
lsCreate = new Listener() {
public void handleEvent(Event e) {
sql();
}
};
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsGet = new Listener() {
public void handleEvent(Event e) {
get();
}
};
wOK.addListener(SWT.Selection, lsOK);
wCreate.addListener(SWT.Selection, lsCreate);
wCancel.addListener(SWT.Selection, lsCancel);
wGetFields.addListener(SWT.Selection, lsGet);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wStepname.addSelectionListener(lsDef);
wCommit.addSelectionListener(lsDef);
wSchema.addSelectionListener(lsDef);
wTable.addSelectionListener(lsDef);
wPartField.addSelectionListener(lsDef);
wNameField.addSelectionListener(lsDef);
wReturnField.addSelectionListener(lsDef);
wbTable.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
getTableName();
}
});
wbSchema.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
getSchemaNames();
}
});
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
wTabFolder.setSelection(0);
// Set the shell size, based upon previous time...
setSize();
getData();
setTableFieldCombo();
input.setChanged(backupChanged);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}
use of org.eclipse.swt.custom.CTabItem in project pentaho-kettle by pentaho.
the class SQLFileOutputDialog 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, "SQLFileOutputDialog.DialogTitle"));
// 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 GENERAL TAB ///
// ////////////////////////
wGeneralTab = new CTabItem(wTabFolder, SWT.NONE);
wGeneralTab.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.GeneralTab.TabTitle"));
wGeneralComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wGeneralComp);
FormLayout generalLayout = new FormLayout();
generalLayout.marginWidth = 3;
generalLayout.marginHeight = 3;
wGeneralComp.setLayout(generalLayout);
// Connection grouping?
// ////////////////////////
// START OF Connection GROUP
//
wGConnection = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wGConnection);
wGConnection.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.Group.ConnectionInfos.Label"));
FormLayout groupLayout = new FormLayout();
groupLayout.marginWidth = 10;
groupLayout.marginHeight = 10;
wGConnection.setLayout(groupLayout);
// Connection line
wConnection = addConnectionLine(wGConnection, wStepname, middle, margin);
if (input.getDatabaseMeta() == null && transMeta.nrDatabases() == 1) {
wConnection.select(0);
}
wConnection.addModifyListener(lsMod);
// Schema line...
wlSchema = new Label(wGConnection, SWT.RIGHT);
wlSchema.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.TargetSchema.Label"));
props.setLook(wlSchema);
fdlSchema = new FormData();
fdlSchema.left = new FormAttachment(0, 0);
fdlSchema.right = new FormAttachment(middle, -margin);
fdlSchema.top = new FormAttachment(wConnection, margin);
wlSchema.setLayoutData(fdlSchema);
wSchema = new TextVar(transMeta, wGConnection, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wSchema);
wSchema.addModifyListener(lsMod);
wSchema.setToolTipText(BaseMessages.getString(PKG, "SQLFileOutputDialog.TargetSchema.Tooltip"));
fdSchema = new FormData();
fdSchema.left = new FormAttachment(middle, 0);
fdSchema.top = new FormAttachment(wConnection, margin);
fdSchema.right = new FormAttachment(100, 0);
wSchema.setLayoutData(fdSchema);
// Table line...
wlTable = new Label(wGConnection, SWT.RIGHT);
wlTable.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.TargetTable.Label"));
props.setLook(wlTable);
fdlTable = new FormData();
fdlTable.left = new FormAttachment(0, 0);
fdlTable.right = new FormAttachment(middle, -margin);
fdlTable.top = new FormAttachment(wSchema, margin);
wlTable.setLayoutData(fdlTable);
wbTable = new Button(wGConnection, SWT.PUSH | SWT.CENTER);
props.setLook(wbTable);
wbTable.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
fdbTable = new FormData();
fdbTable.right = new FormAttachment(100, 0);
fdbTable.top = new FormAttachment(wSchema, margin);
wbTable.setLayoutData(fdbTable);
wTable = new TextVar(transMeta, wGConnection, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wTable);
wTable.setToolTipText(BaseMessages.getString(PKG, "SQLFileOutputDialog.TargetTable.Tooltip"));
wTable.addModifyListener(lsMod);
fdTable = new FormData();
fdTable.top = new FormAttachment(wSchema, margin);
fdTable.left = new FormAttachment(middle, 0);
fdTable.right = new FormAttachment(wbTable, -margin);
wTable.setLayoutData(fdTable);
fdGConnection = new FormData();
fdGConnection.left = new FormAttachment(0, margin);
fdGConnection.top = new FormAttachment(wStepname, margin);
fdGConnection.right = new FormAttachment(100, -margin);
wGConnection.setLayoutData(fdGConnection);
// ///////////////////////////////////////////////////////////
// / END OF Connection GROUP
// ///////////////////////////////////////////////////////////
// Connection grouping?
// ////////////////////////
// START OF FileName GROUP
//
wFileName = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wFileName);
wFileName.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.Group.File.Label"));
FormLayout groupFileLayout = new FormLayout();
groupFileLayout.marginWidth = 10;
groupFileLayout.marginHeight = 10;
wFileName.setLayout(groupFileLayout);
// Add Create table
wlAddCreate = new Label(wFileName, SWT.RIGHT);
wlAddCreate.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.CreateTable.Label"));
props.setLook(wlAddCreate);
fdlAddCreate = new FormData();
fdlAddCreate.left = new FormAttachment(0, 0);
fdlAddCreate.top = new FormAttachment(wGConnection, margin);
fdlAddCreate.right = new FormAttachment(middle, -margin);
wlAddCreate.setLayoutData(fdlAddCreate);
wAddCreate = new Button(wFileName, SWT.CHECK);
wAddCreate.setToolTipText(BaseMessages.getString(PKG, "SQLFileOutputDialog.CreateTable.Tooltip"));
props.setLook(wAddCreate);
fdAddCreate = new FormData();
fdAddCreate.left = new FormAttachment(middle, 0);
fdAddCreate.top = new FormAttachment(wGConnection, margin);
fdAddCreate.right = new FormAttachment(100, 0);
wAddCreate.setLayoutData(fdAddCreate);
SelectionAdapter lsSelMod = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
ActiveTruncate();
input.setChanged();
}
};
wAddCreate.addSelectionListener(lsSelMod);
// Truncate table
wlTruncate = new Label(wFileName, SWT.RIGHT);
wlTruncate.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.TruncateTable.Label"));
props.setLook(wlTruncate);
fdlTruncate = new FormData();
fdlTruncate.left = new FormAttachment(0, 0);
fdlTruncate.top = new FormAttachment(wAddCreate, margin);
fdlTruncate.right = new FormAttachment(middle, -margin);
wlTruncate.setLayoutData(fdlTruncate);
wTruncate = new Button(wFileName, SWT.CHECK);
wTruncate.setToolTipText(BaseMessages.getString(PKG, "SQLFileOutputDialog.TruncateTable.Tooltip"));
props.setLook(wTruncate);
fdTruncate = new FormData();
fdTruncate.left = new FormAttachment(middle, 0);
fdTruncate.top = new FormAttachment(wAddCreate, margin);
fdTruncate.right = new FormAttachment(100, 0);
wTruncate.setLayoutData(fdTruncate);
SelectionAdapter lsSelTMod = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
input.setChanged();
}
};
wTruncate.addSelectionListener(lsSelTMod);
// Start New Line For each statement
wlStartNewLine = new Label(wFileName, SWT.RIGHT);
wlStartNewLine.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.StartNewLine.Label"));
props.setLook(wlStartNewLine);
fdlStartNewLine = new FormData();
fdlStartNewLine.left = new FormAttachment(0, 0);
fdlStartNewLine.top = new FormAttachment(wTruncate, margin);
fdlStartNewLine.right = new FormAttachment(middle, -margin);
wlStartNewLine.setLayoutData(fdlStartNewLine);
wStartNewLine = new Button(wFileName, SWT.CHECK);
wStartNewLine.setToolTipText(BaseMessages.getString(PKG, "SQLFileOutputDialog.StartNewLine.Label"));
props.setLook(wStartNewLine);
fdStartNewLine = new FormData();
fdStartNewLine.left = new FormAttachment(middle, 0);
fdStartNewLine.top = new FormAttachment(wTruncate, margin);
fdStartNewLine.right = new FormAttachment(100, 0);
wStartNewLine.setLayoutData(fdStartNewLine);
SelectionAdapter lsSelSMod = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
input.setChanged();
}
};
wStartNewLine.addSelectionListener(lsSelSMod);
// Filename line
wlFilename = new Label(wFileName, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.Filename.Label"));
props.setLook(wlFilename);
fdlFilename = new FormData();
fdlFilename.left = new FormAttachment(0, 0);
fdlFilename.top = new FormAttachment(wStartNewLine, 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(wStartNewLine, 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(wStartNewLine, margin);
fdFilename.right = new FormAttachment(wbFilename, -margin);
wFilename.setLayoutData(fdFilename);
// Create Parent Folder
wlCreateParentFolder = new Label(wFileName, SWT.RIGHT);
wlCreateParentFolder.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.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, "SQLFileOutputDialog.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();
}
});
// Open new File at Init
wlDoNotOpenNewFileInit = new Label(wFileName, SWT.RIGHT);
wlDoNotOpenNewFileInit.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.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, "SQLFileOutputDialog.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);
// Create multi-part file?
wlAddStepnr = new Label(wFileName, SWT.RIGHT);
wlAddStepnr.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.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, "SQLFileOutputDialog.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();
}
});
// Create multi-part file?
wlAddTime = new Label(wFileName, SWT.RIGHT);
wlAddTime.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.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();
}
});
// Append to end of file?
wlAppend = new Label(wFileName, SWT.RIGHT);
wlAppend.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.Append.Label"));
props.setLook(wlAppend);
fdlAppend = new FormData();
fdlAppend.left = new FormAttachment(0, 0);
fdlAppend.top = new FormAttachment(wAddTime, margin);
fdlAppend.right = new FormAttachment(middle, -margin);
wlAppend.setLayoutData(fdlAppend);
wAppend = new Button(wFileName, SWT.CHECK);
wAppend.setToolTipText(BaseMessages.getString(PKG, "SQLFileOutputDialog.Append.Tooltip"));
props.setLook(wAppend);
fdAppend = new FormData();
fdAppend.left = new FormAttachment(middle, 0);
fdAppend.top = new FormAttachment(wAddTime, margin);
fdAppend.right = new FormAttachment(100, 0);
wAppend.setLayoutData(fdAppend);
wAppend.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
input.setChanged();
}
});
wlSplitEvery = new Label(wFileName, SWT.RIGHT);
wlSplitEvery.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.SplitEvery.Label"));
props.setLook(wlSplitEvery);
fdlSplitEvery = new FormData();
fdlSplitEvery.left = new FormAttachment(0, 0);
fdlSplitEvery.top = new FormAttachment(wAppend, margin);
fdlSplitEvery.right = new FormAttachment(middle, -margin);
wlSplitEvery.setLayoutData(fdlSplitEvery);
wSplitEvery = new Text(wFileName, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wSplitEvery);
wSplitEvery.addModifyListener(lsMod);
fdSplitEvery = new FormData();
fdSplitEvery.left = new FormAttachment(middle, 0);
fdSplitEvery.top = new FormAttachment(wAppend, margin);
fdSplitEvery.right = new FormAttachment(100, 0);
wSplitEvery.setLayoutData(fdSplitEvery);
wbShowFiles = new Button(wFileName, SWT.PUSH | SWT.CENTER);
props.setLook(wbShowFiles);
wbShowFiles.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.ShowFiles.Button"));
fdbShowFiles = new FormData();
fdbShowFiles.left = new FormAttachment(middle, 0);
fdbShowFiles.top = new FormAttachment(wSplitEvery, margin * 2);
wbShowFiles.setLayoutData(fdbShowFiles);
wbShowFiles.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
SQLFileOutputMeta tfoi = new SQLFileOutputMeta();
getInfo(tfoi);
String[] files = tfoi.getFiles(transMeta.environmentSubstitute(wFilename.getText()));
if (files != null && files.length > 0) {
EnterSelectionDialog esd = new EnterSelectionDialog(shell, files, BaseMessages.getString(PKG, "SQLFileOutputDialog.SelectOutputFiles.DialogTitle"), BaseMessages.getString(PKG, "SQLFileOutputDialog.SelectOutputFiles.DialogMessage"));
esd.setViewOnly();
esd.open();
} else {
MessageBox mb = new MessageBox(shell, SWT.OK | SWT.ICON_ERROR);
mb.setMessage(BaseMessages.getString(PKG, "SQLFileOutputDialog.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, "SQLFileOutputDialog.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, "SQLFileOutputDialog.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(wGConnection, 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(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 CONTENT TAB///
// /
wContentTab = new CTabItem(wTabFolder, SWT.NONE);
wContentTab.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.ContentTab.TabTitle"));
FormLayout contentLayout = new FormLayout();
contentLayout.marginWidth = 3;
contentLayout.marginHeight = 3;
wContentComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wContentComp);
wContentComp.setLayout(contentLayout);
// Prepare a list of possible formats...
String[] dats = Const.getDateFormats();
// format
wlFormat = new Label(wContentComp, SWT.RIGHT);
wlFormat.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.DateFormat.Label"));
props.setLook(wlFormat);
fdlFormat = new FormData();
fdlFormat.left = new FormAttachment(0, 0);
fdlFormat.top = new FormAttachment(0, margin);
fdlFormat.right = new FormAttachment(middle, -margin);
wlFormat.setLayoutData(fdlFormat);
wFormat = new CCombo(wContentComp, SWT.BORDER | SWT.READ_ONLY);
wFormat.setEditable(true);
props.setLook(wFormat);
wFormat.addModifyListener(lsMod);
fdFormat = new FormData();
fdFormat.left = new FormAttachment(middle, 0);
fdFormat.top = new FormAttachment(0, margin);
fdFormat.right = new FormAttachment(100, 0);
wFormat.setLayoutData(fdFormat);
for (int x = 0; x < dats.length; x++) {
wFormat.add(dats[x]);
}
// Encoding
wlEncoding = new Label(wContentComp, SWT.RIGHT);
wlEncoding.setText(BaseMessages.getString(PKG, "SQLFileOutputDialog.Encoding.Label"));
props.setLook(wlEncoding);
fdlEncoding = new FormData();
fdlEncoding.left = new FormAttachment(0, 0);
fdlEncoding.top = new FormAttachment(wFormat, margin);
fdlEncoding.right = new FormAttachment(middle, -margin);
wlEncoding.setLayoutData(fdlEncoding);
wEncoding = new CCombo(wContentComp, 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(wFormat, 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();
}
});
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);
// Some buttons
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
wCreate = new Button(shell, SWT.PUSH);
wCreate.setText(BaseMessages.getString(PKG, "System.Button.SQL"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
setButtonPositions(new Button[] { wOK, wCreate, wCancel }, margin, wTabFolder);
// Add listeners
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
lsCreate = new Listener() {
public void handleEvent(Event e) {
sql();
}
};
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
wOK.addListener(SWT.Selection, lsOK);
wCreate.addListener(SWT.Selection, lsCreate);
wCancel.addListener(SWT.Selection, lsCancel);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wStepname.addSelectionListener(lsDef);
wSchema.addSelectionListener(lsDef);
wTable.addSelectionListener(lsDef);
wbTable.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
getTableName();
}
});
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();
ActiveTruncate();
// backupChanged);
input.setChanged(changed);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}
Aggregations