use of org.pentaho.di.ui.core.widget.ColumnInfo in project pentaho-kettle by pentaho.
the class PartitionSchemaDialog 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().getImageSpoon());
lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
partitionSchema.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, "PartitionSchemaDialog.Shell.Title"));
shell.setLayout(formLayout);
// First, add the buttons...
// Buttons
wOK = new Button(shell, SWT.PUSH);
wOK.setText(" &OK ");
wGet = new Button(shell, SWT.PUSH);
wGet.setText(BaseMessages.getString(PKG, "PartitionSchema.ImportPartitions"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(" &Cancel ");
Button[] buttons = new Button[] { wOK, wGet, 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, "PartitionSchemaDialog.PartitionName.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);
// is the schema defined dynamically using the number of slave servers in the used cluster.
//
Label wlDynamic = new Label(shell, SWT.RIGHT);
props.setLook(wlDynamic);
wlDynamic.setText(BaseMessages.getString(PKG, "PartitionSchemaDialog.Dynamic.Label"));
FormData fdlDynamic = new FormData();
fdlDynamic.top = new FormAttachment(wName, 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);
props.setLook(wDynamic);
wDynamic.setToolTipText(BaseMessages.getString(PKG, "PartitionSchemaDialog.Dynamic.Tooltip"));
FormData fdDynamic = new FormData();
fdDynamic.top = new FormAttachment(wName, margin);
// To the right of the label
fdDynamic.left = new FormAttachment(middle, margin);
fdDynamic.right = new FormAttachment(95, 0);
wDynamic.setLayoutData(fdDynamic);
// The number of partitions per cluster schema
//
Label wlNumber = new Label(shell, SWT.RIGHT);
props.setLook(wlNumber);
wlNumber.setText(BaseMessages.getString(PKG, "PartitionSchemaDialog.Number.Label"));
FormData fdlNumber = new FormData();
fdlNumber.top = new FormAttachment(wDynamic, margin);
// First one in the left top corner
fdlNumber.left = new FormAttachment(0, 0);
fdlNumber.right = new FormAttachment(middle, 0);
wlNumber.setLayoutData(fdlNumber);
wNumber = new TextVar(variableSpace, shell, SWT.LEFT | SWT.BORDER | SWT.SINGLE, BaseMessages.getString(PKG, "PartitionSchemaDialog.Number.Tooltip"));
props.setLook(wNumber);
FormData fdNumber = new FormData();
fdNumber.top = new FormAttachment(wDynamic, margin);
// To the right of the label
fdNumber.left = new FormAttachment(middle, margin);
fdNumber.right = new FormAttachment(95, 0);
wNumber.setLayoutData(fdNumber);
// Schema list:
Label wlPartitions = new Label(shell, SWT.RIGHT);
wlPartitions.setText(BaseMessages.getString(PKG, "PartitionSchemaDialog.Partitions.Label"));
props.setLook(wlPartitions);
FormData fdlPartitions = new FormData();
fdlPartitions.left = new FormAttachment(0, 0);
fdlPartitions.right = new FormAttachment(middle, 0);
fdlPartitions.top = new FormAttachment(wNumber, margin);
wlPartitions.setLayoutData(fdlPartitions);
ColumnInfo[] partitionColumns = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "PartitionSchemaDialog.PartitionID.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false, false) };
wPartitions = new // probably better push this up. TODO
TableView(// probably better push this up. TODO
Variables.getADefaultVariableSpace(), shell, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI, partitionColumns, 1, lsMod, props);
props.setLook(wPartitions);
FormData fdPartitions = new FormData();
fdPartitions.left = new FormAttachment(middle, margin);
fdPartitions.right = new FormAttachment(100, 0);
fdPartitions.top = new FormAttachment(wNumber, margin);
fdPartitions.bottom = new FormAttachment(wOK, -margin * 2);
wPartitions.setLayoutData(fdPartitions);
// Add listeners
wOK.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
ok();
}
});
wGet.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
importPartitions();
}
});
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);
// 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.ColumnInfo in project pentaho-kettle by pentaho.
the class JobEntryMoveFilesDialog method open.
public JobEntryInterface open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, props.getJobsDialogStyle());
props.setLook(shell);
JobDialog.setShellImage(shell, jobEntry);
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
jobEntry.setChanged();
}
};
changed = jobEntry.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "JobMoveFiles.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Filename line
wlName = new Label(shell, SWT.RIGHT);
wlName.setText(BaseMessages.getString(PKG, "JobMoveFiles.Name.Label"));
props.setLook(wlName);
fdlName = new FormData();
fdlName.left = new FormAttachment(0, 0);
fdlName.right = new FormAttachment(middle, -margin);
fdlName.top = new FormAttachment(0, margin);
wlName.setLayoutData(fdlName);
wName = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wName);
wName.addModifyListener(lsMod);
fdName = new FormData();
fdName.left = new FormAttachment(middle, 0);
fdName.top = new FormAttachment(0, margin);
fdName.right = new FormAttachment(100, 0);
wName.setLayoutData(fdName);
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, "JobMoveFiles.Tab.General.Label"));
wGeneralComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wGeneralComp);
FormLayout generalLayout = new FormLayout();
generalLayout.marginWidth = 3;
generalLayout.marginHeight = 3;
wGeneralComp.setLayout(generalLayout);
// SETTINGS grouping?
// ////////////////////////
// START OF SETTINGS GROUP
//
wSettings = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wSettings);
wSettings.setText(BaseMessages.getString(PKG, "JobMoveFiles.Settings.Label"));
FormLayout groupLayout = new FormLayout();
groupLayout.marginWidth = 10;
groupLayout.marginHeight = 10;
wSettings.setLayout(groupLayout);
wlIncludeSubfolders = new Label(wSettings, SWT.RIGHT);
wlIncludeSubfolders.setText(BaseMessages.getString(PKG, "JobMoveFiles.IncludeSubfolders.Label"));
props.setLook(wlIncludeSubfolders);
fdlIncludeSubfolders = new FormData();
fdlIncludeSubfolders.left = new FormAttachment(0, 0);
fdlIncludeSubfolders.top = new FormAttachment(wName, margin);
fdlIncludeSubfolders.right = new FormAttachment(middle, -margin);
wlIncludeSubfolders.setLayoutData(fdlIncludeSubfolders);
wIncludeSubfolders = new Button(wSettings, SWT.CHECK);
props.setLook(wIncludeSubfolders);
wIncludeSubfolders.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.IncludeSubfolders.Tooltip"));
fdIncludeSubfolders = new FormData();
fdIncludeSubfolders.left = new FormAttachment(middle, 0);
fdIncludeSubfolders.top = new FormAttachment(wName, margin);
fdIncludeSubfolders.right = new FormAttachment(100, 0);
wIncludeSubfolders.setLayoutData(fdIncludeSubfolders);
wIncludeSubfolders.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
CheckIncludeSubFolders();
}
});
// Copy empty folders
wlMoveEmptyFolders = new Label(wSettings, SWT.RIGHT);
wlMoveEmptyFolders.setText(BaseMessages.getString(PKG, "JobMoveFiles.MoveEmptyFolders.Label"));
props.setLook(wlMoveEmptyFolders);
fdlMoveEmptyFolders = new FormData();
fdlMoveEmptyFolders.left = new FormAttachment(0, 0);
fdlMoveEmptyFolders.top = new FormAttachment(wIncludeSubfolders, margin);
fdlMoveEmptyFolders.right = new FormAttachment(middle, -margin);
wlMoveEmptyFolders.setLayoutData(fdlMoveEmptyFolders);
wMoveEmptyFolders = new Button(wSettings, SWT.CHECK);
props.setLook(wMoveEmptyFolders);
wMoveEmptyFolders.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.MoveEmptyFolders.Tooltip"));
fdMoveEmptyFolders = new FormData();
fdMoveEmptyFolders.left = new FormAttachment(middle, 0);
fdMoveEmptyFolders.top = new FormAttachment(wIncludeSubfolders, margin);
fdMoveEmptyFolders.right = new FormAttachment(100, 0);
wMoveEmptyFolders.setLayoutData(fdMoveEmptyFolders);
wMoveEmptyFolders.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// Simulate?
wlSimulate = new Label(wSettings, SWT.RIGHT);
wlSimulate.setText(BaseMessages.getString(PKG, "JobMoveFiles.Simulate.Label"));
props.setLook(wlSimulate);
fdlSimulate = new FormData();
fdlSimulate.left = new FormAttachment(0, 0);
fdlSimulate.top = new FormAttachment(wMoveEmptyFolders, margin);
fdlSimulate.right = new FormAttachment(middle, -margin);
wlSimulate.setLayoutData(fdlSimulate);
wSimulate = new Button(wSettings, SWT.CHECK);
props.setLook(wSimulate);
wSimulate.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.Simulate.Tooltip"));
fdSimulate = new FormData();
fdSimulate.left = new FormAttachment(middle, 0);
fdSimulate.top = new FormAttachment(wMoveEmptyFolders, margin);
fdSimulate.right = new FormAttachment(100, 0);
wSimulate.setLayoutData(fdSimulate);
wSimulate.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// previous
wlPrevious = new Label(wSettings, SWT.RIGHT);
wlPrevious.setText(BaseMessages.getString(PKG, "JobMoveFiles.Previous.Label"));
props.setLook(wlPrevious);
fdlPrevious = new FormData();
fdlPrevious.left = new FormAttachment(0, 0);
fdlPrevious.top = new FormAttachment(wSimulate, margin);
fdlPrevious.right = new FormAttachment(middle, -margin);
wlPrevious.setLayoutData(fdlPrevious);
wPrevious = new Button(wSettings, SWT.CHECK);
props.setLook(wPrevious);
wPrevious.setSelection(jobEntry.arg_from_previous);
wPrevious.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.Previous.Tooltip"));
fdPrevious = new FormData();
fdPrevious.left = new FormAttachment(middle, 0);
fdPrevious.top = new FormAttachment(wSimulate, margin);
fdPrevious.right = new FormAttachment(100, 0);
wPrevious.setLayoutData(fdPrevious);
wPrevious.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
RefreshArgFromPrevious();
}
});
fdSettings = new FormData();
fdSettings.left = new FormAttachment(0, margin);
fdSettings.top = new FormAttachment(wName, margin);
fdSettings.right = new FormAttachment(100, -margin);
wSettings.setLayoutData(fdSettings);
// ///////////////////////////////////////////////////////////
// / END OF SETTINGS GROUP
// ///////////////////////////////////////////////////////////
// SourceFileFolder line
wlSourceFileFolder = new Label(wGeneralComp, SWT.RIGHT);
wlSourceFileFolder.setText(BaseMessages.getString(PKG, "JobMoveFiles.SourceFileFolder.Label"));
props.setLook(wlSourceFileFolder);
FormData fdlSourceFileFolder = new FormData();
fdlSourceFileFolder.left = new FormAttachment(0, 0);
fdlSourceFileFolder.top = new FormAttachment(wSettings, 2 * margin);
fdlSourceFileFolder.right = new FormAttachment(middle, -margin);
wlSourceFileFolder.setLayoutData(fdlSourceFileFolder);
// Browse Source folders button ...
wbSourceDirectory = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbSourceDirectory);
wbSourceDirectory.setText(BaseMessages.getString(PKG, "JobMoveFiles.BrowseFolders.Label"));
FormData fdbSourceDirectory = new FormData();
fdbSourceDirectory.right = new FormAttachment(100, 0);
fdbSourceDirectory.top = new FormAttachment(wSettings, margin);
wbSourceDirectory.setLayoutData(fdbSourceDirectory);
wbSourceDirectory.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
DirectoryDialog ddialog = new DirectoryDialog(shell, SWT.OPEN);
if (wSourceFileFolder.getText() != null) {
ddialog.setFilterPath(jobMeta.environmentSubstitute(wSourceFileFolder.getText()));
}
// Calling open() will open and run the dialog.
// It will return the selected directory, or
// null if user cancels
String dir = ddialog.open();
if (dir != null) {
// Set the text box to the new selection
wSourceFileFolder.setText(dir);
}
}
});
// Browse Source files button ...
wbSourceFileFolder = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbSourceFileFolder);
wbSourceFileFolder.setText(BaseMessages.getString(PKG, "JobMoveFiles.BrowseFiles.Label"));
FormData fdbSourceFileFolder = new FormData();
fdbSourceFileFolder.right = new FormAttachment(wbSourceDirectory, -margin);
fdbSourceFileFolder.top = new FormAttachment(wSettings, margin);
wbSourceFileFolder.setLayoutData(fdbSourceFileFolder);
// Browse Destination file add button ...
wbaSourceFileFolder = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbaSourceFileFolder);
wbaSourceFileFolder.setText(BaseMessages.getString(PKG, "JobMoveFiles.FilenameAdd.Button"));
fdbaSourceFileFolder = new FormData();
fdbaSourceFileFolder.right = new FormAttachment(wbSourceFileFolder, -margin);
fdbaSourceFileFolder.top = new FormAttachment(wSettings, margin);
wbaSourceFileFolder.setLayoutData(fdbaSourceFileFolder);
wSourceFileFolder = new TextVar(jobMeta, wGeneralComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wSourceFileFolder.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.SourceFileFolder.Tooltip"));
props.setLook(wSourceFileFolder);
wSourceFileFolder.addModifyListener(lsMod);
FormData fdSourceFileFolder = new FormData();
fdSourceFileFolder.left = new FormAttachment(middle, 0);
fdSourceFileFolder.top = new FormAttachment(wSettings, 2 * margin);
fdSourceFileFolder.right = new FormAttachment(wbSourceFileFolder, -55);
wSourceFileFolder.setLayoutData(fdSourceFileFolder);
// Whenever something changes, set the tooltip to the expanded version:
wSourceFileFolder.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wSourceFileFolder.setToolTipText(jobMeta.environmentSubstitute(wSourceFileFolder.getText()));
}
});
wbSourceFileFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*" });
if (wSourceFileFolder.getText() != null) {
dialog.setFileName(jobMeta.environmentSubstitute(wSourceFileFolder.getText()));
}
dialog.setFilterNames(FILETYPES);
if (dialog.open() != null) {
wSourceFileFolder.setText(dialog.getFilterPath() + Const.FILE_SEPARATOR + dialog.getFileName());
}
}
});
// Destination
wlDestinationFileFolder = new Label(wGeneralComp, SWT.RIGHT);
wlDestinationFileFolder.setText(BaseMessages.getString(PKG, "JobMoveFiles.DestinationFileFolder.Label"));
props.setLook(wlDestinationFileFolder);
fdlDestinationFileFolder = new FormData();
fdlDestinationFileFolder.left = new FormAttachment(0, 0);
fdlDestinationFileFolder.top = new FormAttachment(wSourceFileFolder, margin);
fdlDestinationFileFolder.right = new FormAttachment(middle, -margin);
wlDestinationFileFolder.setLayoutData(fdlDestinationFileFolder);
// Browse Destination folders button ...
wbDestinationDirectory = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbDestinationDirectory);
wbDestinationDirectory.setText(BaseMessages.getString(PKG, "JobMoveFiles.BrowseFolders.Label"));
FormData fdbDestinationDirectory = new FormData();
fdbDestinationDirectory.right = new FormAttachment(100, 0);
fdbDestinationDirectory.top = new FormAttachment(wSourceFileFolder, margin);
wbDestinationDirectory.setLayoutData(fdbDestinationDirectory);
wbDestinationDirectory.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
DirectoryDialog ddialog = new DirectoryDialog(shell, SWT.OPEN);
if (wDestinationFileFolder.getText() != null) {
ddialog.setFilterPath(jobMeta.environmentSubstitute(wDestinationFileFolder.getText()));
}
// Calling open() will open and run the dialog.
// It will return the selected directory, or
// null if user cancels
String dir = ddialog.open();
if (dir != null) {
// Set the text box to the new selection
wDestinationFileFolder.setText(dir);
}
}
});
// Browse Destination file browse button ...
wbDestinationFileFolder = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbDestinationFileFolder);
wbDestinationFileFolder.setText(BaseMessages.getString(PKG, "JobMoveFiles.BrowseFiles.Label"));
FormData fdbDestinationFileFolder = new FormData();
fdbDestinationFileFolder.right = new FormAttachment(wbDestinationDirectory, -margin);
fdbDestinationFileFolder.top = new FormAttachment(wSourceFileFolder, margin);
wbDestinationFileFolder.setLayoutData(fdbDestinationFileFolder);
wDestinationFileFolder = new TextVar(jobMeta, wGeneralComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wDestinationFileFolder.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.DestinationFileFolder.Tooltip"));
props.setLook(wDestinationFileFolder);
wDestinationFileFolder.addModifyListener(lsMod);
fdDestinationFileFolder = new FormData();
fdDestinationFileFolder.left = new FormAttachment(middle, 0);
fdDestinationFileFolder.top = new FormAttachment(wSourceFileFolder, margin);
fdDestinationFileFolder.right = new FormAttachment(wbSourceFileFolder, -55);
wDestinationFileFolder.setLayoutData(fdDestinationFileFolder);
wbDestinationFileFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*" });
if (wDestinationFileFolder.getText() != null) {
dialog.setFileName(jobMeta.environmentSubstitute(wDestinationFileFolder.getText()));
}
dialog.setFilterNames(FILETYPES);
if (dialog.open() != null) {
wDestinationFileFolder.setText(dialog.getFilterPath() + Const.FILE_SEPARATOR + dialog.getFileName());
}
}
});
// Buttons to the right of the screen...
wbdSourceFileFolder = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbdSourceFileFolder);
wbdSourceFileFolder.setText(BaseMessages.getString(PKG, "JobMoveFiles.FilenameDelete.Button"));
wbdSourceFileFolder.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.FilenameDelete.Tooltip"));
fdbdSourceFileFolder = new FormData();
fdbdSourceFileFolder.right = new FormAttachment(100, 0);
fdbdSourceFileFolder.top = new FormAttachment(wDestinationFileFolder, 40);
wbdSourceFileFolder.setLayoutData(fdbdSourceFileFolder);
wbeSourceFileFolder = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbeSourceFileFolder);
wbeSourceFileFolder.setText(BaseMessages.getString(PKG, "JobMoveFiles.FilenameEdit.Button"));
wbeSourceFileFolder.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.FilenameEdit.Tooltip"));
fdbeSourceFileFolder = new FormData();
fdbeSourceFileFolder.right = new FormAttachment(100, 0);
fdbeSourceFileFolder.left = new FormAttachment(wbdSourceFileFolder, 0, SWT.LEFT);
fdbeSourceFileFolder.top = new FormAttachment(wbdSourceFileFolder, margin);
wbeSourceFileFolder.setLayoutData(fdbeSourceFileFolder);
// Wildcard
wlWildcard = new Label(wGeneralComp, SWT.RIGHT);
wlWildcard.setText(BaseMessages.getString(PKG, "JobMoveFiles.Wildcard.Label"));
props.setLook(wlWildcard);
fdlWildcard = new FormData();
fdlWildcard.left = new FormAttachment(0, 0);
fdlWildcard.top = new FormAttachment(wDestinationFileFolder, margin);
fdlWildcard.right = new FormAttachment(middle, -margin);
wlWildcard.setLayoutData(fdlWildcard);
wWildcard = new TextVar(jobMeta, wGeneralComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wWildcard.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.Wildcard.Tooltip"));
props.setLook(wWildcard);
wWildcard.addModifyListener(lsMod);
fdWildcard = new FormData();
fdWildcard.left = new FormAttachment(middle, 0);
fdWildcard.top = new FormAttachment(wDestinationFileFolder, margin);
fdWildcard.right = new FormAttachment(wbSourceFileFolder, -55);
wWildcard.setLayoutData(fdWildcard);
wlFields = new Label(wGeneralComp, SWT.NONE);
wlFields.setText(BaseMessages.getString(PKG, "JobMoveFiles.Fields.Label"));
props.setLook(wlFields);
fdlFields = new FormData();
fdlFields.left = new FormAttachment(0, 0);
fdlFields.right = new FormAttachment(middle, -margin);
fdlFields.top = new FormAttachment(wWildcard, margin);
wlFields.setLayoutData(fdlFields);
int rows = jobEntry.source_filefolder == null ? 1 : (jobEntry.source_filefolder.length == 0 ? 0 : jobEntry.source_filefolder.length);
final int FieldsRows = rows;
ColumnInfo[] colinf = new ColumnInfo[] { new ColumnInfo(BaseMessages.getString(PKG, "JobMoveFiles.Fields.SourceFileFolder.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "JobMoveFiles.Fields.DestinationFileFolder.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "JobMoveFiles.Fields.Wildcard.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false) };
colinf[0].setUsingVariables(true);
colinf[0].setToolTip(BaseMessages.getString(PKG, "JobMoveFiles.Fields.SourceFileFolder.Tooltip"));
colinf[1].setUsingVariables(true);
colinf[1].setToolTip(BaseMessages.getString(PKG, "JobMoveFiles.Fields.DestinationFileFolder.Tooltip"));
colinf[2].setUsingVariables(true);
colinf[2].setToolTip(BaseMessages.getString(PKG, "JobMoveFiles.Fields.Wildcard.Tooltip"));
wFields = new TableView(jobMeta, wGeneralComp, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI, colinf, FieldsRows, lsMod, props);
fdFields = new FormData();
fdFields.left = new FormAttachment(0, 0);
fdFields.top = new FormAttachment(wlFields, margin);
fdFields.right = new FormAttachment(100, -75);
fdFields.bottom = new FormAttachment(100, -margin);
wFields.setLayoutData(fdFields);
RefreshArgFromPrevious();
// Add the file to the list of files...
SelectionAdapter selA = new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
wFields.add(new String[] { wSourceFileFolder.getText(), wDestinationFileFolder.getText(), wWildcard.getText() });
wSourceFileFolder.setText("");
wDestinationFileFolder.setText("");
wWildcard.setText("");
wFields.removeEmptyRows();
wFields.setRowNums();
wFields.optWidth(true);
}
};
wbaSourceFileFolder.addSelectionListener(selA);
wSourceFileFolder.addSelectionListener(selA);
// Delete files from the list of files...
wbdSourceFileFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
int[] idx = wFields.getSelectionIndices();
wFields.remove(idx);
wFields.removeEmptyRows();
wFields.setRowNums();
}
});
// Edit the selected file & remove from the list...
wbeSourceFileFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent arg0) {
int idx = wFields.getSelectionIndex();
if (idx >= 0) {
String[] string = wFields.getItem(idx);
wSourceFileFolder.setText(string[0]);
wDestinationFileFolder.setText(string[1]);
wWildcard.setText(string[2]);
wFields.remove(idx);
}
wFields.removeEmptyRows();
wFields.setRowNums();
}
});
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 DESTINATION FILE TAB ///
// ///////////////////////////////////
wDestinationFileTab = new CTabItem(wTabFolder, SWT.NONE);
wDestinationFileTab.setText(BaseMessages.getString(PKG, "JobMoveFiles.DestinationFileTab.Label"));
FormLayout DestcontentLayout = new FormLayout();
DestcontentLayout.marginWidth = 3;
DestcontentLayout.marginHeight = 3;
wDestinationFileComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wDestinationFileComp);
wDestinationFileComp.setLayout(DestcontentLayout);
// DestinationFile grouping?
// ////////////////////////
// START OF DestinationFile GROUP
//
wDestinationFile = new Group(wDestinationFileComp, SWT.SHADOW_NONE);
props.setLook(wDestinationFile);
wDestinationFile.setText(BaseMessages.getString(PKG, "JobMoveFiles.GroupDestinationFile.Label"));
FormLayout groupLayoutFile = new FormLayout();
groupLayoutFile.marginWidth = 10;
groupLayoutFile.marginHeight = 10;
wDestinationFile.setLayout(groupLayoutFile);
// Create destination folder/parent folder
wlCreateDestinationFolder = new Label(wDestinationFile, SWT.RIGHT);
wlCreateDestinationFolder.setText(BaseMessages.getString(PKG, "JobMoveFiles.CreateDestinationFolder.Label"));
props.setLook(wlCreateDestinationFolder);
fdlCreateDestinationFolder = new FormData();
fdlCreateDestinationFolder.left = new FormAttachment(0, 0);
fdlCreateDestinationFolder.top = new FormAttachment(0, margin);
fdlCreateDestinationFolder.right = new FormAttachment(middle, -margin);
wlCreateDestinationFolder.setLayoutData(fdlCreateDestinationFolder);
wCreateDestinationFolder = new Button(wDestinationFile, SWT.CHECK);
props.setLook(wCreateDestinationFolder);
wCreateDestinationFolder.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.CreateDestinationFolder.Tooltip"));
fdCreateDestinationFolder = new FormData();
fdCreateDestinationFolder.left = new FormAttachment(middle, 0);
fdCreateDestinationFolder.top = new FormAttachment(0, margin);
fdCreateDestinationFolder.right = new FormAttachment(100, 0);
wCreateDestinationFolder.setLayoutData(fdCreateDestinationFolder);
wCreateDestinationFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// Destination is a file?
wlDestinationIsAFile = new Label(wDestinationFile, SWT.RIGHT);
wlDestinationIsAFile.setText(BaseMessages.getString(PKG, "JobMoveFiles.DestinationIsAFile.Label"));
props.setLook(wlDestinationIsAFile);
fdlDestinationIsAFile = new FormData();
fdlDestinationIsAFile.left = new FormAttachment(0, 0);
fdlDestinationIsAFile.top = new FormAttachment(wCreateDestinationFolder, margin);
fdlDestinationIsAFile.right = new FormAttachment(middle, -margin);
wlDestinationIsAFile.setLayoutData(fdlDestinationIsAFile);
wDestinationIsAFile = new Button(wDestinationFile, SWT.CHECK);
props.setLook(wDestinationIsAFile);
wDestinationIsAFile.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.DestinationIsAFile.Tooltip"));
fdDestinationIsAFile = new FormData();
fdDestinationIsAFile.left = new FormAttachment(middle, 0);
fdDestinationIsAFile.top = new FormAttachment(wCreateDestinationFolder, margin);
fdDestinationIsAFile.right = new FormAttachment(100, 0);
wDestinationIsAFile.setLayoutData(fdDestinationIsAFile);
wDestinationIsAFile.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// Do not keep folder structure?
wlDoNotKeepFolderStructure = new Label(wDestinationFile, SWT.RIGHT);
wlDoNotKeepFolderStructure.setText(BaseMessages.getString(PKG, "JobMoveFiles.DoNotKeepFolderStructure.Label"));
props.setLook(wlDoNotKeepFolderStructure);
fdlDoNotKeepFolderStructure = new FormData();
fdlDoNotKeepFolderStructure.left = new FormAttachment(0, 0);
fdlDoNotKeepFolderStructure.top = new FormAttachment(wDestinationIsAFile, margin);
fdlDoNotKeepFolderStructure.right = new FormAttachment(middle, -margin);
wlDoNotKeepFolderStructure.setLayoutData(fdlDoNotKeepFolderStructure);
wDoNotKeepFolderStructure = new Button(wDestinationFile, SWT.CHECK);
props.setLook(wDoNotKeepFolderStructure);
wDoNotKeepFolderStructure.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.DoNotKeepFolderStructure.Tooltip"));
fdDoNotKeepFolderStructure = new FormData();
fdDoNotKeepFolderStructure.left = new FormAttachment(middle, 0);
fdDoNotKeepFolderStructure.top = new FormAttachment(wDestinationIsAFile, margin);
fdDoNotKeepFolderStructure.right = new FormAttachment(100, 0);
wDoNotKeepFolderStructure.setLayoutData(fdDoNotKeepFolderStructure);
wDoNotKeepFolderStructure.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// Create multi-part file?
wlAddDate = new Label(wDestinationFile, SWT.RIGHT);
wlAddDate.setText(BaseMessages.getString(PKG, "JobMoveFiles.AddDate.Label"));
props.setLook(wlAddDate);
fdlAddDate = new FormData();
fdlAddDate.left = new FormAttachment(0, 0);
fdlAddDate.top = new FormAttachment(wDoNotKeepFolderStructure, margin);
fdlAddDate.right = new FormAttachment(middle, -margin);
wlAddDate.setLayoutData(fdlAddDate);
wAddDate = new Button(wDestinationFile, SWT.CHECK);
props.setLook(wAddDate);
wAddDate.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.AddDate.Tooltip"));
fdAddDate = new FormData();
fdAddDate.left = new FormAttachment(middle, 0);
fdAddDate.top = new FormAttachment(wDoNotKeepFolderStructure, margin);
fdAddDate.right = new FormAttachment(100, 0);
wAddDate.setLayoutData(fdAddDate);
wAddDate.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
setAddDateBeforeExtension();
}
});
// Create multi-part file?
wlAddTime = new Label(wDestinationFile, SWT.RIGHT);
wlAddTime.setText(BaseMessages.getString(PKG, "JobMoveFiles.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(wDestinationFile, SWT.CHECK);
props.setLook(wAddTime);
wAddTime.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.AddTime.Tooltip"));
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) {
jobEntry.setChanged();
setAddDateBeforeExtension();
}
});
// Specify date time format?
wlSpecifyFormat = new Label(wDestinationFile, SWT.RIGHT);
wlSpecifyFormat.setText(BaseMessages.getString(PKG, "JobMoveFiles.SpecifyFormat.Label"));
props.setLook(wlSpecifyFormat);
fdlSpecifyFormat = new FormData();
fdlSpecifyFormat.left = new FormAttachment(0, 0);
fdlSpecifyFormat.top = new FormAttachment(wAddTime, margin);
fdlSpecifyFormat.right = new FormAttachment(middle, -margin);
wlSpecifyFormat.setLayoutData(fdlSpecifyFormat);
wSpecifyFormat = new Button(wDestinationFile, SWT.CHECK);
props.setLook(wSpecifyFormat);
wSpecifyFormat.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.SpecifyFormat.Tooltip"));
fdSpecifyFormat = new FormData();
fdSpecifyFormat.left = new FormAttachment(middle, 0);
fdSpecifyFormat.top = new FormAttachment(wAddTime, margin);
fdSpecifyFormat.right = new FormAttachment(100, 0);
wSpecifyFormat.setLayoutData(fdSpecifyFormat);
wSpecifyFormat.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
setDateTimeFormat();
setAddDateBeforeExtension();
}
});
// DateTimeFormat
wlDateTimeFormat = new Label(wDestinationFile, SWT.RIGHT);
wlDateTimeFormat.setText(BaseMessages.getString(PKG, "JobMoveFiles.DateTimeFormat.Label"));
props.setLook(wlDateTimeFormat);
fdlDateTimeFormat = new FormData();
fdlDateTimeFormat.left = new FormAttachment(0, 0);
fdlDateTimeFormat.top = new FormAttachment(wSpecifyFormat, margin);
fdlDateTimeFormat.right = new FormAttachment(middle, -margin);
wlDateTimeFormat.setLayoutData(fdlDateTimeFormat);
wDateTimeFormat = new CCombo(wDestinationFile, SWT.BORDER | SWT.READ_ONLY);
wDateTimeFormat.setEditable(true);
props.setLook(wDateTimeFormat);
wDateTimeFormat.addModifyListener(lsMod);
fdDateTimeFormat = new FormData();
fdDateTimeFormat.left = new FormAttachment(middle, 0);
fdDateTimeFormat.top = new FormAttachment(wSpecifyFormat, margin);
fdDateTimeFormat.right = new FormAttachment(100, 0);
wDateTimeFormat.setLayoutData(fdDateTimeFormat);
// Prepare a list of possible DateTimeFormats...
String[] dats = Const.getDateFormats();
for (int x = 0; x < dats.length; x++) {
wDateTimeFormat.add(dats[x]);
}
// Add Date before extension?
wlAddDateBeforeExtension = new Label(wDestinationFile, SWT.RIGHT);
wlAddDateBeforeExtension.setText(BaseMessages.getString(PKG, "JobMoveFiles.AddDateBeforeExtension.Label"));
props.setLook(wlAddDateBeforeExtension);
fdlAddDateBeforeExtension = new FormData();
fdlAddDateBeforeExtension.left = new FormAttachment(0, 0);
fdlAddDateBeforeExtension.top = new FormAttachment(wDateTimeFormat, margin);
fdlAddDateBeforeExtension.right = new FormAttachment(middle, -margin);
wlAddDateBeforeExtension.setLayoutData(fdlAddDateBeforeExtension);
wAddDateBeforeExtension = new Button(wDestinationFile, SWT.CHECK);
props.setLook(wAddDateBeforeExtension);
wAddDateBeforeExtension.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.AddDateBeforeExtension.Tooltip"));
fdAddDateBeforeExtension = new FormData();
fdAddDateBeforeExtension.left = new FormAttachment(middle, 0);
fdAddDateBeforeExtension.top = new FormAttachment(wDateTimeFormat, margin);
fdAddDateBeforeExtension.right = new FormAttachment(100, 0);
wAddDateBeforeExtension.setLayoutData(fdAddDateBeforeExtension);
wAddDateBeforeExtension.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// If File Exists
wlIfFileExists = new Label(wDestinationFile, SWT.RIGHT);
wlIfFileExists.setText(BaseMessages.getString(PKG, "JobMoveFiles.IfFileExists.Label"));
props.setLook(wlIfFileExists);
fdlIfFileExists = new FormData();
fdlIfFileExists.left = new FormAttachment(0, 0);
fdlIfFileExists.right = new FormAttachment(middle, 0);
fdlIfFileExists.top = new FormAttachment(wAddDateBeforeExtension, margin);
wlIfFileExists.setLayoutData(fdlIfFileExists);
wIfFileExists = new CCombo(wDestinationFile, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wIfFileExists.add(BaseMessages.getString(PKG, "JobMoveFiles.Do_Nothing_IfFileExists.Label"));
wIfFileExists.add(BaseMessages.getString(PKG, "JobMoveFiles.Overwrite_File_IfFileExists.Label"));
wIfFileExists.add(BaseMessages.getString(PKG, "JobMoveFiles.Unique_Name_IfFileExists.Label"));
wIfFileExists.add(BaseMessages.getString(PKG, "JobMoveFiles.Delete_Source_File_IfFileExists.Label"));
wIfFileExists.add(BaseMessages.getString(PKG, "JobMoveFiles.Move_To_Folder_IfFileExists.Label"));
wIfFileExists.add(BaseMessages.getString(PKG, "JobMoveFiles.Fail_IfFileExists.Label"));
// +1: starts at -1
wIfFileExists.select(0);
props.setLook(wIfFileExists);
fdIfFileExists = new FormData();
fdIfFileExists.left = new FormAttachment(middle, 0);
fdIfFileExists.top = new FormAttachment(wAddDateBeforeExtension, margin);
fdIfFileExists.right = new FormAttachment(100, 0);
wIfFileExists.setLayoutData(fdIfFileExists);
fdIfFileExists = new FormData();
fdIfFileExists.left = new FormAttachment(middle, 0);
fdIfFileExists.top = new FormAttachment(wAddDateBeforeExtension, margin);
fdIfFileExists.right = new FormAttachment(100, 0);
wIfFileExists.setLayoutData(fdIfFileExists);
wIfFileExists.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
activeDestinationFolder();
setMovedDateTimeFormat();
// setAddDateBeforeExtension();
setAddMovedDateBeforeExtension();
}
});
fdDestinationFile = new FormData();
fdDestinationFile.left = new FormAttachment(0, margin);
fdDestinationFile.top = new FormAttachment(wName, margin);
fdDestinationFile.right = new FormAttachment(100, -margin);
wDestinationFile.setLayoutData(fdDestinationFile);
// ///////////////////////////////////////////////////////////
// / END OF DestinationFile GROUP
// ///////////////////////////////////////////////////////////
// MoveTo grouping?
// ////////////////////////
// START OF MoveTo GROUP
//
wMoveToGroup = new Group(wDestinationFileComp, SWT.SHADOW_NONE);
props.setLook(wMoveToGroup);
wMoveToGroup.setText(BaseMessages.getString(PKG, "JobMoveFiles.GroupMoveToGroup.Label"));
FormLayout MovetoLayoutFile = new FormLayout();
MovetoLayoutFile.marginWidth = 10;
MovetoLayoutFile.marginHeight = 10;
wMoveToGroup.setLayout(MovetoLayoutFile);
// DestinationFolder line
wlDestinationFolder = new Label(wMoveToGroup, SWT.RIGHT);
wlDestinationFolder.setText(BaseMessages.getString(PKG, "JobMoveFiles.DestinationFolder.Label"));
props.setLook(wlDestinationFolder);
fdlDestinationFolder = new FormData();
fdlDestinationFolder.left = new FormAttachment(0, 0);
fdlDestinationFolder.top = new FormAttachment(wDestinationFile, margin);
fdlDestinationFolder.right = new FormAttachment(middle, -margin);
wlDestinationFolder.setLayoutData(fdlDestinationFolder);
wbDestinationFolder = new Button(wMoveToGroup, SWT.PUSH | SWT.CENTER);
props.setLook(wbDestinationFolder);
wbDestinationFolder.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
fdbDestinationFolder = new FormData();
fdbDestinationFolder.right = new FormAttachment(100, 0);
fdbDestinationFolder.top = new FormAttachment(wDestinationFile, 0);
wbDestinationFolder.setLayoutData(fdbDestinationFolder);
wDestinationFolder = new TextVar(jobMeta, wMoveToGroup, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wDestinationFolder);
wDestinationFolder.addModifyListener(lsMod);
fdDestinationFolder = new FormData();
fdDestinationFolder.left = new FormAttachment(middle, 0);
fdDestinationFolder.top = new FormAttachment(wDestinationFile, margin);
fdDestinationFolder.right = new FormAttachment(wbDestinationFolder, -margin);
wDestinationFolder.setLayoutData(fdDestinationFolder);
// Whenever something changes, set the tooltip to the expanded version:
wDestinationFolder.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
wDestinationFolder.setToolTipText(jobMeta.environmentSubstitute(wDestinationFolder.getText()));
}
});
wbDestinationFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
DirectoryDialog dialog = new DirectoryDialog(shell, SWT.OPEN);
if (wDestinationFolder.getText() != null) {
dialog.setFilterPath(jobMeta.environmentSubstitute(wDestinationFolder.getText()));
}
String dir = dialog.open();
if (dir != null) {
wDestinationFolder.setText(dir);
}
}
});
// Create destination folder/parent folder
wlCreateMoveToFolder = new Label(wMoveToGroup, SWT.RIGHT);
wlCreateMoveToFolder.setText(BaseMessages.getString(PKG, "JobMoveFiles.CreateMoveToFolder.Label"));
props.setLook(wlCreateMoveToFolder);
fdlCreateMoveToFolder = new FormData();
fdlCreateMoveToFolder.left = new FormAttachment(0, 0);
fdlCreateMoveToFolder.top = new FormAttachment(wDestinationFolder, margin);
fdlCreateMoveToFolder.right = new FormAttachment(middle, -margin);
wlCreateMoveToFolder.setLayoutData(fdlCreateMoveToFolder);
wCreateMoveToFolder = new Button(wMoveToGroup, SWT.CHECK);
props.setLook(wCreateMoveToFolder);
wCreateMoveToFolder.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.CreateMoveToFolder.Tooltip"));
fdCreateMoveToFolder = new FormData();
fdCreateMoveToFolder.left = new FormAttachment(middle, 0);
fdCreateMoveToFolder.top = new FormAttachment(wDestinationFolder, margin);
fdCreateMoveToFolder.right = new FormAttachment(100, 0);
wCreateMoveToFolder.setLayoutData(fdCreateMoveToFolder);
wCreateMoveToFolder.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// Create multi-part file?
wlAddMovedDate = new Label(wMoveToGroup, SWT.RIGHT);
wlAddMovedDate.setText(BaseMessages.getString(PKG, "JobMoveFiles.AddMovedDate.Label"));
props.setLook(wlAddMovedDate);
fdlAddMovedDate = new FormData();
fdlAddMovedDate.left = new FormAttachment(0, 0);
fdlAddMovedDate.top = new FormAttachment(wCreateMoveToFolder, margin);
fdlAddMovedDate.right = new FormAttachment(middle, -margin);
wlAddMovedDate.setLayoutData(fdlAddMovedDate);
wAddMovedDate = new Button(wMoveToGroup, SWT.CHECK);
props.setLook(wAddMovedDate);
wAddMovedDate.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.AddMovedDate.Tooltip"));
fdAddMovedDate = new FormData();
fdAddMovedDate.left = new FormAttachment(middle, 0);
fdAddMovedDate.top = new FormAttachment(wCreateMoveToFolder, margin);
fdAddMovedDate.right = new FormAttachment(100, 0);
wAddMovedDate.setLayoutData(fdAddMovedDate);
wAddMovedDate.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
setAddMovedDateBeforeExtension();
}
});
// Create multi-part file?
wlAddMovedTime = new Label(wMoveToGroup, SWT.RIGHT);
wlAddMovedTime.setText(BaseMessages.getString(PKG, "JobMoveFiles.AddMovedTime.Label"));
props.setLook(wlAddMovedTime);
fdlAddMovedTime = new FormData();
fdlAddMovedTime.left = new FormAttachment(0, 0);
fdlAddMovedTime.top = new FormAttachment(wAddMovedDate, margin);
fdlAddMovedTime.right = new FormAttachment(middle, -margin);
wlAddMovedTime.setLayoutData(fdlAddMovedTime);
wAddMovedTime = new Button(wMoveToGroup, SWT.CHECK);
props.setLook(wAddMovedTime);
wAddMovedTime.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.AddMovedTime.Tooltip"));
fdAddMovedTime = new FormData();
fdAddMovedTime.left = new FormAttachment(middle, 0);
fdAddMovedTime.top = new FormAttachment(wAddMovedDate, margin);
fdAddMovedTime.right = new FormAttachment(100, 0);
wAddMovedTime.setLayoutData(fdAddMovedTime);
wAddMovedTime.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
setAddMovedDateBeforeExtension();
}
});
// Specify date time format?
wlSpecifyMoveFormat = new Label(wMoveToGroup, SWT.RIGHT);
wlSpecifyMoveFormat.setText(BaseMessages.getString(PKG, "JobMoveFiles.SpecifyMoveFormat.Label"));
props.setLook(wlSpecifyMoveFormat);
fdlSpecifyMoveFormat = new FormData();
fdlSpecifyMoveFormat.left = new FormAttachment(0, 0);
fdlSpecifyMoveFormat.top = new FormAttachment(wAddMovedTime, margin);
fdlSpecifyMoveFormat.right = new FormAttachment(middle, -margin);
wlSpecifyMoveFormat.setLayoutData(fdlSpecifyMoveFormat);
wSpecifyMoveFormat = new Button(wMoveToGroup, SWT.CHECK);
props.setLook(wSpecifyMoveFormat);
wSpecifyMoveFormat.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.SpecifyMoveFormat.Tooltip"));
fdSpecifyMoveFormat = new FormData();
fdSpecifyMoveFormat.left = new FormAttachment(middle, 0);
fdSpecifyMoveFormat.top = new FormAttachment(wAddMovedTime, margin);
fdSpecifyMoveFormat.right = new FormAttachment(100, 0);
wSpecifyMoveFormat.setLayoutData(fdSpecifyMoveFormat);
wSpecifyMoveFormat.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
setMovedDateTimeFormat();
setAddMovedDateBeforeExtension();
}
});
// Moved DateTimeFormat
wlMovedDateTimeFormat = new Label(wMoveToGroup, SWT.RIGHT);
wlMovedDateTimeFormat.setText(BaseMessages.getString(PKG, "JobMoveFiles.MovedDateTimeFormat.Label"));
props.setLook(wlMovedDateTimeFormat);
fdlMovedDateTimeFormat = new FormData();
fdlMovedDateTimeFormat.left = new FormAttachment(0, 0);
fdlMovedDateTimeFormat.top = new FormAttachment(wSpecifyMoveFormat, margin);
fdlMovedDateTimeFormat.right = new FormAttachment(middle, -margin);
wlMovedDateTimeFormat.setLayoutData(fdlMovedDateTimeFormat);
wMovedDateTimeFormat = new CCombo(wMoveToGroup, SWT.BORDER | SWT.READ_ONLY);
wMovedDateTimeFormat.setEditable(true);
props.setLook(wMovedDateTimeFormat);
wMovedDateTimeFormat.addModifyListener(lsMod);
fdMovedDateTimeFormat = new FormData();
fdMovedDateTimeFormat.left = new FormAttachment(middle, 0);
fdMovedDateTimeFormat.top = new FormAttachment(wSpecifyMoveFormat, margin);
fdMovedDateTimeFormat.right = new FormAttachment(100, 0);
wMovedDateTimeFormat.setLayoutData(fdMovedDateTimeFormat);
for (int x = 0; x < dats.length; x++) {
wMovedDateTimeFormat.add(dats[x]);
}
// Add Date before extension?
wlAddMovedDateBeforeExtension = new Label(wMoveToGroup, SWT.RIGHT);
wlAddMovedDateBeforeExtension.setText(BaseMessages.getString(PKG, "JobMoveFiles.AddMovedDateBeforeExtension.Label"));
props.setLook(wlAddMovedDateBeforeExtension);
fdlAddMovedDateBeforeExtension = new FormData();
fdlAddMovedDateBeforeExtension.left = new FormAttachment(0, 0);
fdlAddMovedDateBeforeExtension.top = new FormAttachment(wMovedDateTimeFormat, margin);
fdlAddMovedDateBeforeExtension.right = new FormAttachment(middle, -margin);
wlAddMovedDateBeforeExtension.setLayoutData(fdlAddMovedDateBeforeExtension);
wAddMovedDateBeforeExtension = new Button(wMoveToGroup, SWT.CHECK);
props.setLook(wAddMovedDateBeforeExtension);
wAddMovedDateBeforeExtension.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.AddMovedDateBeforeExtension.Tooltip"));
fdAddMovedDateBeforeExtension = new FormData();
fdAddMovedDateBeforeExtension.left = new FormAttachment(middle, 0);
fdAddMovedDateBeforeExtension.top = new FormAttachment(wMovedDateTimeFormat, margin);
fdAddMovedDateBeforeExtension.right = new FormAttachment(100, 0);
wAddMovedDateBeforeExtension.setLayoutData(fdAddMovedDateBeforeExtension);
wAddMovedDateBeforeExtension.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
// If moved File Exists
wlIfMovedFileExists = new Label(wMoveToGroup, SWT.RIGHT);
wlIfMovedFileExists.setText(BaseMessages.getString(PKG, "JobMoveFiles.IfMovedFileExists.Label"));
props.setLook(wlIfMovedFileExists);
fdlIfMovedFileExists = new FormData();
fdlIfMovedFileExists.left = new FormAttachment(0, 0);
fdlIfMovedFileExists.right = new FormAttachment(middle, 0);
fdlIfMovedFileExists.top = new FormAttachment(wAddMovedDateBeforeExtension, margin);
wlIfMovedFileExists.setLayoutData(fdlIfMovedFileExists);
wIfMovedFileExists = new CCombo(wMoveToGroup, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wIfMovedFileExists.add(BaseMessages.getString(PKG, "JobMoveFiles.Do_Nothing_IfMovedFileExists.Label"));
wIfMovedFileExists.add(BaseMessages.getString(PKG, "JobMoveFiles.Overwrite_Filename_IffMovedFileExists.Label"));
wIfMovedFileExists.add(BaseMessages.getString(PKG, "JobMoveFiles.UniqueName_IfMovedFileExists.Label"));
wIfMovedFileExists.add(BaseMessages.getString(PKG, "JobMoveFiles.Fail_IfMovedFileExists.Label"));
// +1: starts at -1
wIfMovedFileExists.select(0);
props.setLook(wIfMovedFileExists);
fdIfMovedFileExists = new FormData();
fdIfMovedFileExists.left = new FormAttachment(middle, 0);
fdIfMovedFileExists.top = new FormAttachment(wAddMovedDateBeforeExtension, margin);
fdIfMovedFileExists.right = new FormAttachment(100, 0);
wIfMovedFileExists.setLayoutData(fdIfMovedFileExists);
fdIfMovedFileExists = new FormData();
fdIfMovedFileExists.left = new FormAttachment(middle, 0);
fdIfMovedFileExists.top = new FormAttachment(wAddMovedDateBeforeExtension, margin);
fdIfMovedFileExists.right = new FormAttachment(100, 0);
wIfMovedFileExists.setLayoutData(fdIfMovedFileExists);
fdMoveToGroup = new FormData();
fdMoveToGroup.left = new FormAttachment(0, margin);
fdMoveToGroup.top = new FormAttachment(wDestinationFile, margin);
fdMoveToGroup.right = new FormAttachment(100, -margin);
wMoveToGroup.setLayoutData(fdMoveToGroup);
// ///////////////////////////////////////////////////////////
// / END OF MoveToGroup GROUP
// ///////////////////////////////////////////////////////////
fdDestinationFileComp = new FormData();
fdDestinationFileComp.left = new FormAttachment(0, 0);
fdDestinationFileComp.top = new FormAttachment(0, 0);
fdDestinationFileComp.right = new FormAttachment(100, 0);
fdDestinationFileComp.bottom = new FormAttachment(100, 0);
wDestinationFileComp.setLayoutData(wDestinationFileComp);
wDestinationFileComp.layout();
wDestinationFileTab.setControl(wDestinationFileComp);
// ///////////////////////////////////////////////////////////
// / END OF DESTINATION FILETAB
// ///////////////////////////////////////////////////////////
// ////////////////////////////////////
// START OF ADVANCED TAB ///
// ///////////////////////////////////
wAdvancedTab = new CTabItem(wTabFolder, SWT.NONE);
wAdvancedTab.setText(BaseMessages.getString(PKG, "JobMoveFiles.Tab.Advanced.Label"));
FormLayout contentLayout = new FormLayout();
contentLayout.marginWidth = 3;
contentLayout.marginHeight = 3;
wAdvancedComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wAdvancedComp);
wAdvancedComp.setLayout(contentLayout);
// SuccessOngrouping?
// ////////////////////////
// START OF SUCCESS ON GROUP///
// /
wSuccessOn = new Group(wAdvancedComp, SWT.SHADOW_NONE);
props.setLook(wSuccessOn);
wSuccessOn.setText(BaseMessages.getString(PKG, "JobMoveFiles.SuccessOn.Group.Label"));
FormLayout successongroupLayout = new FormLayout();
successongroupLayout.marginWidth = 10;
successongroupLayout.marginHeight = 10;
wSuccessOn.setLayout(successongroupLayout);
// Success Condition
wlSuccessCondition = new Label(wSuccessOn, SWT.RIGHT);
wlSuccessCondition.setText(BaseMessages.getString(PKG, "JobMoveFiles.SuccessCondition.Label"));
props.setLook(wlSuccessCondition);
fdlSuccessCondition = new FormData();
fdlSuccessCondition.left = new FormAttachment(0, 0);
fdlSuccessCondition.right = new FormAttachment(middle, 0);
fdlSuccessCondition.top = new FormAttachment(0, margin);
wlSuccessCondition.setLayoutData(fdlSuccessCondition);
wSuccessCondition = new CCombo(wSuccessOn, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wSuccessCondition.add(BaseMessages.getString(PKG, "JobMoveFiles.SuccessWhenAllWorksFine.Label"));
wSuccessCondition.add(BaseMessages.getString(PKG, "JobMoveFiles.SuccessWhenAtLeat.Label"));
wSuccessCondition.add(BaseMessages.getString(PKG, "JobMoveFiles.SuccessWhenErrorsLessThan.Label"));
// +1: starts at -1
wSuccessCondition.select(0);
props.setLook(wSuccessCondition);
fdSuccessCondition = new FormData();
fdSuccessCondition.left = new FormAttachment(middle, 0);
fdSuccessCondition.top = new FormAttachment(0, margin);
fdSuccessCondition.right = new FormAttachment(100, 0);
wSuccessCondition.setLayoutData(fdSuccessCondition);
wSuccessCondition.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
activeSuccessCondition();
}
});
// Success when number of errors less than
wlNrErrorsLessThan = new Label(wSuccessOn, SWT.RIGHT);
wlNrErrorsLessThan.setText(BaseMessages.getString(PKG, "JobMoveFiles.NrErrorsLessThan.Label"));
props.setLook(wlNrErrorsLessThan);
fdlNrErrorsLessThan = new FormData();
fdlNrErrorsLessThan.left = new FormAttachment(0, 0);
fdlNrErrorsLessThan.top = new FormAttachment(wSuccessCondition, margin);
fdlNrErrorsLessThan.right = new FormAttachment(middle, -margin);
wlNrErrorsLessThan.setLayoutData(fdlNrErrorsLessThan);
wNrErrorsLessThan = new TextVar(jobMeta, wSuccessOn, SWT.SINGLE | SWT.LEFT | SWT.BORDER, BaseMessages.getString(PKG, "JobMoveFiles.NrErrorsLessThan.Tooltip"));
props.setLook(wNrErrorsLessThan);
wNrErrorsLessThan.addModifyListener(lsMod);
fdNrErrorsLessThan = new FormData();
fdNrErrorsLessThan.left = new FormAttachment(middle, 0);
fdNrErrorsLessThan.top = new FormAttachment(wSuccessCondition, margin);
fdNrErrorsLessThan.right = new FormAttachment(100, -margin);
wNrErrorsLessThan.setLayoutData(fdNrErrorsLessThan);
fdSuccessOn = new FormData();
fdSuccessOn.left = new FormAttachment(0, margin);
fdSuccessOn.top = new FormAttachment(wDestinationFile, margin);
fdSuccessOn.right = new FormAttachment(100, -margin);
wSuccessOn.setLayoutData(fdSuccessOn);
// ///////////////////////////////////////////////////////////
// / END OF Success ON GROUP
// ///////////////////////////////////////////////////////////
// fileresult grouping?
// ////////////////////////
// START OF LOGGING GROUP///
// /
wFileResult = new Group(wAdvancedComp, SWT.SHADOW_NONE);
props.setLook(wFileResult);
wFileResult.setText(BaseMessages.getString(PKG, "JobMoveFiles.FileResult.Group.Label"));
FormLayout fileresultgroupLayout = new FormLayout();
fileresultgroupLayout.marginWidth = 10;
fileresultgroupLayout.marginHeight = 10;
wFileResult.setLayout(fileresultgroupLayout);
// Add file to result
wlAddFileToResult = new Label(wFileResult, SWT.RIGHT);
wlAddFileToResult.setText(BaseMessages.getString(PKG, "JobMoveFiles.AddFileToResult.Label"));
props.setLook(wlAddFileToResult);
fdlAddFileToResult = new FormData();
fdlAddFileToResult.left = new FormAttachment(0, 0);
fdlAddFileToResult.top = new FormAttachment(wSuccessOn, margin);
fdlAddFileToResult.right = new FormAttachment(middle, -margin);
wlAddFileToResult.setLayoutData(fdlAddFileToResult);
wAddFileToResult = new Button(wFileResult, SWT.CHECK);
props.setLook(wAddFileToResult);
wAddFileToResult.setToolTipText(BaseMessages.getString(PKG, "JobMoveFiles.AddFileToResult.Tooltip"));
fdAddFileToResult = new FormData();
fdAddFileToResult.left = new FormAttachment(middle, 0);
fdAddFileToResult.top = new FormAttachment(wSuccessOn, margin);
fdAddFileToResult.right = new FormAttachment(100, 0);
wAddFileToResult.setLayoutData(fdAddFileToResult);
wAddFileToResult.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
fdFileResult = new FormData();
fdFileResult.left = new FormAttachment(0, margin);
fdFileResult.top = new FormAttachment(wSuccessOn, margin);
fdFileResult.right = new FormAttachment(100, -margin);
wFileResult.setLayoutData(fdFileResult);
// ///////////////////////////////////////////////////////////
// / END OF FilesResult GROUP
// ///////////////////////////////////////////////////////////
fdAdvancedComp = new FormData();
fdAdvancedComp.left = new FormAttachment(0, 0);
fdAdvancedComp.top = new FormAttachment(0, 0);
fdAdvancedComp.right = new FormAttachment(100, 0);
fdAdvancedComp.bottom = new FormAttachment(100, 0);
wAdvancedComp.setLayoutData(wAdvancedComp);
wAdvancedComp.layout();
wAdvancedTab.setControl(wAdvancedComp);
// ///////////////////////////////////////////////////////////
// / END OF ADVANCED TAB
// ///////////////////////////////////////////////////////////
fdTabFolder = new FormData();
fdTabFolder.left = new FormAttachment(0, 0);
fdTabFolder.top = new FormAttachment(wName, 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"));
BaseStepDialog.positionBottomButtons(shell, new Button[] { wOK, wCancel }, margin, wTabFolder);
// Add listeners
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
wCancel.addListener(SWT.Selection, lsCancel);
wOK.addListener(SWT.Selection, lsOK);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wName.addSelectionListener(lsDef);
wSourceFileFolder.addSelectionListener(lsDef);
// Detect X or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
getData();
CheckIncludeSubFolders();
activeSuccessCondition();
setDateTimeFormat();
activeSuccessCondition();
activeDestinationFolder();
setMovedDateTimeFormat();
setAddDateBeforeExtension();
setAddMovedDateBeforeExtension();
wTabFolder.setSelection(0);
BaseStepDialog.setSize(shell);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return jobEntry;
}
use of org.pentaho.di.ui.core.widget.ColumnInfo in project pentaho-kettle by pentaho.
the class JobEntrySetVariablesDialog method open.
public JobEntryInterface open() {
Shell parent = getParent();
Display display = parent.getDisplay();
shell = new Shell(parent, props.getJobsDialogStyle());
props.setLook(shell);
JobDialog.setShellImage(shell, jobEntry);
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
jobEntry.setChanged();
}
};
changed = jobEntry.hasChanged();
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "JobEntrySetVariables.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Name line
wlName = new Label(shell, SWT.RIGHT);
wlName.setText(BaseMessages.getString(PKG, "JobEntrySetVariables.Name.Label"));
props.setLook(wlName);
fdlName = new FormData();
fdlName.left = new FormAttachment(0, 0);
fdlName.right = new FormAttachment(middle, -margin);
fdlName.top = new FormAttachment(0, margin);
wlName.setLayoutData(fdlName);
wName = new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wName);
wName.addModifyListener(lsMod);
fdName = new FormData();
fdName.left = new FormAttachment(middle, 0);
fdName.top = new FormAttachment(0, margin);
fdName.right = new FormAttachment(100, 0);
wName.setLayoutData(fdName);
gFilename = new Group(shell, SWT.SHADOW_NONE);
props.setLook(gFilename);
gFilename.setText(BaseMessages.getString(PKG, "JobEntrySetVariables.FilenameGroup.Label"));
FormLayout groupFilenameLayout = new FormLayout();
groupFilenameLayout.marginWidth = 10;
groupFilenameLayout.marginHeight = 10;
gFilename.setLayout(groupFilenameLayout);
// Name line
wlFilename = new Label(gFilename, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "JobEntrySetVariables.Filename.Label"));
props.setLook(wlFilename);
fdlFilename = new FormData();
fdlFilename.left = new FormAttachment(0, 0);
fdlFilename.right = new FormAttachment(middle, -margin);
fdlFilename.top = new FormAttachment(0, margin);
wlFilename.setLayoutData(fdlFilename);
wFilename = new TextVar(jobMeta, gFilename, 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(0, margin);
fdFilename.right = new FormAttachment(100, 0);
wFilename.setLayoutData(fdFilename);
// file variable type line
wlFileVariableType = new Label(gFilename, SWT.RIGHT);
wlFileVariableType.setText(BaseMessages.getString(PKG, "JobEntrySetVariables.FileVariableType.Label"));
props.setLook(wlFileVariableType);
fdlFileVariableType = new FormData();
fdlFileVariableType.left = new FormAttachment(0, 0);
fdlFileVariableType.right = new FormAttachment(middle, -margin);
fdlFileVariableType.top = new FormAttachment(wFilename, margin);
wlFileVariableType.setLayoutData(fdlFileVariableType);
wFileVariableType = new CCombo(gFilename, SWT.SINGLE | SWT.LEFT | SWT.BORDER | SWT.READ_ONLY);
props.setLook(wFileVariableType);
wFileVariableType.addModifyListener(lsMod);
fdFileVariableType = new FormData();
fdFileVariableType.left = new FormAttachment(middle, 0);
fdFileVariableType.top = new FormAttachment(wFilename, margin);
fdFileVariableType.right = new FormAttachment(100, 0);
wFileVariableType.setLayoutData(fdFileVariableType);
wFileVariableType.setItems(JobEntrySetVariables.getVariableTypeDescriptions());
fdgFilename = new FormData();
fdgFilename.left = new FormAttachment(0, margin);
fdgFilename.top = new FormAttachment(wName, margin);
fdgFilename.right = new FormAttachment(100, -margin);
gFilename.setLayoutData(fdgFilename);
//
// START OF SETTINGS GROUP
//
gSettings = new Group(shell, SWT.SHADOW_NONE);
props.setLook(gSettings);
gSettings.setText(BaseMessages.getString(PKG, "JobEntrySetVariables.Settings.Label"));
FormLayout groupLayout = new FormLayout();
groupLayout.marginWidth = 10;
groupLayout.marginHeight = 10;
gSettings.setLayout(groupLayout);
wlVarSubs = new Label(gSettings, SWT.RIGHT);
wlVarSubs.setText(BaseMessages.getString(PKG, "JobEntrySetVariables.VarsReplace.Label"));
props.setLook(wlVarSubs);
fdlVarSubs = new FormData();
fdlVarSubs.left = new FormAttachment(0, 0);
fdlVarSubs.top = new FormAttachment(wName, margin);
fdlVarSubs.right = new FormAttachment(middle, -margin);
wlVarSubs.setLayoutData(fdlVarSubs);
wVarSubs = new Button(gSettings, SWT.CHECK);
props.setLook(wVarSubs);
wVarSubs.setToolTipText(BaseMessages.getString(PKG, "JobEntrySetVariables.VarsReplace.Tooltip"));
fdVarSubs = new FormData();
fdVarSubs.left = new FormAttachment(middle, 0);
fdVarSubs.top = new FormAttachment(wName, margin);
fdVarSubs.right = new FormAttachment(100, 0);
wVarSubs.setLayoutData(fdVarSubs);
wVarSubs.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setChanged();
}
});
fdgSettings = new FormData();
fdgSettings.left = new FormAttachment(0, margin);
fdgSettings.top = new FormAttachment(gFilename, margin);
fdgSettings.right = new FormAttachment(100, -margin);
gSettings.setLayoutData(fdgSettings);
// ///////////////////////////////////////////////////////////
// / END OF SETTINGS GROUP
// ///////////////////////////////////////////////////////////
wlFields = new Label(shell, SWT.NONE);
wlFields.setText(BaseMessages.getString(PKG, "SetVariableDialog.Variables.Label"));
props.setLook(wlFields);
fdlFields = new FormData();
fdlFields.left = new FormAttachment(0, 0);
fdlFields.top = new FormAttachment(gSettings, margin);
wlFields.setLayoutData(fdlFields);
int rows = jobEntry.variableName == null ? 1 : (jobEntry.variableName.length == 0 ? 0 : jobEntry.variableName.length);
final int FieldsRows = rows;
ColumnInfo[] colinf = { new ColumnInfo(BaseMessages.getString(PKG, "SetVariableDialog.Fields.Column.VariableName"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "SetVariableDialog.Fields.Column.Value"), ColumnInfo.COLUMN_TYPE_TEXT, false), new ColumnInfo(BaseMessages.getString(PKG, "SetVariableDialog.Fields.Column.VariableType"), ColumnInfo.COLUMN_TYPE_CCOMBO, JobEntrySetVariables.getVariableTypeDescriptions(), false) };
colinf[0].setUsingVariables(true);
colinf[1].setUsingVariables(true);
wFields = new TableView(jobMeta, shell, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI, colinf, FieldsRows, lsMod, props);
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, -50);
wFields.setLayoutData(fdFields);
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"));
BaseStepDialog.positionBottomButtons(shell, new Button[] { wOK, wCancel }, margin, wFields);
// Add listeners
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
wCancel.addListener(SWT.Selection, lsCancel);
wOK.addListener(SWT.Selection, lsOK);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wName.addSelectionListener(lsDef);
// 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();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return jobEntry;
}
use of org.pentaho.di.ui.core.widget.ColumnInfo in project pentaho-kettle by pentaho.
the class JobEntryShellDialog method open.
public JobEntryInterface open() {
Shell parent = getParent();
display = parent.getDisplay();
shell = new Shell(parent, props.getJobsDialogStyle());
props.setLook(shell);
JobDialog.setShellImage(shell, jobEntry);
ModifyListener lsMod = new ModifyListener() {
public void modifyText(ModifyEvent e) {
jobEntry.setChanged();
}
};
backupChanged = jobEntry.hasChanged();
backupLogfile = jobEntry.setLogfile;
backupDate = jobEntry.addDate;
backupTime = jobEntry.addTime;
FormLayout formLayout = new FormLayout();
formLayout.marginWidth = Const.FORM_MARGIN;
formLayout.marginHeight = Const.FORM_MARGIN;
shell.setLayout(formLayout);
shell.setText(BaseMessages.getString(PKG, "JobShell.Title"));
int middle = props.getMiddlePct();
int margin = Const.MARGIN;
// Name line
wlName = new Label(shell, SWT.RIGHT);
wlName.setText(BaseMessages.getString(PKG, "JobShell.Name.Label"));
props.setLook(wlName);
fdlName = new FormData();
fdlName.left = new FormAttachment(0, 0);
fdlName.top = 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);
fdName = new FormData();
fdName.top = new FormAttachment(0, 0);
fdName.left = new FormAttachment(middle, 0);
fdName.right = new FormAttachment(100, 0);
wName.setLayoutData(fdName);
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, "JobShell.Tab.General.Label"));
wGeneralComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wGeneralComp);
FormLayout generalLayout = new FormLayout();
generalLayout.marginWidth = 3;
generalLayout.marginHeight = 3;
wGeneralComp.setLayout(generalLayout);
// Insert Script?
wlInsertScript = new Label(wGeneralComp, SWT.RIGHT);
wlInsertScript.setText(BaseMessages.getString(PKG, "JobShell.InsertScript.Label"));
props.setLook(wlInsertScript);
fdlInsertScript = new FormData();
fdlInsertScript.left = new FormAttachment(0, 0);
fdlInsertScript.top = new FormAttachment(wName, margin);
fdlInsertScript.right = new FormAttachment(middle, -margin);
wlInsertScript.setLayoutData(fdlInsertScript);
wInsertScript = new Button(wGeneralComp, SWT.CHECK);
wInsertScript.setToolTipText(BaseMessages.getString(PKG, "JobShell.InsertScript.Tooltip"));
props.setLook(wInsertScript);
fdInsertScript = new FormData();
fdInsertScript.left = new FormAttachment(middle, 0);
fdInsertScript.top = new FormAttachment(wName, margin);
fdInsertScript.right = new FormAttachment(100, 0);
wInsertScript.setLayoutData(fdInsertScript);
wInsertScript.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
ActiveInsertScript();
jobEntry.setChanged();
}
});
// /////////////////////
// Filename line
// /////////////////////
wlFilename = new Label(wGeneralComp, SWT.RIGHT);
wlFilename.setText(BaseMessages.getString(PKG, "JobShell.Filename.Label"));
props.setLook(wlFilename);
fdlFilename = new FormData();
fdlFilename.left = new FormAttachment(0, 0);
fdlFilename.top = new FormAttachment(wInsertScript, margin);
fdlFilename.right = new FormAttachment(middle, 0);
wlFilename.setLayoutData(fdlFilename);
wbFilename = new Button(wGeneralComp, SWT.PUSH | SWT.CENTER);
props.setLook(wbFilename);
wbFilename.setText(BaseMessages.getString(PKG, "System.Button.Browse"));
fdbFilename = new FormData();
fdbFilename.top = new FormAttachment(wInsertScript, margin);
fdbFilename.right = new FormAttachment(100, 0);
wbFilename.setLayoutData(fdbFilename);
wFilename = new TextVar(jobMeta, wGeneralComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wFilename);
wFilename.addModifyListener(lsMod);
fdFilename = new FormData();
fdFilename.left = new FormAttachment(middle, 0);
fdFilename.right = new FormAttachment(wbFilename, -margin);
fdFilename.top = new FormAttachment(wInsertScript, margin);
wFilename.setLayoutData(fdFilename);
// /////////////////////
// Working dir line
// /////////////////////
wlWorkDirectory = new Label(wGeneralComp, SWT.RIGHT);
wlWorkDirectory.setText(BaseMessages.getString(PKG, "JobShell.WorkingDirectory.Label"));
props.setLook(wlWorkDirectory);
fdlWorkDirectory = new FormData();
fdlWorkDirectory.left = new FormAttachment(0, 0);
fdlWorkDirectory.top = new FormAttachment(wFilename, margin);
fdlWorkDirectory.right = new FormAttachment(middle, 0);
wlWorkDirectory.setLayoutData(fdlWorkDirectory);
wWorkDirectory = new TextVar(jobMeta, wGeneralComp, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
props.setLook(wWorkDirectory);
wWorkDirectory.addModifyListener(lsMod);
fdWorkDirectory = new FormData();
fdWorkDirectory.left = new FormAttachment(middle, 0);
fdWorkDirectory.right = new FormAttachment(wbFilename, -margin);
fdWorkDirectory.top = new FormAttachment(wFilename, margin);
wWorkDirectory.setLayoutData(fdWorkDirectory);
// ////////////////////////
// START OF LOGGING GROUP
//
wLogging = new Group(wGeneralComp, SWT.SHADOW_NONE);
props.setLook(wLogging);
wLogging.setText(BaseMessages.getString(PKG, "JobShell.LogSettings.Group.Label"));
FormLayout groupLayout = new FormLayout();
groupLayout.marginWidth = 10;
groupLayout.marginHeight = 10;
wLogging.setLayout(groupLayout);
// Set the logfile?
wlSetLogfile = new Label(wLogging, SWT.RIGHT);
wlSetLogfile.setText(BaseMessages.getString(PKG, "JobShell.Specify.Logfile.Label"));
props.setLook(wlSetLogfile);
fdlSetLogfile = new FormData();
fdlSetLogfile.left = new FormAttachment(0, 0);
fdlSetLogfile.top = new FormAttachment(0, margin);
fdlSetLogfile.right = new FormAttachment(middle, -margin);
wlSetLogfile.setLayoutData(fdlSetLogfile);
wSetLogfile = new Button(wLogging, SWT.CHECK);
props.setLook(wSetLogfile);
fdSetLogfile = new FormData();
fdSetLogfile.left = new FormAttachment(middle, 0);
fdSetLogfile.top = new FormAttachment(0, margin);
fdSetLogfile.right = new FormAttachment(100, 0);
wSetLogfile.setLayoutData(fdSetLogfile);
wSetLogfile.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.setLogfile = !jobEntry.setLogfile;
jobEntry.setChanged();
setActive();
}
});
// Append logfile?
wlAppendLogfile = new Label(wLogging, SWT.RIGHT);
wlAppendLogfile.setText(BaseMessages.getString(PKG, "JobShell.Append.Logfile.Label"));
props.setLook(wlAppendLogfile);
fdlAppendLogfile = new FormData();
fdlAppendLogfile.left = new FormAttachment(0, 0);
fdlAppendLogfile.top = new FormAttachment(wSetLogfile, margin);
fdlAppendLogfile.right = new FormAttachment(middle, -margin);
wlAppendLogfile.setLayoutData(fdlAppendLogfile);
wAppendLogfile = new Button(wLogging, SWT.CHECK);
wAppendLogfile.setToolTipText(BaseMessages.getString(PKG, "JobShell.Append.Logfile.Tooltip"));
props.setLook(wAppendLogfile);
fdAppendLogfile = new FormData();
fdAppendLogfile.left = new FormAttachment(middle, 0);
fdAppendLogfile.top = new FormAttachment(wSetLogfile, margin);
fdAppendLogfile.right = new FormAttachment(100, 0);
wAppendLogfile.setLayoutData(fdAppendLogfile);
wAppendLogfile.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
}
});
// Set the logfile path + base-name
wlLogfile = new Label(wLogging, SWT.RIGHT);
wlLogfile.setText(BaseMessages.getString(PKG, "JobShell.NameOfLogfile.Label"));
props.setLook(wlLogfile);
fdlLogfile = new FormData();
fdlLogfile.left = new FormAttachment(0, 0);
fdlLogfile.top = new FormAttachment(wAppendLogfile, margin);
fdlLogfile.right = new FormAttachment(middle, 0);
wlLogfile.setLayoutData(fdlLogfile);
wLogfile = new TextVar(jobMeta, wLogging, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wLogfile.setText("");
props.setLook(wLogfile);
fdLogfile = new FormData();
fdLogfile.left = new FormAttachment(middle, 0);
fdLogfile.top = new FormAttachment(wAppendLogfile, margin);
fdLogfile.right = new FormAttachment(100, 0);
wLogfile.setLayoutData(fdLogfile);
// Set the logfile filename extention
wlLogext = new Label(wLogging, SWT.RIGHT);
wlLogext.setText(BaseMessages.getString(PKG, "JobShell.LogfileExtension.Label"));
props.setLook(wlLogext);
fdlLogext = new FormData();
fdlLogext.left = new FormAttachment(0, 0);
fdlLogext.top = new FormAttachment(wLogfile, margin);
fdlLogext.right = new FormAttachment(middle, 0);
wlLogext.setLayoutData(fdlLogext);
wLogext = new TextVar(jobMeta, wLogging, SWT.SINGLE | SWT.LEFT | SWT.BORDER);
wLogext.setText("");
props.setLook(wLogext);
fdLogext = new FormData();
fdLogext.left = new FormAttachment(middle, 0);
fdLogext.top = new FormAttachment(wLogfile, margin);
fdLogext.right = new FormAttachment(100, 0);
wLogext.setLayoutData(fdLogext);
// Add date to logfile name?
wlAddDate = new Label(wLogging, SWT.RIGHT);
wlAddDate.setText(BaseMessages.getString(PKG, "JobShell.Logfile.IncludeDate.Label"));
props.setLook(wlAddDate);
fdlAddDate = new FormData();
fdlAddDate.left = new FormAttachment(0, 0);
fdlAddDate.top = new FormAttachment(wLogext, margin);
fdlAddDate.right = new FormAttachment(middle, -margin);
wlAddDate.setLayoutData(fdlAddDate);
wAddDate = new Button(wLogging, SWT.CHECK);
props.setLook(wAddDate);
fdAddDate = new FormData();
fdAddDate.left = new FormAttachment(middle, 0);
fdAddDate.top = new FormAttachment(wLogext, margin);
fdAddDate.right = new FormAttachment(100, 0);
wAddDate.setLayoutData(fdAddDate);
wAddDate.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.addDate = !jobEntry.addDate;
jobEntry.setChanged();
}
});
// Add time to logfile name?
wlAddTime = new Label(wLogging, SWT.RIGHT);
wlAddTime.setText(BaseMessages.getString(PKG, "JobShell.Logfile.IncludeTime.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(wLogging, 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) {
jobEntry.addTime = !jobEntry.addTime;
jobEntry.setChanged();
}
});
wlLoglevel = new Label(wLogging, SWT.RIGHT);
wlLoglevel.setText(BaseMessages.getString(PKG, "JobShell.Loglevel.Label"));
props.setLook(wlLoglevel);
fdlLoglevel = new FormData();
fdlLoglevel.left = new FormAttachment(0, 0);
fdlLoglevel.right = new FormAttachment(middle, -margin);
fdlLoglevel.top = new FormAttachment(wAddTime, margin);
wlLoglevel.setLayoutData(fdlLoglevel);
wLoglevel = new CCombo(wLogging, SWT.SINGLE | SWT.READ_ONLY | SWT.BORDER);
wLoglevel.setItems(LogLevel.getLogLevelDescriptions());
props.setLook(wLoglevel);
fdLoglevel = new FormData();
fdLoglevel.left = new FormAttachment(middle, 0);
fdLoglevel.top = new FormAttachment(wAddTime, margin);
fdLoglevel.right = new FormAttachment(100, 0);
wLoglevel.setLayoutData(fdLoglevel);
fdLogging = new FormData();
fdLogging.left = new FormAttachment(0, margin);
fdLogging.top = new FormAttachment(wWorkDirectory, margin);
fdLogging.right = new FormAttachment(100, -margin);
wLogging.setLayoutData(fdLogging);
// ///////////////////////////////////////////////////////////
// / END OF LOGGING GROUP
// ///////////////////////////////////////////////////////////
wlPrevious = new Label(wGeneralComp, SWT.RIGHT);
wlPrevious.setText(BaseMessages.getString(PKG, "JobShell.Previous.Label"));
props.setLook(wlPrevious);
fdlPrevious = new FormData();
fdlPrevious.left = new FormAttachment(0, 0);
fdlPrevious.top = new FormAttachment(wLogging, margin * 3);
fdlPrevious.right = new FormAttachment(middle, -margin);
wlPrevious.setLayoutData(fdlPrevious);
wPrevious = new Button(wGeneralComp, SWT.CHECK);
props.setLook(wPrevious);
wPrevious.setSelection(jobEntry.argFromPrevious);
wPrevious.setToolTipText(BaseMessages.getString(PKG, "JobShell.Previous.Tooltip"));
fdPrevious = new FormData();
fdPrevious.left = new FormAttachment(middle, 0);
fdPrevious.top = new FormAttachment(wLogging, margin * 3);
fdPrevious.right = new FormAttachment(100, 0);
wPrevious.setLayoutData(fdPrevious);
wPrevious.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.argFromPrevious = !jobEntry.argFromPrevious;
jobEntry.setChanged();
wlFields.setEnabled(!jobEntry.argFromPrevious);
wFields.setEnabled(!jobEntry.argFromPrevious);
}
});
wlEveryRow = new Label(wGeneralComp, SWT.RIGHT);
wlEveryRow.setText(BaseMessages.getString(PKG, "JobShell.ExecForEveryInputRow.Label"));
props.setLook(wlEveryRow);
fdlEveryRow = new FormData();
fdlEveryRow.left = new FormAttachment(0, 0);
fdlEveryRow.top = new FormAttachment(wPrevious, margin * 3);
fdlEveryRow.right = new FormAttachment(middle, -margin);
wlEveryRow.setLayoutData(fdlEveryRow);
wEveryRow = new Button(wGeneralComp, SWT.CHECK);
props.setLook(wEveryRow);
wEveryRow.setSelection(jobEntry.execPerRow);
wEveryRow.setToolTipText(BaseMessages.getString(PKG, "JobShell.ExecForEveryInputRow.Tooltip"));
fdEveryRow = new FormData();
fdEveryRow.left = new FormAttachment(middle, 0);
fdEveryRow.top = new FormAttachment(wPrevious, margin * 3);
fdEveryRow.right = new FormAttachment(100, 0);
wEveryRow.setLayoutData(fdEveryRow);
wEveryRow.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
jobEntry.execPerRow = !jobEntry.execPerRow;
jobEntry.setChanged();
}
});
wlFields = new Label(wGeneralComp, SWT.NONE);
wlFields.setText(BaseMessages.getString(PKG, "JobShell.Fields.Label"));
props.setLook(wlFields);
fdlFields = new FormData();
fdlFields.left = new FormAttachment(0, 0);
fdlFields.top = new FormAttachment(wEveryRow, margin);
wlFields.setLayoutData(fdlFields);
final int FieldsCols = 1;
int rows = jobEntry.arguments == null ? 1 : (jobEntry.arguments.length == 0 ? 0 : jobEntry.arguments.length);
final int FieldsRows = rows;
ColumnInfo[] colinf = new ColumnInfo[FieldsCols];
colinf[0] = new ColumnInfo(BaseMessages.getString(PKG, "JobShell.Fields.Argument.Label"), ColumnInfo.COLUMN_TYPE_TEXT, false);
colinf[0].setUsingVariables(true);
wFields = new TableView(jobMeta, wGeneralComp, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI, colinf, FieldsRows, lsMod, props);
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, -margin);
wFields.setLayoutData(fdFields);
wlFields.setEnabled(!jobEntry.argFromPrevious);
wFields.setEnabled(!jobEntry.argFromPrevious);
fdGeneralComp = new FormData();
fdGeneralComp.left = new FormAttachment(0, 0);
fdGeneralComp.top = new FormAttachment(0, 0);
fdGeneralComp.right = new FormAttachment(100, 0);
fdGeneralComp.bottom = new FormAttachment(500, -margin);
wGeneralComp.setLayoutData(fdGeneralComp);
wGeneralComp.layout();
wGeneralTab.setControl(wGeneralComp);
props.setLook(wGeneralComp);
// ///////////////////////////////////////////////////////////
// / END OF GENERAL TAB
// ///////////////////////////////////////////////////////////
// ////////////////////////////////////
// START OF Script TAB ///
// ///////////////////////////////////
wScriptTab = new CTabItem(wTabFolder, SWT.NONE);
wScriptTab.setText(BaseMessages.getString(PKG, "JobShell.Tab.Script.Label"));
FormLayout ScriptLayout = new FormLayout();
ScriptLayout.marginWidth = 3;
ScriptLayout.marginHeight = 3;
wScriptComp = new Composite(wTabFolder, SWT.NONE);
props.setLook(wScriptComp);
wScriptComp.setLayout(ScriptLayout);
// Script line
wScript = new Text(wScriptComp, SWT.MULTI | SWT.LEFT | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
props.setLook(wScript);
wScript.addModifyListener(lsMod);
fdScript = new FormData();
fdScript.left = new FormAttachment(0, margin);
fdScript.top = new FormAttachment(wlScript, margin);
fdScript.right = new FormAttachment(100, 0);
fdScript.bottom = new FormAttachment(100, -margin);
wScript.setLayoutData(fdScript);
fdScriptComp = new FormData();
fdScriptComp.left = new FormAttachment(0, 0);
fdScriptComp.top = new FormAttachment(0, 0);
fdScriptComp.right = new FormAttachment(100, 0);
fdScriptComp.bottom = new FormAttachment(100, 0);
wScriptComp.setLayoutData(wScriptComp);
wScriptComp.layout();
wScriptTab.setControl(wScriptComp);
// ///////////////////////////////////////////////////////////
// / END OF Script TAB
// ///////////////////////////////////////////////////////////
fdTabFolder = new FormData();
fdTabFolder.left = new FormAttachment(0, 0);
fdTabFolder.top = new FormAttachment(wName, margin);
fdTabFolder.right = new FormAttachment(100, 0);
fdTabFolder.bottom = new FormAttachment(100, -50);
wTabFolder.setLayoutData(fdTabFolder);
// Some buttons
wOK = new Button(shell, SWT.PUSH);
wOK.setText(BaseMessages.getString(PKG, "System.Button.OK"));
wCancel = new Button(shell, SWT.PUSH);
wCancel.setText(BaseMessages.getString(PKG, "System.Button.Cancel"));
BaseStepDialog.positionBottomButtons(shell, new Button[] { wOK, wCancel }, margin, wTabFolder);
// Add listeners
lsCancel = new Listener() {
public void handleEvent(Event e) {
cancel();
}
};
lsOK = new Listener() {
public void handleEvent(Event e) {
ok();
}
};
wOK.addListener(SWT.Selection, lsOK);
wCancel.addListener(SWT.Selection, lsCancel);
lsDef = new SelectionAdapter() {
public void widgetDefaultSelected(SelectionEvent e) {
ok();
}
};
wName.addSelectionListener(lsDef);
wFilename.addSelectionListener(lsDef);
wbFilename.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
dialog.setFilterExtensions(new String[] { "*.sh;*.bat;*.BAT", "*;*.*" });
dialog.setFilterNames(FILEFORMATS);
if (wFilename.getText() != null) {
dialog.setFileName(wFilename.getText());
}
if (dialog.open() != null) {
wFilename.setText(dialog.getFilterPath() + Const.FILE_SEPARATOR + dialog.getFileName());
wName.setText(dialog.getFileName());
}
}
});
// Detect [X] or ALT-F4 or something that kills this window...
shell.addShellListener(new ShellAdapter() {
public void shellClosed(ShellEvent e) {
cancel();
}
});
getData();
setActive();
ActiveInsertScript();
wTabFolder.setSelection(0);
BaseStepDialog.setSize(shell);
shell.open();
props.setDialogSize(shell, "JobShellDialogSize");
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return jobEntry;
}
use of org.pentaho.di.ui.core.widget.ColumnInfo in project pentaho-kettle by pentaho.
the class GPBulkLoaderDialog method setTableFieldCombo.
private void setTableFieldCombo() {
Runnable fieldLoader = new Runnable() {
public void run() {
if (!wTable.isDisposed() && !wConnection.isDisposed() && !wSchema.isDisposed()) {
final String tableName = wTable.getText(), connectionName = wConnection.getText(), schemaName = wSchema.getText();
// clear
for (ColumnInfo colInfo : tableFieldColumns) {
colInfo.setComboValues(new String[] {});
}
if (!Utils.isEmpty(tableName)) {
DatabaseMeta ci = transMeta.findDatabase(connectionName);
if (ci != null) {
Database db = new Database(loggingObject, ci);
try {
db.connect();
String schemaTable = ci.getQuotedSchemaTableCombination(transMeta.environmentSubstitute(schemaName), transMeta.environmentSubstitute(tableName));
RowMetaInterface r = db.getTableFields(schemaTable);
if (null != r) {
String[] fieldNames = r.getFieldNames();
if (null != fieldNames) {
for (ColumnInfo colInfo : tableFieldColumns) {
colInfo.setComboValues(fieldNames);
}
}
}
} catch (Exception e) {
for (ColumnInfo colInfo : tableFieldColumns) {
colInfo.setComboValues(new String[] {});
}
// ignore any errors here. drop downs will not be
// filled, but no problem for the user
}
}
}
}
}
};
shell.getDisplay().asyncExec(fieldLoader);
}
Aggregations