use of org.eclipse.jface.viewers.ICellModifier in project cubrid-manager by CUBRID.
the class SetReplicationParamComp method linkEditorForTable.
/**
* check & update table content of being edited
*
*/
private void linkEditorForTable() {
replicationParamTableViewer.setColumnProperties(columnNameArrs);
CellEditor[] editors = new CellEditor[3];
editors[0] = null;
editors[1] = null;
editors[2] = new TextCellEditor(replicationParamTable);
replicationParamTableViewer.setCellEditors(editors);
replicationParamTableViewer.setCellModifier(new ICellModifier() {
public boolean canModify(Object element, String property) {
if (property.equals(columnNameArrs[2])) {
return true;
}
return false;
}
@SuppressWarnings("unchecked")
public Object getValue(Object element, String property) {
Map<String, String> map = (Map<String, String>) element;
if (property.equals(columnNameArrs[2])) {
return map.get("2");
}
return null;
}
@SuppressWarnings("unchecked")
public void modify(Object element, String property, Object value) {
Object obj = null;
if (element instanceof Item) {
obj = ((Item) element).getData();
}
if (obj == null) {
return;
}
Map<String, String> map = (Map<String, String>) obj;
String parameter = map.get("0");
String type = map.get("1");
String paraValue = map.get("2");
boolean isValid = true;
String errorMsg = null;
if (type.startsWith("bool")) {
if (!value.toString().equalsIgnoreCase("Y") && !value.toString().equalsIgnoreCase("N")) {
isValid = false;
errorMsg = Messages.bind(Messages.repparm0errYesNoParameter, new String[] { parameter });
}
} else if (type.startsWith("int")) {
String paraVal = value.toString();
if (paraVal.length() > 8 || !paraVal.matches("\\d+")) {
isValid = false;
}
if (isValid) {
int intValue = Integer.parseInt(paraVal);
if (parameter.equals(ReplicationParamConstants.PERF_POLL_INTERVAL)) {
if (intValue < 10 || intValue > 60) {
isValid = false;
errorMsg = Messages.bind(Messages.repparm0errPerfPollInterval, new String[] { parameter });
}
} else if (parameter.equals(ReplicationParamConstants.SIZE_OF_LOG_BUFFER)) {
if (intValue < 100 || intValue > 1000) {
isValid = false;
errorMsg = Messages.bind(Messages.repparm0errSizeOfLogBuffer, new String[] { parameter });
}
} else if (parameter.equals(ReplicationParamConstants.SIZE_OF_CACHE_BUFFER)) {
if (intValue < 100 || intValue > 500) {
isValid = false;
errorMsg = Messages.bind(Messages.repparm0errSizeOfCacheBuffer, new String[] { parameter });
}
} else if (parameter.equals(ReplicationParamConstants.SIZE_OF_COPYLOG)) {
if (intValue < 1000 || intValue > 10000) {
isValid = false;
errorMsg = Messages.bind(Messages.repparm0errSizeOfCopylog, new String[] { parameter });
}
} else if (parameter.equals(ReplicationParamConstants.LOG_APPLY_INTERVAL)) {
if (intValue < 0 || intValue > 600) {
isValid = false;
errorMsg = Messages.bind(Messages.repparm0errLogApplyInterval, new String[] { parameter });
}
} else if (parameter.equals(ReplicationParamConstants.RESTART_INTERVAL) && (intValue < 1 || intValue > 60)) {
isValid = false;
errorMsg = Messages.bind(Messages.repparm0errRestartInterval, new String[] { parameter });
}
} else {
errorMsg = Messages.bind(Messages.repparm0errOnlyInteger, new String[] { parameter });
isValid = false;
}
}
if (!isValid && errorMsg != null) {
setErrorMsg(errorMsg);
updatableComp.updateUI();
}
setErrorMsg(null);
if (isValid && property.equals(columnNameArrs[2]) && !paraValue.equals(value)) {
map.put("2", value.toString());
updatableComp.updateUI();
}
replicationParamTableViewer.refresh();
for (int i = 0; i < replicationParamTable.getColumnCount(); i++) {
replicationParamTable.getColumn(i).pack();
}
}
});
}
use of org.eclipse.jface.viewers.ICellModifier in project tdi-studio-se by Talend.
the class HL7OutputUI method addXMLViewer.
/**
* create xml viewer.
*
* @param mainComposite
* @param form
* @param width
* @param height
*/
private void addXMLViewer(final Composite mainComposite, final int width, final int height) {
// Group Schema Viewer
Group group = Form.createGroup(mainComposite, 1, "Linker Target", height);
// group.setBackgroundMode(SWT.INHERIT_FORCE);
xmlViewer = new TreeViewer(group, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
GridData gridData = new GridData(GridData.FILL_BOTH);
xmlViewer.getControl().setLayoutData(gridData);
xmlViewer.setUseHashlookup(true);
Tree tree = xmlViewer.getTree();
if (canModify || isRespo) {
tree.setEnabled(false);
}
tree.setLinesVisible(true);
tree.setBackground(tree.getDisplay().getSystemColor(SWT.COLOR_WHITE));
TreeColumn column1 = new TreeColumn(tree, SWT.LEFT);
column1.setText("HL7 Structure");
column1.setWidth(170);
// Related Column
TreeColumn column2 = new TreeColumn(tree, SWT.CENTER);
column2.setText("Related Column");
column2.setWidth(100);
TreeColumn column3 = new TreeColumn(tree, SWT.CENTER);
column3.setText("Node Status");
column3.setWidth(90);
TreeColumn column4 = new TreeColumn(tree, SWT.CENTER);
column4.setText("Default Value");
column4.setWidth(90);
tree.setHeaderVisible(true);
// tree.setBackgroundMode(SWT.INHERIT_NONE);
HL7TargetTreeViewerProvider provider = new HL7TargetTreeViewerProvider();
xmlViewer.setLabelProvider(provider);
xmlViewer.setCellModifier(new ICellModifier() {
@Override
public boolean canModify(Object element, String property) {
HL7TreeNode node = (HL7TreeNode) element;
if (property.equals("C1")) {
if (node.getLabel() != null && node.getLabel().length() > 0) {
return true;
}
}
if (property.equals("C4")) {
if (node.getDefaultValue() != null && node.getDefaultValue().length() > 0) {
return true;
}
}
return false;
}
@Override
public Object getValue(Object element, String property) {
HL7TreeNode node = (HL7TreeNode) element;
if (property.equals("C1")) {
return node.getLabel();
}
if (property.equals("C4")) {
return node.getDefaultValue();
}
return null;
}
@Override
public void modify(Object element, String property, Object value) {
TreeItem treeItem = (TreeItem) element;
HL7TreeNode node = (HL7TreeNode) treeItem.getData();
if (property.equals("C1")) {
if (value != null && value.toString().length() == 0) {
value = node.getLabel();
}
node.setLabel((String) value);
}
if (property.equals("C4")) {
node.setDefaultValue((String) value);
}
xmlViewer.refresh(node);
}
});
//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
xmlViewer.setColumnProperties(new String[] { "C1", "C2", "C3", "C4" });
CellEditor editor = new TextCellEditor(xmlViewer.getTree());
editor.addListener(new DialogErrorXMLLabelCellEditor(editor, "C1"));
// add by wzhang for bug 8572. set Default value column to be edit.
CellEditor editorDefault = new TextCellEditor(xmlViewer.getTree());
editorDefault.addListener(new DialogErrorXMLLabelCellEditor(editorDefault, "C4"));
xmlViewer.setCellEditors(new CellEditor[] { editor, null, null, editorDefault });
xmlViewer.setContentProvider(provider);
xmlViewer.setInput(this.hl7Manager.getTreeData());
xmlViewer.expandAll();
createAction();
MenuManager menuMgr = new MenuManager("#PopupMenu");
menuMgr.setRemoveAllWhenShown(true);
menuMgr.addMenuListener(new IMenuListener() {
@Override
public void menuAboutToShow(IMenuManager manager) {
HL7OutputUI.this.fillContextMenu(manager);
}
});
Menu menu = menuMgr.createContextMenu(xmlViewer.getControl());
xmlViewer.getControl().setMenu(menu);
xmlViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
// TODO Auto-generated method stub
}
});
refreshXMLViewer(null);
}
use of org.eclipse.jface.viewers.ICellModifier in project tdi-studio-se by Talend.
the class AddListDialog method createDialogArea.
@Override
protected Control createDialogArea(Composite parent) {
// Composite baseCom = (Composite) super.createDialogArea(parent);
Composite createDialogArea = (Composite) super.createDialogArea(parent);
createDialogArea.setLayout(new FillLayout());
SashForm baseCom = new SashForm(createDialogArea, SWT.VERTICAL | SWT.BORDER);
treeViewer = new TreeViewer(baseCom, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI);
tree = treeViewer.getTree();
tree.setHeaderVisible(true);
tree.setLinesVisible(true);
tree.setLayoutData(new GridData(GridData.FILL_BOTH));
// Paramater Name Column
TreeColumn column1 = new TreeColumn(tree, SWT.LEFT);
column1.setText("Parameter Name");
column1.setWidth(200);
// Array Index Column
TreeColumn column2 = new TreeColumn(tree, SWT.CENTER);
column2.setText("Array Index");
column2.setWidth(100);
treeViewer.setColumnProperties(new String[] { NAME, INDEX });
CellEditor editor = new TextCellEditor(treeViewer.getTree());
// CellEditor nameEditor = new ComboBoxCellEditor(treeViewer.getTree());
treeViewer.setCellEditors(new CellEditor[] { null, editor });
treeViewer.setCellModifier(new ICellModifier() {
public boolean canModify(Object element, String property) {
if (element instanceof ParameterInfo) {
ParameterInfo para = (ParameterInfo) element;
if (INDEX.equals(property) && para.getArraySize() != 0) {
// if item is array it can edit.
return true;
}
}
return false;
}
public Object getValue(Object element, String property) {
if (element instanceof ParameterInfo) {
ParameterInfo para = (ParameterInfo) element;
if (INDEX.equals(property)) {
return para.getIndex() == null ? "" : para.getIndex();
} else if (NAME.equals(property)) {
return para.getName();
}
}
return null;
}
public void modify(Object element, String property, Object value) {
if (element instanceof TreeItem) {
ParameterInfo para = (ParameterInfo) ((TreeItem) element).getData();
if (INDEX.equals(property)) {
para.setIndex(value.toString());
}
}
treeViewer.refresh();
}
});
// DrillDownAdapter adapter = new DrillDownAdapter(treeView);
treeViewer.setContentProvider(new WebServiceTreeContentProvider());
treeViewer.setLabelProvider(new WebServiceTreeLabelProvider());
treeViewer.setInput(para);
treeViewer.addSelectionChangedListener(selectAction);
// tree.addSelectionListener(new SelectionAdapter() {
//
// @Override
// public void widgetSelected(SelectionEvent e) {
// TreeItem[] selects = tree.getSelection();
// ISelection select = (ISelection) treeViewer.getSelection();
// Object obj = ((IStructuredSelection) select).getFirstElement();
// if (obj instanceof ParameterInfo) {
// // if (((ParameterInfo) obj).getParameterInfos().size() > 0) {
// // // ErrorDialog dialog = new ErrorDialog(parentShell, "", "", null, 0);
// // // dialog.open();
// // selectedParaInfo = null;
// // } else {
// selectedParaInfo = (ParameterInfo) obj;
// // }
// }
// }
//
// });
treeViewer.getTree().addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
createAllTypeDialog();
}
});
return baseCom;
}
use of org.eclipse.jface.viewers.ICellModifier in project tdi-studio-se by Talend.
the class FOXUI method addXMLViewer.
/**
* create xml viewer.
*
* @param mainComposite
* @param form
* @param width
* @param height
*/
private void addXMLViewer(final Composite mainComposite, final int width, final int height) {
// Group Schema Viewer
//$NON-NLS-1$
Group group = Form.createGroup(mainComposite, 1, Messages.getString("FOXUI.0"), height);
// group.setBackgroundMode(SWT.INHERIT_FORCE);
xmlViewer = new TreeViewer(group, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.VIRTUAL);
GridData gridData = new GridData(GridData.FILL_BOTH);
xmlViewer.getControl().setLayoutData(gridData);
xmlViewer.setUseHashlookup(true);
Tree tree = xmlViewer.getTree();
// see bug 7087
if (canModify || isRepository) {
tree.setEnabled(false);
}
tree.setLinesVisible(true);
tree.setBackground(tree.getDisplay().getSystemColor(SWT.COLOR_WHITE));
TreeColumn column1 = new TreeColumn(tree, SWT.LEFT);
//$NON-NLS-1$
column1.setText(Messages.getString("FOXUI.1"));
column1.setWidth(170);
// Related Column
TreeColumn column2 = new TreeColumn(tree, SWT.CENTER);
//$NON-NLS-1$
column2.setText(Messages.getString("FOXUI.2"));
column2.setWidth(100);
TreeColumn column3 = new TreeColumn(tree, SWT.CENTER);
//$NON-NLS-1$
column3.setText(Messages.getString("FOXUI.3"));
column3.setWidth(90);
TreeColumn column4 = new TreeColumn(tree, SWT.CENTER);
//$NON-NLS-1$
column4.setText(Messages.getString("FOXUI.4"));
column4.setWidth(90);
tree.setHeaderVisible(true);
// tree.setBackgroundMode(SWT.INHERIT_NONE);
FOXTargetTreeViewerProvider provider = new FOXTargetTreeViewerProvider();
xmlViewer.setLabelProvider(provider);
xmlViewer.setCellModifier(new ICellModifier() {
@Override
public boolean canModify(Object element, String property) {
FOXTreeNode node = (FOXTreeNode) element;
if (property.equals("C1")) {
//$NON-NLS-1$
if (node.getLabel() != null && node.getLabel().length() > 0) {
return true;
}
}
if (property.equals("C4")) {
//$NON-NLS-1$
if (node.getDefaultValue() != null && node.getDefaultValue().length() > 0) {
return true;
}
}
return false;
}
@Override
public Object getValue(Object element, String property) {
FOXTreeNode node = (FOXTreeNode) element;
if (property.equals("C1")) {
//$NON-NLS-1$
return node.getLabel();
}
if (property.equals("C4")) {
//$NON-NLS-1$
return node.getDefaultValue();
}
return null;
}
@Override
public void modify(Object element, String property, Object value) {
TreeItem treeItem = (TreeItem) element;
FOXTreeNode node = (FOXTreeNode) treeItem.getData();
if (property.equals("C1")) {
//$NON-NLS-1$
node.setLabel((String) value);
}
if (property.equals("C4")) {
//$NON-NLS-1$
node.setDefaultValue((String) value);
}
xmlViewer.refresh(node);
}
});
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
xmlViewer.setColumnProperties(new String[] { "C1", "C2", "C3", "C4" });
CellEditor editor = new TextCellEditor(xmlViewer.getTree());
//$NON-NLS-1$
editor.addListener(new DialogErrorXMLLabelCellEditor(editor, "C1"));
// add by wzhang for bug 8572. set Default value column to be edit.
CellEditor editorDefault = new TextCellEditor(xmlViewer.getTree());
//$NON-NLS-1$
editorDefault.addListener(new DialogErrorXMLLabelCellEditor(editorDefault, "C4"));
xmlViewer.setCellEditors(new CellEditor[] { editor, null, null, editorDefault });
xmlViewer.setContentProvider(provider);
xmlViewer.setInput(this.foxManager.getTreeData());
createAction();
//$NON-NLS-1$
MenuManager menuMgr = new MenuManager("#PopupMenu");
menuMgr.setRemoveAllWhenShown(true);
menuMgr.addMenuListener(new IMenuListener() {
@Override
public void menuAboutToShow(IMenuManager manager) {
FOXUI.this.fillContextMenu(manager);
}
});
Menu menu = menuMgr.createContextMenu(xmlViewer.getControl());
xmlViewer.getControl().setMenu(menu);
xmlViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
// TODO Auto-generated method stub
}
});
refreshXMLViewer(null);
}
use of org.eclipse.jface.viewers.ICellModifier in project tdi-studio-se by Talend.
the class AssignmentPropertySection method createControls.
@Override
public void createControls(Composite parent, TabbedPropertySheetPage aTabbedPropertySheetPage) {
super.createControls(parent, aTabbedPropertySheetPage);
composite = getWidgetFactory().createFlatFormComposite(parent);
// PTODO mhelleboid externalize tableviewer creation
adapterFactory = new BusinessItemProviderAdapterFactory();
tableViewer = new TableViewer(composite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
tableViewer.setLabelProvider(new RepositoryFactoryProxyLabelProvider(adapterFactory));
Table table = tableViewer.getTable();
TableLayout tableLayout = new TableLayout();
table.setLayout(tableLayout);
table.setHeaderVisible(true);
table.setLinesVisible(true);
final String[] columnProperties = new String[] { Messages.getString("AssignmentPropertySection.Type"), Messages.getString("AssignmentPropertySection.Name"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
Messages.getString("AssignmentPropertySection.Comment") };
TableColumn column1 = new TableColumn(table, SWT.NONE);
tableLayout.addColumnData(new ColumnPixelData(125, true));
column1.setText(columnProperties[0]);
TableColumn column2 = new TableColumn(table, SWT.NONE);
tableLayout.addColumnData(new ColumnPixelData(125, true));
column2.setText(columnProperties[1]);
TableColumn column3 = new TableColumn(table, SWT.NONE);
tableLayout.addColumnData(new ColumnWeightData(1, 150, true));
column3.setText(columnProperties[2]);
tableViewer.setColumnProperties(columnProperties);
final IItemPropertyDescriptor itemPropertyDescriptor = getItemPropertyDescriptor();
tableViewer.setCellModifier(new ICellModifier() {
public boolean canModify(Object element, String property) {
return property.equals(columnProperties[2]);
}
public Object getValue(Object element, String property) {
return EmfPropertyHelper.getValue(itemPropertyDescriptor, element);
}
public void modify(Object element, String property, Object value) {
if (element instanceof TableItem) {
TableItem tableItem = (TableItem) element;
itemPropertyDescriptor.setPropertyValue(tableItem.getData(), value);
}
}
});
CellEditor[] cellEditors = new CellEditor[3];
cellEditors[2] = new TextCellEditor(table);
tableViewer.setCellEditors(cellEditors);
createKeyListener(table);
createSelectionListener();
createPopupMenu();
createDoubleClickListener();
handleLayout(parent, table, column1, column2, column3);
aTabbedPropertySheetPage.getSite().setSelectionProvider(this);
}
Aggregations