Example usage for org.eclipse.jface.viewers TextCellEditor addListener

List of usage examples for org.eclipse.jface.viewers TextCellEditor addListener

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TextCellEditor addListener.

Prototype

public void addListener(ICellEditorListener listener) 

Source Link

Document

Adds a listener to this cell editor.

Usage

From source file:com.kopson.cite.smartlogmodel.TagEditingSupport.java

License:Open Source License

@Override
protected CellEditor getCellEditor(Object element) {
    TextCellEditor editor = new TextCellEditor(viewer.getTable());
    editor.setValidator(new ICellEditorValidator() {

        @Override//from w  w  w. ja v a 2 s.c  o m
        public String isValid(Object value) {
            if (SmartLogProvider.getTagList().contains((String) value))
                return null;
            else
                return "Invalid type: " + value.toString();
        }
    });

    editor.addListener(new ICellEditorListener() {

        @Override
        public void editorValueChanged(boolean oldValidState, boolean newValidState) {
            if (!newValidState) {
                MessageDialog.openError(viewer.getControl().getShell(), "No did not work", "Question");
            }
        }

        @Override
        public void cancelEditor() {
        }

        @Override
        public void applyEditorValue() {
        }
    });

    return editor;
}

From source file:com.microsoft.tfs.client.common.ui.controls.CommonStructureControl.java

License:Open Source License

private void addCellEditorSupport() {
    viewer.setColumnProperties(new String[] { "NodeName" //$NON-NLS-1$
    });//w w w  .j a  v a 2  s  .  com
    // Make text box have a border on systems other than Mac OS X
    final int textStyle = (WindowSystem.isCurrentWindowSystem(WindowSystem.AQUA) ? SWT.NONE : SWT.BORDER);
    final TextCellEditor editor = new TextCellEditor(viewer.getTree(), textStyle);
    // Listen for edit cancellations so that we can save the node if
    // creating a new one.
    editor.addListener(new ICellEditorListener() {
        @Override
        public void applyEditorValue() {
        }

        @Override
        public void cancelEditor() {
            if (getNewNode() != null) {
                // We are in the middle of creating a new node - delete the
                // half created node
                final CSSNode newNode = getNewNode();
                final CSSNode parent = newNode.getParentNode();

                parent.removeChildNode(newNode);
                viewer.setSelection(new StructuredSelection(parent));
                viewer.refresh(parent);
                setNewNode(null);
            }
        }

        @Override
        public void editorValueChanged(final boolean oldValidState, final boolean newValidState) {
        }
    });
    viewer.setCellEditors(new CellEditor[] { editor });
    viewer.setCellModifier(new CellModifier(this));

}

From source file:com.nextep.designer.sqlclient.ui.connectors.SQLResultConnector.java

License:Open Source License

private void registerCellEditors() {
    List<CellEditor> editors = new ArrayList<CellEditor>();
    List<String> colProperties = new ArrayList<String>();
    int i = 0;//from  w  w w.  j a  va 2s . co  m
    for (TableColumn c : sqlView.getColumns()) {
        final TextCellEditor editor = new TextCellEditor(sqlView);
        final ICellEditorValidator validator = (ICellEditorValidator) c.getData(KEY_CELL_VALIDATOR);
        if (validator != null) {
            editor.setValidator(validator);
            // This editor listener handles the refresh of the status bar on validation of the
            // user edition
            editor.addListener(new ICellEditorListener() {

                @Override
                public void editorValueChanged(boolean oldValidState, boolean newValidState) {
                    if (!newValidState) {
                        setStatusLabel(editor.getErrorMessage(), true);
                    } else {
                        setStatusLabel(null, false);
                    }
                }

                @Override
                public void cancelEditor() {
                }

                @Override
                public void applyEditorValue() {

                }
            });
        }
        editors.add(editor);
        colProperties.add(String.valueOf(i++));
    }
    sqlViewer.setCellEditors(editors.toArray(new CellEditor[editors.size()]));
    sqlViewer.setCellModifier(modifier);
    sqlViewer.setColumnProperties(colProperties.toArray(new String[colProperties.size()]));
}

From source file:org.bonitasoft.studio.actors.ui.section.editingsupport.ActorNameEditingSupport.java

License:Open Source License

@Override
protected CellEditor getCellEditor(final Object element) {
    TextCellEditor editor = new TextCellEditor((Composite) getViewer().getControl(), SWT.NONE);
    editor.setValidator(new ICellEditorValidator() {

        @Override/*from  w ww .ja va2  s .co  m*/
        public String isValid(Object value) {
            String input = (String) value;
            if (input.isEmpty()) {
                return Messages.nameIsEmpty;
            }
            if (input.length() > 50) {
                return Messages.nameTooLong;
            }
            Actor actor = (Actor) element;
            AbstractProcess process = ModelHelper.getParentProcess(actor);
            for (Actor a : process.getActors()) {
                if (!a.equals(actor)) {
                    if (a.getName().equals(input)) {
                        return Messages.nameAlreadyExists;
                    }
                }
            }
            return null;
        }
    });
    listener.setCellEditor(editor);
    editor.addListener(listener);
    return editor;
}

From source file:org.bonitasoft.studio.parameters.property.section.editingsupport.ParameterNameEditingSupport.java

License:Open Source License

@Override
protected CellEditor getCellEditor(final Object element) {
    final TextCellEditor editor = new TextCellEditor((Composite) getViewer().getControl(), SWT.NONE);
    editor.setValidator(new ICellEditorValidator() {

        @Override// ww w  .j av a2 s . c o  m
        public String isValid(final Object value) {
            final String input = (String) value;

            final IStatus javaConventionNameStatus = new GroovyReferenceValidator(Messages.name)
                    .validate(value.toString());
            if (!javaConventionNameStatus.isOK()) {
                return javaConventionNameStatus.getMessage();
            }

            final IStatus lenghtNameStatus = new InputLengthValidator(Messages.name, 50).validate(input);
            if (!lenghtNameStatus.isOK()) {
                return lenghtNameStatus.getMessage();
            }
            final Parameter param = (Parameter) element;
            final AbstractProcess process = (AbstractProcess) param.eContainer();
            for (final Parameter p : process.getParameters()) {
                if (!p.equals(param)) {
                    if (p.getName().equals(input)) {
                        return Messages.invalidName;
                    }
                }
            }
            return null;
        }
    });
    listener.setCellEditor(editor);
    editor.addListener(listener);
    return editor;
}

From source file:org.netxms.ui.eclipse.objectbrowser.views.ObjectBrowser.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    FormLayout formLayout = new FormLayout();
    parent.setLayout(formLayout);//from   www  .  j a  v  a2  s  . c o m

    // Read custom root objects
    long[] rootObjects = null;

    objectTree = new ObjectTree(parent, SWT.NONE, ObjectTree.MULTI, rootObjects, null, true, true);
    FormData fd = new FormData();
    fd.left = new FormAttachment(0, 0);
    fd.top = new FormAttachment(0, 0);
    fd.right = new FormAttachment(100, 0);
    fd.bottom = new FormAttachment(100, 0);
    objectTree.setLayoutData(fd);

    objectTree.setHideTemplateChecks(initHideTemplateChecks);
    objectTree.setHideUnmanaged(initHideUnmanaged);
    objectTree.enableFilter(initShowFilter);
    objectTree.enableStatusIndicator(initShowStatus);

    objectTree.addOpenListener(new ObjectOpenListener() {
        @Override
        public boolean openObject(AbstractObject object) {
            return callOpenObjectHandler(object);
        }
    });

    createActions();
    createMenu();
    createToolBar();
    createPopupMenu();

    objectTree.enableDropSupport(this);
    objectTree.enableDragSupport();
    getSite().setSelectionProvider(objectTree.getTreeViewer());

    objectTree.getTreeViewer().addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            int size = ((IStructuredSelection) objectTree.getTreeViewer().getSelection()).size();
            actionMoveObject.setEnabled(size == 1);
        }
    });
    objectTree.setFilterCloseAction(actionShowFilter);

    final TreeViewer tree = objectTree.getTreeViewer();
    TreeViewerEditor.create(tree, new ColumnViewerEditorActivationStrategy(tree) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    }, ColumnViewerEditor.DEFAULT);

    TextCellEditor editor = new TextCellEditor(tree.getTree(), SWT.BORDER);
    editor.addListener(new ICellEditorListener() {

        @Override
        public void editorValueChanged(boolean oldValidState, boolean newValidState) {
        }

        @Override
        public void cancelEditor() {
            objectTree.enableRefresh();
        }

        @Override
        public void applyEditorValue() {
        }
    });

    //TODO: override editor method that creates control to disable refresh

    tree.setCellEditors(new CellEditor[] { editor });
    tree.setColumnProperties(new String[] { "name" }); //$NON-NLS-1$
    tree.setCellModifier(new ICellModifier() {
        @Override
        public void modify(Object element, String property, Object value) {
            final Object data = (element instanceof Item) ? ((Item) element).getData() : element;

            if (property.equals("name")) //$NON-NLS-1$
            {
                if (data instanceof AbstractObject) {
                    final NXCSession session = (NXCSession) ConsoleSharedData.getSession();
                    final String newName = value.toString();
                    new ConsoleJob(Messages.get().ObjectBrowser_RenameJobName, null, Activator.PLUGIN_ID,
                            null) {
                        @Override
                        protected void runInternal(IProgressMonitor monitor) throws Exception {
                            session.setObjectName(((AbstractObject) data).getObjectId(), newName);
                        }

                        @Override
                        protected String getErrorMessage() {
                            return String.format(Messages.get().ObjectBrowser_RenameJobError,
                                    ((AbstractObject) data).getObjectName());
                        }
                    }.start();
                }
            }
            objectTree.enableRefresh();
        }

        @Override
        public Object getValue(Object element, String property) {
            if (property.equals("name")) //$NON-NLS-1$
            {
                if (element instanceof AbstractObject) {
                    return ((AbstractObject) element).getObjectName();
                }
            }
            return null;
        }

        @Override
        public boolean canModify(Object element, String property) {
            if (property.equals("name")) //$NON-NLS-1$
            {
                objectTree.disableRefresh();
                return true;
            }
            return false; //$NON-NLS-1$
        }
    });

    activateContext();
    restoreSelection();
}

From source file:org.talend.core.ui.metadata.editor.AbstractMetadataTableEditorView.java

License:Open Source License

/**
 * DOC ldong Comment method "configureCommentColumn".
 * // w  w  w.  j av a 2s  . c o m
 * @param tableViewerCreator
 */
protected void configureOriginalLengthColumn(TableViewerCreator<B> tableViewerCreator) {
    TableViewerCreatorColumn column;
    column = new TableViewerCreatorColumn(tableViewerCreator);
    column.setTitle(Messages.getString("MetadataTableEditorView.OriginalLengthTitle")); //$NON-NLS-1$
    column.setToolTipHeader(Messages.getString("MetadataTableEditorView.OriginalLengthTitle")); //$NON-NLS-1$
    column.setId(ID_COLUMN_ORIGINALLENGTH);
    column.setBeanPropertyAccessors(getOriginalLengthAccessor());
    column.setModifiable(!isReadOnly());
    column.setWeight(10);
    column.setMinimumWidth(10);
    TextCellEditor textCellEditor = new TextCellEditor(tableViewerCreator.getTable());
    textCellEditor.addListener(new InegerCellEditorListener(textCellEditor, column));
    column.setCellEditor(textCellEditor, CellEditorValueAdapterFactory.getPositiveIntAdapter());
}

From source file:org.talend.core.ui.metadata.editor.AbstractMetadataTableEditorView.java

License:Open Source License

/**
 * DOC amaumont Comment method "configurePrecisionColumn".
 * /*from w ww .ja  va  2  s.co  m*/
 * @param tableViewerCreator
 */
protected void configurePrecisionColumn(TableViewerCreator<B> tableViewerCreator) {
    TableViewerCreatorColumn column;
    column = new TableViewerCreatorColumn(tableViewerCreator);
    column.setTitle(Messages.getString("MetadataTableEditorView.PrecisionTitle")); //$NON-NLS-1$
    column.setToolTipHeader(Messages.getString("MetadataTableEditorView.PrecisionTitle")); //$NON-NLS-1$
    column.setId(ID_COLUMN_PRECISION);
    column.setBeanPropertyAccessors(getPrecisionAccessor());
    column.setModifiable(!isReadOnly());
    column.setWeight(10);
    column.setMinimumWidth(10);
    TextCellEditor textCellEditor = new TextCellEditor(tableViewerCreator.getTable());
    textCellEditor.addListener(new InegerCellEditorListener(textCellEditor, column));
    column.setCellEditor(textCellEditor, CellEditorValueAdapterFactory.getPositiveIntAdapter());
}

From source file:org.talend.core.ui.metadata.editor.AbstractMetadataTableEditorView.java

License:Open Source License

/**
 * DOC amaumont Comment method "configureLengthColumn".
 * /*  w w  w. j  av  a 2s  .c o  m*/
 * @param tableViewerCreator
 * @param positiveIntValueAdapter
 */
protected void configureLengthColumn(TableViewerCreator<B> tableViewerCreator) {
    TableViewerCreatorColumn column;
    column = new TableViewerCreatorColumn(tableViewerCreator);
    column.setTitle(Messages.getString("MetadataTableEditorView.LengthTitle")); //$NON-NLS-1$
    column.setToolTipHeader(Messages.getString("MetadataTableEditorView.LengthTitle")); //$NON-NLS-1$
    column.setId(ID_COLUMN_LENGHT);
    column.setBeanPropertyAccessors(getLengthAccessor());
    column.setModifiable(!isReadOnly());
    column.setWeight(10);
    column.setMinimumWidth(10);
    TextCellEditor textCellEditor = new TextCellEditor(tableViewerCreator.getTable());
    textCellEditor.addListener(new InegerCellEditorListener(textCellEditor, column));
    column.setCellEditor(textCellEditor, CellEditorValueAdapterFactory.getPositiveIntAdapter());
}

From source file:org.talend.core.ui.metadata.editor.AbstractMetadataTableEditorView.java

License:Open Source License

/**
 * DOC amaumont Comment method "configureNameColumn".
 * //from  w  w w  .  ja  v  a  2s  .com
 * @param tableViewerCreator
 */
protected void configureNameColumn(TableViewerCreator<B> tableViewerCreator) {
    TableViewerCreatorColumn column;
    column = new TableViewerCreatorColumn(tableViewerCreator);
    column.setId(ID_COLUMN_NAME);
    column.setTitle(Messages.getString("MetadataTableEditorView.ColumnTitle")); //$NON-NLS-1$
    column.setToolTipHeader(Messages.getString("MetadataTableEditorView.ColumnTitle")); //$NON-NLS-1$

    column.setBeanPropertyAccessors(getLabelAccessor());
    final Image imageKey = ImageProvider.getImage(EImage.KEY_ICON);
    final Image imageEmpty = ImageProvider.getImage(EImage.EMPTY);
    column.setImageProvider(new IColumnImageProvider() {

        @Override
        public Image getImage(Object element) {
            if (getKeyAccesor().get((B) element)) {
                return imageKey;
            } else {
                return imageEmpty;
            }
        }

    });
    column.setWeight(25);
    column.setModifiable(!isReadOnly());
    column.setMinimumWidth(45);
    final TextCellEditor cellEditor = new TextCellEditorExtendTab(tableViewerCreator.getTable());
    cellEditor.addListener(new DialogErrorForCellEditorListener(cellEditor, column) {

        @Override
        public void newValidValueTyped(int itemIndex, Object previousValue, Object newValue,
                CELL_EDITOR_STATE state) {
            if (!newValue.equals(previousValue)) {
                ConnectionColumnUpdateManager.getInstance().addNewName((String) newValue,
                        (String) previousValue);
            }
        }

        @Override
        public String validateValue(String newValue, int beanPosition) {
            return validateColumnName(newValue, beanPosition);
        }

    });
    column.setCellEditor(cellEditor);
}