use of org.eclipse.jface.viewers.EditingSupport in project webtools.sourceediting by eclipse.
the class OutputPropertiesBlock method createControl.
public void createControl(Composite parent) {
TabItem item = new TabItem((TabFolder) parent, SWT.NONE);
// $NON-NLS-1$
item.setText(Messages.getString("OutputPropertiesBlock_0"));
Composite composite = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout(2, false);
layout.marginBottom = 0;
layout.marginWidth = 0;
composite.setLayout(layout);
item.setControl(composite);
table = new Table(composite, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.MULTI);
table.setHeaderVisible(true);
table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
table.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent event) {
if (event.character == SWT.DEL && event.stateMask == 0) {
performRemove();
}
}
});
TableColumn tc1 = new TableColumn(table, SWT.NONE);
// $NON-NLS-1$
tc1.setText(Messages.getString("OutputPropertiesBlock_1"));
tc1.setWidth(350);
tc1.setResizable(true);
TableColumn tc2 = new TableColumn(table, SWT.NONE);
// $NON-NLS-1$
tc2.setText(Messages.getString("OutputPropertiesBlock_2"));
tc2.setWidth(50);
tc2.setResizable(true);
Composite buttonComp = new Composite(composite, SWT.FILL);
buttonComp.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
GridLayout gl = new GridLayout();
gl.marginWidth = 0;
buttonComp.setLayout(gl);
Button addButton = new Button(buttonComp, SWT.PUSH);
// $NON-NLS-1$
addButton.setText(Messages.getString("OutputPropertiesBlock_3"));
addButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
addButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
}
public void widgetSelected(SelectionEvent e) {
OutputPropertyDialog dialog = new OutputPropertyDialog(getShell(), properties);
if (dialog.open() == Window.OK) {
List<IOutputProperty> newProperties = dialog.getOutpuProperties();
String first = null;
for (IOutputProperty property : newProperties) {
String att = property.getURI();
if (first == null)
first = att;
properties.setProperty(property.getURI(), null);
}
if (newProperties.size() > 0) {
tViewer.refresh();
tViewer.setSelection(new StructuredSelection(first), true);
tViewer.editElement(first, 1);
updateLaunchConfigurationDialog();
}
}
}
});
removeButton = new Button(buttonComp, SWT.PUSH);
// $NON-NLS-1$
removeButton.setText(Messages.getString("OutputPropertiesBlock_4"));
removeButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
removeButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
}
public void widgetSelected(SelectionEvent e) {
performRemove();
}
});
setControl(table);
tViewer = new TableViewer(table);
tViewer.setContentProvider(new IStructuredContentProvider() {
public Object[] getElements(Object inputElement) {
return properties.getProperties().keySet().toArray(new String[0]);
}
public void dispose() {
}
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
});
tViewer.setSorter(new ViewerSorter());
tViewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
updateRemoveButton();
}
});
TableViewerColumn tvc1 = new TableViewerColumn(tViewer, tc1);
tvc1.setLabelProvider(new CellLabelProvider() {
@Override
public void update(ViewerCell cell) {
String tv = (String) cell.getElement();
cell.setText(tv);
}
@Override
public int getToolTipTimeDisplayed(Object object) {
return 5000;
}
@Override
public String getToolTipText(Object element) {
String tv = (String) element;
return propertyUris.get(tv).getDescription();
}
});
// ColumnViewerToolTipSupport.enableFor(tViewer);
TableViewerColumn tvc2 = new TableViewerColumn(tViewer, tc2);
tvc2.setLabelProvider(new CellLabelProvider() {
@Override
public void update(ViewerCell cell) {
String tv = (String) cell.getElement();
String val = properties.getProperty(tv);
// $NON-NLS-1$
cell.setText(val == null ? "" : val);
}
});
tvc2.setEditingSupport(new EditingSupport(tViewer) {
@Override
protected boolean canEdit(Object element) {
return true;
}
@Override
protected CellEditor getCellEditor(Object element) {
return new TextCellEditor(table);
}
@Override
protected Object getValue(Object element) {
String tv = (String) element;
String val = properties.getProperty(tv);
// $NON-NLS-1$
return val == null ? "" : val;
}
@Override
protected void setValue(Object element, Object value) {
String tv = (String) element;
properties.setProperty(tv, (String) value);
updateLaunchConfigurationDialog();
tViewer.update(tv, null);
}
});
restoreColumnSettings();
}
use of org.eclipse.jface.viewers.EditingSupport in project cubrid-manager by CUBRID.
the class ExportSettingPage method createControl.
@Override
public void createControl(Composite parent) {
Composite container = new Composite(parent, SWT.NONE);
container.setLayout(new FormLayout());
setControl(container);
Composite leftComposite = new Composite(container, SWT.NONE);
leftComposite.setLayout(new GridLayout());
FormData leftData = new FormData();
leftData.top = new FormAttachment(0, 5);
leftData.bottom = new FormAttachment(100, 0);
leftData.left = new FormAttachment(0, 5);
leftData.right = new FormAttachment(45, 0);
leftComposite.setLayoutData(leftData);
Composite rightComposite = new Composite(container, SWT.NONE);
FormData rightData = new FormData();
rightData.top = new FormAttachment(0, 5);
rightData.bottom = new FormAttachment(100, 0);
rightData.left = new FormAttachment(45, 0);
rightData.right = new FormAttachment(100, -5);
rightComposite.setLayoutData(rightData);
GridLayout rightCompositeLayout = new GridLayout();
rightCompositeLayout.verticalSpacing = 10;
rightComposite.setLayout(rightCompositeLayout);
Label tableInfoLabel = new Label(leftComposite, SWT.None);
tableInfoLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
tableInfoLabel.setText(Messages.exportWizardSourceTableLable);
treeViewer = new CheckboxTreeViewer(leftComposite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
treeViewer.getTree().setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
treeViewer.setContentProvider(new FilterTreeContentProvider());
treeViewer.getTree().setLinesVisible(true);
treeViewer.getTree().setHeaderVisible(true);
treeViewer.addCheckStateListener(new ICheckStateListener() {
public void checkStateChanged(CheckStateChangedEvent event) {
updateDialogStatus(null);
}
});
final TreeViewerColumn dbObjectCol = new TreeViewerColumn(treeViewer, SWT.NONE);
dbObjectCol.setLabelProvider(new ExportObjectLabelProvider());
final TreeViewerColumn whereCnd = new TreeViewerColumn(treeViewer, SWT.NONE);
whereCnd.setLabelProvider(new ExportObjectLabelProvider());
whereCnd.setEditingSupport(new EditingSupport(treeViewer) {
TextCellEditor textCellEditor;
protected boolean canEdit(Object element) {
if (element instanceof ICubridNode) {
ICubridNode node = (ICubridNode) element;
if (node.getType() == NodeType.TABLE_COLUMN_FOLDER) {
return true;
}
}
return false;
}
protected CellEditor getCellEditor(Object element) {
if (textCellEditor == null) {
textCellEditor = new TextCellEditor(treeViewer.getTree());
textCellEditor.addListener(new ICellEditorListener() {
public void applyEditorValue() {
}
public void cancelEditor() {
}
public void editorValueChanged(boolean oldValidState, boolean newValidState) {
}
});
}
return textCellEditor;
}
protected Object getValue(Object element) {
final ICubridNode node = (ICubridNode) element;
String condition = (String) node.getData(ExportObjectLabelProvider.CONDITION);
if (condition == null) {
return "";
} else {
return condition;
}
}
protected void setValue(Object element, Object value) {
final ICubridNode node = (ICubridNode) element;
node.setData(ExportObjectLabelProvider.CONDITION, value);
treeViewer.refresh();
updateDialogStatus(null);
}
});
dbObjectCol.getColumn().setWidth(160);
dbObjectCol.getColumn().setText(Messages.tableLabel);
whereCnd.getColumn().setWidth(120);
whereCnd.getColumn().setText(Messages.conditionLabel);
final Button selectAllBtn = new Button(leftComposite, SWT.CHECK);
{
selectAllBtn.setText(Messages.btnSelectAll);
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.horizontalIndent = 0;
gridData.horizontalSpan = 3;
selectAllBtn.setLayoutData(gridData);
}
selectAllBtn.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
boolean selection = selectAllBtn.getSelection();
for (ICubridNode node : tablesOrViewLst) {
treeViewer.setGrayed(node, false);
treeViewer.setChecked(node, selection);
}
updateDialogStatus(null);
}
});
/* Export content option */
Group exportOptionGroup = new Group(rightComposite, SWT.None);
exportOptionGroup.setText(Messages.exportWizardWhatExport);
exportOptionGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
RowLayout layout = new RowLayout();
layout.spacing = 8;
layout.marginWidth = 5;
exportOptionGroup.setLayout(layout);
schemaButton = new Button(exportOptionGroup, SWT.CHECK);
schemaButton.setText(Messages.lblExportTargetSchema);
schemaButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
widgetDefaultSelected(e);
}
public void widgetDefaultSelected(SelectionEvent e) {
boolean selection = schemaButton.getSelection();
indexButton.setEnabled(selection);
serialButton.setEnabled(selection);
viewButton.setEnabled(selection);
startValueButton.setEnabled(selection);
updateDialogStatus(null);
}
});
dataButton = new Button(exportOptionGroup, SWT.CHECK);
dataButton.setText(Messages.lblExportTargetData);
dataButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
widgetDefaultSelected(e);
}
public void widgetDefaultSelected(SelectionEvent e) {
updateDialogStatus(null);
updateExportLobButtonStatus();
}
});
indexButton = new Button(exportOptionGroup, SWT.CHECK);
indexButton.setText(Messages.lblExportTargetIndex);
serialButton = new Button(exportOptionGroup, SWT.CHECK);
serialButton.setText(Messages.lblExportTargetSerial);
viewButton = new Button(exportOptionGroup, SWT.CHECK);
viewButton.setText(Messages.lblExportTargetView);
exportLobButton = new Button(exportOptionGroup, SWT.CHECK);
exportLobButton.setText(Messages.lblExportLobData);
exportLobButton.setToolTipText(Messages.lblExportLobData);
exportLobButton.setEnabled(false);
startValueButton = new Button(exportOptionGroup, SWT.CHECK);
startValueButton.setText(Messages.lblExportTargetStartValue);
startValueButton.setToolTipText(Messages.tipExportTargetStartValue);
/* Type group */
Group typeOptionGroup = new Group(rightComposite, SWT.None);
typeOptionGroup.setText(Messages.exportWizardWhereExport);
typeOptionGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
typeOptionGroup.setLayout(new GridLayout(2, false));
Label typeLabel = new Label(typeOptionGroup, SWT.None);
typeLabel.setText(Messages.exportWizardFileType);
typeLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
Composite typeComposite = new Composite(typeOptionGroup, SWT.None);
typeComposite.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
typeComposite.setLayout(new GridLayout(6, false));
sqlButton = new Button(typeComposite, SWT.RADIO);
sqlButton.setText("SQL");
sqlButton.setToolTipText("SQL");
sqlButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
sqlButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
widgetDefaultSelected(e);
}
public void widgetDefaultSelected(SelectionEvent e) {
useFirstAsColumnBtn.setEnabled(false);
setNullWidgetStatus(false);
setDelimiterWidgetStatus(false);
updateDialogStatus(null);
updateExportLobButtonStatus();
}
});
csvButton = new Button(typeComposite, SWT.RADIO);
csvButton.setText("CSV");
csvButton.setToolTipText("CSV");
csvButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
csvButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
widgetDefaultSelected(e);
}
public void widgetDefaultSelected(SelectionEvent e) {
useFirstAsColumnBtn.setEnabled(true);
setNullWidgetStatus(true);
setDelimiterWidgetStatus(false);
updateDialogStatus(null);
updateExportLobButtonStatus();
}
});
xlsButton = new Button(typeComposite, SWT.RADIO);
xlsButton.setText("XLS");
xlsButton.setToolTipText("XLS");
xlsButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
xlsButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
widgetDefaultSelected(e);
}
public void widgetDefaultSelected(SelectionEvent e) {
useFirstAsColumnBtn.setEnabled(true);
setNullWidgetStatus(true);
setDelimiterWidgetStatus(false);
updateDialogStatus(null);
updateExportLobButtonStatus();
}
});
xlsxButton = new Button(typeComposite, SWT.RADIO);
xlsxButton.setText("XLSX");
xlsxButton.setToolTipText("XLSX");
xlsxButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
xlsxButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
widgetDefaultSelected(e);
}
public void widgetDefaultSelected(SelectionEvent e) {
useFirstAsColumnBtn.setEnabled(true);
setNullWidgetStatus(true);
setDelimiterWidgetStatus(false);
updateDialogStatus(null);
updateExportLobButtonStatus();
}
});
txtButton = new Button(typeComposite, SWT.RADIO);
txtButton.setText("TXT");
txtButton.setToolTipText("TXT");
txtButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
txtButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
widgetDefaultSelected(e);
}
public void widgetDefaultSelected(SelectionEvent e) {
useFirstAsColumnBtn.setEnabled(true);
setNullWidgetStatus(true);
setDelimiterWidgetStatus(true);
updateDialogStatus(null);
updateExportLobButtonStatus();
}
});
obsButton = new Button(typeComposite, SWT.RADIO);
obsButton.setText("OBS");
obsButton.setToolTipText("OBS");
obsButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
obsButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
widgetDefaultSelected(e);
}
public void widgetDefaultSelected(SelectionEvent e) {
useFirstAsColumnBtn.setEnabled(false);
setNullWidgetStatus(false);
setDelimiterWidgetStatus(false);
updateDialogStatus(null);
updateExportLobButtonStatus();
}
});
Label pathLabel = new Label(typeOptionGroup, SWT.None);
pathLabel.setText(Messages.exportWizardFilepath);
pathLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
Composite fileComposite = new Composite(typeOptionGroup, SWT.None);
fileComposite.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
fileComposite.setLayout(new GridLayout(2, false));
pathText = new Text(fileComposite, SWT.BORDER);
pathText.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
pathText.setEditable(false);
Button browseButton = new Button(fileComposite, SWT.None);
browseButton.setText(Messages.btnBrowse);
browseButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
browseButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
File savedDirFile = TableUtil.getSavedDir(getShell(), Messages.titleSelectFolderToBeExported, Messages.msgSelectFolderToBeExported, pathText.getText());
if (savedDirFile != null) {
String savePathString = null;
String[] files = savedDirFile.list();
String databaseName = getDatabase().getDatabaseInfo().getDbName();
if (files != null && files.length > 0) {
String confirmMessage = Messages.bind(Messages.errorExportExistsFilesInFolder, databaseName);
boolean useCreate = CommonUITool.openConfirmBox(confirmMessage);
if (useCreate) {
File newFolder = new File(savedDirFile.getAbsolutePath() + File.separator + databaseName);
boolean existsDbNameFolder = newFolder.exists();
files = newFolder.list();
if (existsDbNameFolder && files != null && files.length > 0) {
String newFolderName = databaseName + "_" + DateUtil.getDatetimeStringOnNow("HHmmss");
savePathString = savedDirFile.getAbsolutePath() + File.separator + newFolderName;
String warnMessage = Messages.bind(Messages.errorExportExistsFilesInFolderWithRename, newFolderName);
CommonUITool.openWarningBox(warnMessage);
} else {
savePathString = savedDirFile.getAbsolutePath() + File.separator + databaseName;
}
new File(savePathString).mkdirs();
} else {
return;
}
} else {
savePathString = savedDirFile.getAbsolutePath();
}
pathText.setText(savePathString);
}
updateDialogStatus(null);
}
});
Group parsingGroup = new Group(rightComposite, SWT.None);
parsingGroup.setText(Messages.exportWizardParsingOption);
parsingGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
GridLayout parsingGroupLayout = new GridLayout(4, false);
parsingGroupLayout.horizontalSpacing = 10;
parsingGroup.setLayout(parsingGroupLayout);
Label threadCountLabel = new Label(parsingGroup, SWT.None);
threadCountLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
threadCountLabel.setText(Messages.lblThreadCount);
threadCountSpinner = new Spinner(parsingGroup, SWT.BORDER | SWT.LEFT);
threadCountSpinner.setValues(DEFAULT_EXPORT_THREAD_COUNT, MIN_EXPORT_THREAD_COUNT, MAX_EXPORT_THREAD_COUNT, 0, 1, 2);
threadCountSpinner.setLayoutData(CommonUITool.createGridData(GridData.HORIZONTAL_ALIGN_FILL, 1, 1, -1, -1));
Label emptyLabel = new Label(parsingGroup, SWT.None);
emptyLabel.setLayoutData(CommonUITool.createGridData(2, 1, -1, -1));
emptyLabel.setText("");
Label dbCharsetLabel = new Label(parsingGroup, SWT.None);
dbCharsetLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
dbCharsetLabel.setText(Messages.lblJDBCCharset);
dbCharsetCombo = new Combo(parsingGroup, SWT.BORDER);
dbCharsetCombo.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
dbCharsetCombo.setItems(QueryOptions.getAllCharset(null));
dbCharsetCombo.setEnabled(false);
Label fileCharsetLabel = new Label(parsingGroup, SWT.None);
fileCharsetLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
fileCharsetLabel.setText(Messages.lblFileCharset);
fileCharsetCombo = new Combo(parsingGroup, SWT.BORDER);
fileCharsetCombo.setLayoutData(CommonUITool.createGridData(1, 1, -1, 21));
fileCharsetCombo.setItems(QueryOptions.getAllCharset(null));
Group dataOptionGroup = new Group(rightComposite, SWT.None);
dataOptionGroup.setText(Messages.exportWizardDataOption);
dataOptionGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
dataOptionGroup.setLayout(new GridLayout(2, false));
useFirstAsColumnBtn = new Button(dataOptionGroup, SWT.CHECK);
{
useFirstAsColumnBtn.setText(Messages.exportFirstLineFLAG);
GridData gridData = new GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.horizontalIndent = 0;
gridData.horizontalSpan = 2;
useFirstAsColumnBtn.setLayoutData(gridData);
useFirstAsColumnBtn.setSelection(false);
}
Group delimiterOptionGroup = new Group(dataOptionGroup, SWT.None);
delimiterOptionGroup.setText(Messages.exportWizardDelimiterOptions);
delimiterOptionGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
delimiterOptionGroup.setLayout(new GridLayout(2, false));
Label columnLabel = new Label(delimiterOptionGroup, SWT.None);
columnLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
columnLabel.setText(Messages.exportWizardColumnSeperator);
columnDelimiterCombo = new Combo(delimiterOptionGroup, SWT.BORDER);
columnDelimiterCombo.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
columnDelimiterCombo.setTextLimit(32);
columnDelimiterCombo.setItems(columnDelimeterName);
columnDelimiterCombo.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent event) {
updateDialogStatus(null);
}
});
Label rowLabel = new Label(delimiterOptionGroup, SWT.None);
rowLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
rowLabel.setText(Messages.exportWizardRowSeperator);
rowDelimiterCombo = new Combo(delimiterOptionGroup, SWT.BORDER);
rowDelimiterCombo.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
rowDelimiterCombo.setTextLimit(32);
rowDelimiterCombo.setItems(rowDelimeterName);
rowDelimiterCombo.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent event) {
updateDialogStatus(null);
}
});
Group nullValueGroup = new Group(dataOptionGroup, SWT.None);
nullValueGroup.setText(Messages.exportWizardNullOptions);
nullValueGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
nullValueGroup.setLayout(new GridLayout(3, false));
nullOneButton = new Button(nullValueGroup, SWT.RADIO);
nullOneButton.setText("'NULL'");
nullOneButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
nullTwoButton = new Button(nullValueGroup, SWT.RADIO);
nullTwoButton.setText("'\\N'");
nullTwoButton.setLayoutData(CommonUITool.createGridData(2, 1, -1, -1));
nullThreeButton = new Button(nullValueGroup, SWT.RADIO);
nullThreeButton.setText("'(NULL)'");
nullThreeButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
otherButton = new Button(nullValueGroup, SWT.RADIO);
otherButton.setText(Messages.btnOther);
otherButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
otherButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
widgetDefaultSelected(e);
}
public void widgetDefaultSelected(SelectionEvent e) {
updateDialogStatus(null);
}
});
otherText = new Text(nullValueGroup, SWT.BORDER);
otherText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
otherText.setTextLimit(64);
otherText.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent event) {
updateDialogStatus(null);
}
});
useFirstAsColumnBtn.setEnabled(false);
setNullWidgetStatus(false);
setDelimiterWidgetStatus(false);
}
use of org.eclipse.jface.viewers.EditingSupport in project yamcs-studio by yamcs.
the class PropertiesEditDialog method createPropertiesViewer.
private TableViewer createPropertiesViewer(Composite parent) {
TableViewer viewer = new TableViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
viewer.getTable().setLinesVisible(true);
viewer.getTable().setHeaderVisible(true);
TableViewerColumn tvColumn = new TableViewerColumn(viewer, SWT.NONE);
tvColumn.getColumn().setText("Property");
tvColumn.getColumn().setMoveable(false);
tvColumn.getColumn().setWidth(150);
tvColumn = new TableViewerColumn(viewer, SWT.NONE);
tvColumn.getColumn().setText("Value");
tvColumn.getColumn().setMoveable(false);
tvColumn.getColumn().setWidth(150);
EditingSupport editingSupport = new PropertyDataEditingSupport(viewer, viewer.getTable());
tvColumn.setEditingSupport(editingSupport);
viewer.setContentProvider(new ArrayContentProvider());
viewer.setLabelProvider(new PropertyDataLabelProvider());
viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
return viewer;
}
use of org.eclipse.jface.viewers.EditingSupport in project tmdm-studio-se by Talend.
the class UpdateAutoIncrementDialog method createTable.
private void createTable(Composite mainComp) {
int style = SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.FULL_SELECTION;
resultsViewer = new TableViewer(mainComp, style);
resultsViewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
resultsViewer.getTable().setHeaderVisible(true);
resultsViewer.getTable().setLinesVisible(true);
resultsViewer.setContentProvider(getContentProvider());
TableViewerColumn column = new TableViewerColumn(resultsViewer, SWT.NONE);
column.getColumn().setText(Messages.UpdateAutoIncrementDialog_entity);
column.getColumn().setResizable(true);
column.getColumn().setWidth(300);
column.setLabelProvider(new CustomedLabelProvider(0));
column.setEditingSupport(null);
column = new TableViewerColumn(resultsViewer, SWT.NONE);
column.getColumn().setText(Messages.UpdateAutoIncrementDialog_value);
column.getColumn().setResizable(true);
column.getColumn().setWidth(100);
column.setLabelProvider(new CustomedLabelProvider(1));
column.setEditingSupport(new EditingSupport(resultsViewer) {
@Override
protected CellEditor getCellEditor(Object element) {
return new VerificableTextCellEditor(resultsViewer.getTable());
}
@Override
protected boolean canEdit(Object element) {
return true;
}
@Override
protected Object getValue(Object element) {
Line line = (Line) element;
return line.keyValues.get(1).value;
}
@Override
protected void setValue(Object element, Object value) {
Line line = (Line) element;
line.keyValues.get(1).value = value.toString();
resultsViewer.refresh();
}
});
resultsViewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
IStructuredSelection selection = (IStructuredSelection) resultsViewer.getSelection();
resetBtn.setEnabled(!selection.isEmpty());
}
});
List<Line> lines = getInput();
resultsViewer.setInput(lines);
}
use of org.eclipse.jface.viewers.EditingSupport in project webtools.sourceediting by eclipse.
the class AttributesBlock method createControl.
public void createControl(Composite parent) {
TabItem item = new TabItem((TabFolder) parent, SWT.NONE);
// $NON-NLS-1$
item.setText(Messages.getString("AttributesBlock.0"));
Composite composite = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout(2, false);
layout.marginBottom = 0;
layout.marginWidth = 0;
composite.setLayout(layout);
item.setControl(composite);
table = new Table(composite, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.MULTI);
table.setHeaderVisible(true);
table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
table.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent event) {
if (event.character == SWT.DEL && event.stateMask == 0) {
performRemove();
}
}
});
TableColumn tc1 = new TableColumn(table, SWT.NONE);
// $NON-NLS-1$
tc1.setText(Messages.getString("AttributesBlock.2"));
tc1.setWidth(350);
tc1.setResizable(true);
TableColumn tc2 = new TableColumn(table, SWT.NONE);
// $NON-NLS-1$
tc2.setText(Messages.getString("AttributesBlock.7"));
tc2.setWidth(50);
tc2.setResizable(true);
Composite buttonComp = new Composite(composite, SWT.FILL);
buttonComp.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
GridLayout gl = new GridLayout();
gl.marginWidth = 0;
buttonComp.setLayout(gl);
Button addButton = new Button(buttonComp, SWT.PUSH);
// $NON-NLS-1$
addButton.setText(Messages.getString("AttributesBlock.8"));
addButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
addButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
}
public void widgetSelected(SelectionEvent e) {
AttributeDialog dialog = new AttributeDialog(getShell(), attributes);
if (dialog.open() == Window.OK) {
List<IAttribute> newAttributes = dialog.getAttributes();
LaunchAttribute first = null;
for (IAttribute attribute : newAttributes) {
// $NON-NLS-1$
LaunchAttribute att = new LaunchAttribute(attribute.getURI(), "string", null);
if (first == null)
first = att;
attributes.addAttribute(att);
}
if (newAttributes.size() > 0) {
tViewer.refresh();
tViewer.setSelection(new StructuredSelection(first), true);
tViewer.editElement(first, 1);
updateLaunchConfigurationDialog();
}
}
}
});
removeButton = new Button(buttonComp, SWT.PUSH);
// $NON-NLS-1$
removeButton.setText(Messages.getString("AttributesBlock.14"));
removeButton.setLayoutData(new GridData(SWT.FILL, SWT.TOP, false, false));
removeButton.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
}
public void widgetSelected(SelectionEvent e) {
performRemove();
}
});
setControl(table);
tViewer = new TableViewer(table);
tViewer.setContentProvider(new IStructuredContentProvider() {
public Object[] getElements(Object inputElement) {
return attributes.getAttributes().toArray(new LaunchAttribute[0]);
}
public void dispose() {
}
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
attributes = (LaunchAttributes) newInput;
}
});
tViewer.setSorter(new ViewerSorter() {
@Override
public int compare(Viewer viewer, Object e1, Object e2) {
LaunchAttribute a1 = (LaunchAttribute) e1;
LaunchAttribute a2 = (LaunchAttribute) e2;
return a1.uri.compareTo(a2.uri);
}
});
tViewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
updateRemoveButton();
}
});
TableViewerColumn tvc1 = new TableViewerColumn(tViewer, tc1);
tvc1.setLabelProvider(new CellLabelProvider() {
@Override
public void update(ViewerCell cell) {
LaunchAttribute tv = (LaunchAttribute) cell.getElement();
cell.setText(tv.uri);
}
@Override
public int getToolTipTimeDisplayed(Object object) {
return 5000;
}
@Override
public String getToolTipText(Object element) {
LaunchAttribute tv = (LaunchAttribute) element;
return attributeUris.get(tv.uri).getDescription();
}
});
// ColumnViewerToolTipSupport.enableFor(tViewer);
TableViewerColumn tvc2 = new TableViewerColumn(tViewer, tc2);
tvc2.setLabelProvider(new CellLabelProvider() {
@Override
public void update(ViewerCell cell) {
LaunchAttribute tv = (LaunchAttribute) cell.getElement();
cell.setText(tv.value);
}
});
tvc2.setEditingSupport(new EditingSupport(tViewer) {
@Override
protected boolean canEdit(Object element) {
return true;
}
@Override
protected CellEditor getCellEditor(Object element) {
return new TextCellEditor(table);
}
@Override
protected Object getValue(Object element) {
LaunchAttribute tv = (LaunchAttribute) element;
// $NON-NLS-1$
return tv.value == null ? "" : tv.value;
}
@Override
protected void setValue(Object element, Object value) {
LaunchAttribute tv = (LaunchAttribute) element;
tv.setValue((String) value);
updateLaunchConfigurationDialog();
tViewer.update(tv, null);
}
});
restoreColumnSettings();
}
Aggregations