List of usage examples for org.eclipse.jface.viewers TextCellEditor TextCellEditor
public TextCellEditor(Composite parent, int style)
From source file:au.gov.ga.earthsci.application.parts.layer.LayerTreePart.java
License:Apache License
@PostConstruct public void init(Composite parent, EMenuService menuService) { LayerOpacityToolControl.setPartContext(context); viewer = new CheckboxTreeViewer(parent, SWT.MULTI); viewer.getTree().setBackgroundImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_TRANSPARENT)); context.set(TreeViewer.class, viewer); clipboard = new Clipboard(shell.getDisplay()); context.set(Clipboard.class, clipboard); IListProperty childrenProperty = new MultiListProperty( new IListProperty[] { BeanProperties.list("children") }); //$NON-NLS-1$ ObservableListTreeContentProvider contentProvider = new ObservableListTreeContentProvider( childrenProperty.listFactory(), null); viewer.setContentProvider(contentProvider); //TreeViewerEditor.create(viewer, new SecondClickColumnViewerEditorActivationStrategy(viewer), ColumnViewerEditor.DEFAULT); IObservableSet knownElements = contentProvider.getKnownElements(); IObservableMap enabledMap = BeanProperties.value("enabled").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap opacityMap = BeanProperties.value("opacity").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap nameMap = BeanProperties.value("name").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap labelMap = BeanProperties.value("label").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap statusMap = BeanProperties.value("status").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap anyChildrenEnabledMap = BeanProperties.value("anyChildrenEnabled") //$NON-NLS-1$ .observeDetail(knownElements); IObservableMap allChildrenEnabledMap = BeanProperties.value("allChildrenEnabled") //$NON-NLS-1$ .observeDetail(knownElements); IObservableMap childrenMap = BeanProperties.value("children").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap expandedMap = BeanProperties.value("expanded").observeDetail(knownElements); //$NON-NLS-1$ IObservableMap[] labelAttributeMaps = new IObservableMap[] { enabledMap, opacityMap, nameMap, labelMap, anyChildrenEnabledMap, allChildrenEnabledMap, statusMap }; labelProvider = new LayerTreeLabelProvider(labelAttributeMaps); viewer.setLabelProvider(labelProvider); viewer.setCheckStateProvider(new LayerTreeCheckStateProvider()); viewer.setInput(model.getRootNode()); viewer.setExpandedElements(getExpandedNodes()); IMapChangeListener childrenListener = new IMapChangeListener() { @Override/*from www . j a va 2s.c o m*/ public void handleMapChange(MapChangeEvent event) { //for any children added, expand the nodes Set<?> addedKeys = event.diff.getAddedKeys(); for (Object o : addedKeys) { if (o instanceof ILayerTreeNode) { ((ILayerTreeNode) o).getParent().getValue().setExpanded(true); } } } }; IMapChangeListener expandedListener = new IMapChangeListener() { @Override public void handleMapChange(MapChangeEvent event) { //ensure the expanded elements are kept in sync with the model viewer.getTree().getDisplay().asyncExec(new Runnable() { @Override public void run() { if (!viewer.getTree().isDisposed()) { viewer.setExpandedElements(getExpandedNodes()); } } }); } }; childrenMap.addMapChangeListener(childrenListener); childrenMap.addMapChangeListener(expandedListener); expandedMap.addMapChangeListener(expandedListener); viewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { Object element = event.getElement(); if (element instanceof ILayerTreeNode) { ILayerTreeNode node = (ILayerTreeNode) element; node.enableChildren(event.getChecked()); } } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); List<?> list = selection.toList(); ILayerTreeNode[] array = list.toArray(new ILayerTreeNode[list.size()]); selectionService.setSelection(array.length == 1 ? array[0] : array); } }); viewer.addTreeListener(new ITreeViewerListener() { @Override public void treeExpanded(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(true); } @Override public void treeCollapsed(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(false); } }); viewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { ViewerCell cell = viewer.getCell(new Point(e.x, e.y)); if (cell == null) return; ILayerTreeNode layer = (ILayerTreeNode) cell.getElement(); selectLayer(layer); } @Override public void mouseDown(MouseEvent e) { ViewerCell cell = viewer.getCell(new Point(e.x, e.y)); if (cell == null) { viewer.setSelection(StructuredSelection.EMPTY); } } }); viewer.getTree().addTraverseListener(new TraverseListener() { @Override public void keyTraversed(TraverseEvent e) { if (e.detail == SWT.TRAVERSE_RETURN) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); if (selection.size() == 1) { ILayerTreeNode layer = (ILayerTreeNode) selection.getFirstElement(); selectLayer(layer); } } } }); viewer.setCellEditors(new CellEditor[] { new TextCellEditor(viewer.getTree(), SWT.BORDER) }); viewer.setColumnProperties(new String[] { "layer" }); //$NON-NLS-1$ viewer.setCellModifier(new ICellModifier() { @Override public void modify(Object element, String property, Object value) { if (element instanceof Item) { element = ((Item) element).getData(); } ((ILayerTreeNode) element).setLabel((String) value); } @Override public Object getValue(Object element, String property) { if (element instanceof Item) { element = ((Item) element).getData(); } return ((ILayerTreeNode) element).getLabelOrName(); } @Override public boolean canModify(Object element, String property) { return true; } }); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy(viewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(viewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); //add drag and drop support int ops = DND.DROP_COPY | DND.DROP_MOVE; viewer.addDragSupport(ops, new Transfer[] { LayerTransfer.getInstance() }, new LayerTreeDragSourceListener(viewer)); viewer.addDropSupport(ops, new Transfer[] { LayerTransfer.getInstance(), FileTransfer.getInstance() }, new LayerTreeDropAdapter(viewer, model, context)); //add context menu menuService.registerContextMenu(viewer.getTree(), "au.gov.ga.earthsci.application.layertree.popupmenu"); //$NON-NLS-1$ }
From source file:au.gov.ga.earthsci.layer.ui.LayerTreePart.java
License:Apache License
protected void createStructureViewer(Composite parent, EMenuService menuService, CTabItem tabItem) { structureViewer = new CheckboxTreeViewer(parent, SWT.MULTI); tabItem.setControl(structureViewer.getControl()); structureViewer.getTree()/*from ww w . j a v a 2 s .c o m*/ .setBackgroundImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_TRANSPARENT)); context.set(TreeViewer.class, structureViewer); clipboard = new Clipboard(parent.getDisplay()); context.set(Clipboard.class, clipboard); //create a property change listener for updating the labels whenever a property //changes on an ILayerTreeNode instance final PropertyChangeListener anyChangeListener = new PropertyChangeListener() { @Override public void propertyChange(final PropertyChangeEvent evt) { updateElementLabel(evt.getSource()); } }; //create a property change listener that ensures the expanded state of the tree //is kept in sync with the value of the expanded property for each node final PropertyChangeListener expandedChangeListener = new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { syncExpandedNodes(); } }; //setup the label provider labelProvider = new LayerTreeLabelProvider(); //create a bean list property associated with ILayerTreeNode's children property IBeanListProperty<ILayerTreeNode, ILayerTreeNode> childrenProperty = BeanProperties .list(ILayerTreeNode.class, "children", ILayerTreeNode.class); //$NON-NLS-1$ //setup a factory for creating observables observing ILayerTreeNodes IObservableFactory<ILayerTreeNode, IObservableList<ILayerTreeNode>> observableFactory = childrenProperty .listFactory(); //listen for any changes (additions/removals) to any of the children in the tree observableListTreeSupport = new ObservableListTreeSupport<ILayerTreeNode>(observableFactory); observableListTreeSupport.addListener(new ITreeChangeListener<ILayerTreeNode>() { @Override public void elementAdded(ILayerTreeNode element) { element.addPropertyChangeListener(anyChangeListener); element.addPropertyChangeListener("expanded", expandedChangeListener); //$NON-NLS-1$ } @Override public void elementRemoved(ILayerTreeNode element) { element.removePropertyChangeListener(anyChangeListener); element.removePropertyChangeListener("expanded", expandedChangeListener); //$NON-NLS-1$ } }); //create a content provider that listens for changes to any children in the tree ObservableListTreeContentProvider<ILayerTreeNode> contentProvider = new ObservableListTreeContentProvider<ILayerTreeNode>( observableFactory, null); //set the viewer's providers structureViewer.setContentProvider(contentProvider); structureViewer.setLabelProvider(labelProvider); structureViewer.setCheckStateProvider(new LayerTreeCheckStateProvider()); //set the viewer and listener inputs structureViewer.setInput(model.getRootNode()); observableListTreeSupport.setInput(model.getRootNode()); //Listen for any additions to the tree, and expand added node's parent, so that //added nodes are always visible. This is done after the input is set up, so that //we don't expand all the nodes that are already in the tree. observableListTreeSupport.addListener(new TreeChangeAdapter<ILayerTreeNode>() { @Override public void elementAdded(ILayerTreeNode element) { //for any children added, expand the nodes if (!element.isRoot()) { element.getParent().setExpanded(true); } //if the nodes were already expanded, the expanded property change event //is not fired, so we need to sync the expanded state anyway syncExpandedNodes(); //when a layer is added, we should activate this part and select the added element activateAndSelectElement(element); } }); //expand any nodes that should be expanded after unpersisting syncExpandedNodes(); //enable/disable any nodes that are checked/unchecked structureViewer.addCheckStateListener(new ICheckStateListener() { @Override public void checkStateChanged(CheckStateChangedEvent event) { Object element = event.getElement(); if (element instanceof ILayerTreeNode) { ILayerTreeNode node = (ILayerTreeNode) element; node.enableChildren(event.getChecked()); } } }); //setup the selection tracking structureViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) structureViewer.getSelection(); List<?> list = selection.toList(); ILayerTreeNode[] array = list.toArray(new ILayerTreeNode[list.size()]); settingSelection = true; selectionService.setSelection(array.length == 1 ? array[0] : array); settingSelection = false; } }); structureViewer.getTree().addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { IStructuredSelection selection = (IStructuredSelection) structureViewer.getSelection(); ILayerTreeNode firstElement = (ILayerTreeNode) selection.getFirstElement(); if (firstElement != null) { selectLayer(firstElement); } } }); //setup tree expansion/collapse listening structureViewer.addTreeListener(new ITreeViewerListener() { @Override public void treeExpanded(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(true); } @Override public void treeCollapsed(TreeExpansionEvent event) { ILayerTreeNode layerNode = (ILayerTreeNode) event.getElement(); layerNode.setExpanded(false); } }); //make tree cells unselectable by selecting outside structureViewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { ViewerCell cell = structureViewer.getCell(new Point(e.x, e.y)); if (cell == null) { structureViewer.setSelection(StructuredSelection.EMPTY); } } }); //setup cell editing structureViewer .setCellEditors(new CellEditor[] { new TextCellEditor(structureViewer.getTree(), SWT.BORDER) }); structureViewer.setColumnProperties(new String[] { "layer" }); //$NON-NLS-1$ structureViewer.setCellModifier(new ICellModifier() { @Override public void modify(Object element, String property, Object value) { if (element instanceof Item) { element = ((Item) element).getData(); } ((ILayerTreeNode) element).setLabel((String) value); } @Override public Object getValue(Object element, String property) { if (element instanceof Item) { element = ((Item) element).getData(); } return ((ILayerTreeNode) element).getLabelOrName(); } @Override public boolean canModify(Object element, String property) { return true; } }); ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( structureViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TreeViewerEditor.create(structureViewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); //add drag and drop support int ops = DND.DROP_COPY | DND.DROP_MOVE; structureViewer.addDragSupport(ops, new Transfer[] { LocalLayerTransfer.getInstance(), LayerTransfer.getInstance() }, new LayerTreeDragSourceListener(structureViewer)); structureViewer .addDropSupport(ops, new Transfer[] { LocalLayerTransfer.getInstance(), LayerTransfer.getInstance(), FileTransfer.getInstance() }, new LayerTreeDropAdapter(structureViewer, model, context)); //add context menu menuService.registerContextMenu(structureViewer.getTree(), "au.gov.ga.earthsci.application.layertree.popupmenu"); //$NON-NLS-1$ }
From source file:com.adobe.granite.ide.eclipse.ui.wizards.np.AdvancedSettingsComponent.java
License:Apache License
public void createAdvancedSection(Composite container) { Label label;//from ww w . jav a2s.c om GridData gd; label = new Label(container, SWT.NULL); label.setText("&Version:"); version = new Text(container, SWT.BORDER | SWT.SINGLE); gd = new GridData(GridData.FILL_HORIZONTAL); version.setLayoutData(gd); version.setText("0.0.1-SNAPSHOT"); version.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { wizardPage.dialogChanged(); } }); label = new Label(container, SWT.NULL); label.setText("&Package:"); javaPackage = new Text(container, SWT.BORDER | SWT.SINGLE); gd = new GridData(GridData.FILL_HORIZONTAL); javaPackage.setLayoutData(gd); javaPackageModified = false; javaPackage.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { javaPackageModified = true; } }); javaPackage.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { wizardPage.dialogChanged(); } }); label = new Label(container, SWT.NULL); gd = new GridData(SWT.LEFT, SWT.TOP, false, false); label.setLayoutData(gd); label.setText("&Parameters:"); propertiesViewer = new TableViewer(container, SWT.BORDER | SWT.FULL_SELECTION); propertiesTable = propertiesViewer.getTable(); propertiesTable.setLinesVisible(true); propertiesTable.setHeaderVisible(true); propertiesTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 2)); CellNavigationStrategy strategy = new CellNavigationStrategy(); TableViewerFocusCellManager focusCellMgr = new TableViewerFocusCellManager(propertiesViewer, new FocusCellOwnerDrawHighlighter(propertiesViewer), strategy); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy( propertiesViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; int features = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK; TableViewerEditor.create(propertiesViewer, focusCellMgr, actSupport, features); TableColumn propertiesTableNameColumn = new TableColumn(propertiesTable, SWT.NONE); propertiesTableNameColumn.setWidth(180); propertiesTableNameColumn.setText("Name"); TableColumn propertiesTableValueColumn = new TableColumn(propertiesTable, SWT.NONE); propertiesTableValueColumn.setWidth(300); propertiesTableValueColumn.setText("Value"); propertiesViewer.setColumnProperties(new String[] { KEY_PROPERTY, VALUE_PROPERTY }); propertiesViewer.setCellEditors(new CellEditor[] { null /* cannot edit the name */, new TextCellEditor(propertiesTable, SWT.NONE) }); propertiesViewer.setCellModifier(new ICellModifier() { public boolean canModify(Object element, String property) { return true; } public void modify(Object element, String property, Object value) { if (element instanceof TableItem) { ((TableItem) element).setText(getTextIndex(property), String.valueOf(value)); wizardPage.dialogChanged(); } } public Object getValue(Object element, String property) { if (element instanceof TableItem) { return ((TableItem) element).getText(getTextIndex(property)); } return null; } }); }
From source file:com.amalto.workbench.detailtabs.sections.model.simpletype.propsource.SimpleTypeFacetDatePropertySource.java
License:Open Source License
@Override public CellEditor getCellEditor() { return new TextCellEditor(cellEditorParent, SWT.BORDER); }
From source file:com.amitinside.e4.rcp.todo.parts.ManagerPart.java
License:Apache License
@PostConstruct public void createControls(Composite parent, final MWindow window) { parent.setLayout(new GridLayout(1, false)); btnNewButton = new Button(parent, SWT.NONE); btnNewButton.addSelectionListener(new SelectionAdapter() { @Override//from w w w . ja v a2s.co m public void widgetSelected(SelectionEvent e) { Job job = new Job("loading") { @Override protected IStatus run(IProgressMonitor monitor) { List<Todo> list = model.getTodos(); sync.asyncExec(new Runnable() { @Override public void run() { viewer.setInput(model.getTodos()); } }); return Status.OK_STATUS; } }; job.schedule(); } }); btnNewButton.setText("Load Data"); Text search = new Text(parent, SWT.SEARCH | SWT.CANCEL | SWT.ICON_SEARCH); search.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); search.setMessage("Filter"); search.addSelectionListener(new SelectionAdapter() { public void widgetDefaultSelected(SelectionEvent e) { if (e.detail == SWT.CANCEL) { Text text = (Text) e.getSource(); text.setText(""); // } } // MORE... }); viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); Table table = viewer.getTable(); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); table.setHeaderVisible(true); table.setLinesVisible(true); viewer.setContentProvider(ArrayContentProvider.getInstance()); TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setWidth(100); column.getColumn().setText("Summary"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { Todo todo = (Todo) element; return todo.getSummary(); } }); column.setEditingSupport(new EditingSupport(viewer) { @Override protected void setValue(Object element, Object value) { Todo todo = (Todo) element; todo.setSummary(String.valueOf(value)); viewer.refresh(); } @Override protected Object getValue(Object element) { Todo todo = (Todo) element; return todo.getSummary(); } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor(viewer.getTable(), SWT.NONE); } @Override protected boolean canEdit(Object element) { return true; } }); column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setWidth(100); column.getColumn().setText("Description"); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { Todo todo = (Todo) element; return todo.getDescription(); } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); service.setSelection(selection.getFirstElement()); } }); }
From source file:com.amitinside.e4.rcp.todo.parts.TodoOverviewPart.java
License:Apache License
@PostConstruct public void createControls(Composite parent, final MWindow window, EMenuService menuService) { applyGridLayout(parent).numColumns(1); btnNewButton = new Button(parent, SWT.PUSH); btnNewButton.addSelectionListener(new SelectionAdapter() { @Override/*ww w. ja v a 2s . co m*/ public void widgetSelected(SelectionEvent e) { final Job job = new Job("loading") { @Override protected IStatus run(IProgressMonitor monitor) { final List<Todo> list = model.getTodos(); broker.post(LOCAL_EVENT_FINISH, list); return Status.OK_STATUS; } }; job.schedule(); } }); btnNewButton.setText("Load Data"); final Text search = new Text(parent, SWT.SEARCH | SWT.CANCEL | SWT.ICON_SEARCH); // Assuming that GridLayout is used search.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); search.setMessage("Filter"); // Filter at every keystroke search.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { final Text source = (Text) e.getSource(); searchString = source.getText(); // Trigger update in the viewer viewer.refresh(); } }); // SWT.SEARCH | SWT.CANCEL not supported under Windows7 // This does not work under Windows7 search.addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { if (e.detail == SWT.CANCEL) { final Text text = (Text) e.getSource(); text.setText(""); // } } }); viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); final Table table = viewer.getTable(); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); table.setHeaderVisible(true); table.setLinesVisible(true); final TableViewerColumn colSummary = new TableViewerColumn(viewer, SWT.NONE); colSummary.getColumn().setWidth(100); colSummary.getColumn().setText("Summary"); colSummary.setEditingSupport(new EditingSupport(viewer) { @Override protected void setValue(Object element, Object value) { final Todo todo = (Todo) element; todo.setSummary(String.valueOf(value)); viewer.refresh(); } @Override protected Object getValue(Object element) { final Todo todo = (Todo) element; return todo.getSummary(); } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor(viewer.getTable(), SWT.NONE); } @Override protected boolean canEdit(Object element) { return true; } }); final TableViewerColumn colDescription = new TableViewerColumn(viewer, SWT.NONE); colDescription.getColumn().setWidth(200); colDescription.getColumn().setText("Description"); // We search in the summary and description field viewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { final Todo todo = (Todo) element; return todo.getSummary().contains(searchString) || todo.getDescription().contains(searchString) || todo.getNote().contains(searchString); } }); final TableViewerColumn colNotes = new TableViewerColumn(viewer, SWT.NONE); colNotes.getColumn().setWidth(50); colNotes.getColumn().setText("Notes"); colNotes.setEditingSupport(new EditingSupport(viewer) { @Override protected void setValue(Object element, Object value) { final Todo todo = (Todo) element; todo.setNote(String.valueOf(value)); viewer.refresh(); } @Override protected Object getValue(Object element) { final Todo todo = (Todo) element; return todo.getNote(); } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor(viewer.getTable(), SWT.NONE); } @Override protected boolean canEdit(Object element) { return true; } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); service.setSelection(selection.getFirstElement()); } }); menuService.registerContextMenu(viewer.getControl(), "com.amitinside.e4.rcp.todo.popupmenu.table"); writableList = new WritableList(model.getTodos(), Todo.class); ViewerSupport.bind(viewer, writableList, BeanProperties .values(new String[] { Todo.FIELD_SUMMARY, Todo.FIELD_DESCRIPTION, Todo.FIELD_NOTE })); }
From source file:com.bluexml.side.Class.modeler.diagram.edit.ClassCommentEditPart.java
License:Open Source License
protected void performDirectEdit() { DirectEditManager manager = getDirectEditManager(); if (manager == null) { ILabel label = ((ClassCommentFigure) getFigure()).getLabel(); manager = new ModelerLabelDirectEditManager(this, TextCellEditor.class, new LabelCellEditorLocator(getFigure()), label) { protected CellEditor createCellEditorOn(Composite composite) { return new TextCellEditor(composite, SWT.MULTI | SWT.WRAP); }/*from w w w.j ava2 s.co m*/ }; } manager.show(); }
From source file:com.byterefinery.rmbench.editparts.TableNameDirectEditManager.java
License:Open Source License
protected CellEditor createCellEditorOn(Composite composite) { return new TextCellEditor(composite, SWT.SINGLE); }
From source file:com.centurylink.mdw.plugin.designer.properties.editor.TableEditor.java
License:Apache License
private TableViewer createTableViewer(Table table) { TableViewer tableViewer = new TableViewer(table); tableViewer.setUseHashlookup(true);/*from www.j ava 2 s. c o m*/ tableViewer.setColumnProperties(columnProps); if (!isReadOnly()) { CellEditor[] cellEditors = new CellEditor[columnSpecs.size()]; for (int i = 0; i < columnSpecs.size(); i++) { ColumnSpec colSpec = columnSpecs.get(i); CellEditor cellEditor = null; if (!colSpec.hidden) { if (colSpec.type.equals(TYPE_TEXT)) { if (colSpec.style != 0) cellEditor = new TextCellEditor(table, colSpec.style); else cellEditor = new TextCellEditor(table); } else if (colSpec.type.equals(TYPE_CHECKBOX)) { cellEditor = new CheckboxCellEditor(table); } else if (colSpec.type.equals(TYPE_COMBO)) { int style = SWT.None; if (colSpec.readOnly) style = style | SWT.READ_ONLY; cellEditor = new ComboBoxCellEditor(table, colSpec.options, style); if (!colSpec.readOnly) cellEditor.addListener( new EditableComboCellEditorListener((ComboBoxCellEditor) cellEditor, i)); } else if (colSpec.type.equals(WorkflowAssetEditor.TYPE_ASSET)) { int style = SWT.None; if (colSpec.readOnly) style = style | SWT.READ_ONLY; cellEditor = new TreeComboCellEditor(table, style) { @Override protected void doSetValue(Object value) { Object val = getValue(); if (val instanceof CTreeComboItem) { CTreeComboItem selItem = (CTreeComboItem) getValue(); if (selItem != null) { super.doSetValue(selItem.getText()); return; } } if (value instanceof String) { String strVal = (String) value; if (strVal.indexOf('/') > 0) { super.doSetValue(strVal.substring(strVal.indexOf('/') + 1)); return; } } super.doSetValue(value); } }; ((TreeComboCellEditor) cellEditor).setSelectionModifier(new SelectionModifier() { public String modify(CTreeComboItem selection) { if (selection.getParentItem() != null) { WorkflowPackage pkg = getProject() .getPackage(selection.getParentItem().getText()); if (pkg == null || pkg.isDefaultPackage()) return selection.getText(); else return pkg.getName() + "/" + selection.getText(); } else { // ignore packages return null; } } }); // populate the treecombo if (colSpec.source.equals("Process")) { List<WorkflowPackage> packages = getProject().getTopLevelUserVisiblePackages(); for (WorkflowPackage pkg : packages) { CTreeComboItem packageItem = ((TreeComboCellEditor) cellEditor) .addItem(pkg.getName()); packageItem.setText(pkg.getName()); packageItem.setImage(pkg.getIconImage()); for (WorkflowProcess process : pkg.getProcesses()) { CTreeComboItem processItem = new CTreeComboItem(packageItem, SWT.NONE); processItem.setText(process.getLabel()); processItem.setImage(process.getIconImage()); } } } else { List<WorkflowAsset> assets = getProject() .getAssetList(Arrays.asList(colSpec.assetTypes)); Map<String, CTreeComboItem> packageItems = new HashMap<String, CTreeComboItem>(); for (WorkflowAsset asset : assets) { String pkgName = asset.getPackage().getName(); CTreeComboItem packageItem = packageItems.get(pkgName); if (packageItem == null) { packageItem = ((TreeComboCellEditor) cellEditor).addItem(pkgName); packageItem.setImage(asset.getPackage().getIconImage()); packageItems.put(pkgName, packageItem); } CTreeComboItem assetItem = new CTreeComboItem(packageItem, SWT.NONE); assetItem.setText(asset.getLabel()); assetItem.setImage(asset.getIconImage()); } } } if (colSpec.listener != null) cellEditor.addListener(colSpec.listener); cellEditors[i] = cellEditor; } } tableViewer.setCellEditors(cellEditors); tableViewer.setCellModifier(cellModifier); } return tableViewer; }
From source file:com.centurylink.mdw.plugin.designer.properties.PackageConfigurationSection.java
License:Apache License
private TableViewer createTableViewer(Table table) { TableViewer tableViewer = new TableViewer(table); tableViewer.setUseHashlookup(true);//from w w w .ja va 2 s. c o m String[] columnProps = new String[columnSpecs.size()]; for (int i = 0; i < columnSpecs.size(); i++) columnProps[i] = columnSpecs.get(i).property; tableViewer.setColumnProperties(columnProps); CellEditor[] cellEditors = new CellEditor[columnSpecs.size()]; for (int i = 0; i < columnSpecs.size(); i++) { ColumnSpec colSpec = columnSpecs.get(i); CellEditor cellEditor = null; if (colSpec.style != 0) cellEditor = new TextCellEditor(table, colSpec.style); else cellEditor = new TextCellEditor(table); if (colSpec.listener != null) cellEditor.addListener(colSpec.listener); cellEditors[i] = cellEditor; tableViewer.setCellEditors(cellEditors); tableViewer.setCellModifier(new PackageConfigCellModifier()); } return tableViewer; }