Java 类org.eclipse.jface.viewers.ICellEditorListener 实例源码

项目:convertigo-eclipse    文件:DynamicComboBoxPropertyDescriptor.java   
/**
   * The <code>ComboBoxPropertyDescriptor</code> implementation of this 
   * <code>IPropertyDescriptor</code> method creates and returns a new
   * <code>ComboBoxCellEditor</code>.
   * <p>
   * The editor is configured with the current validator if there is one.
   * </p>
   */
  public CellEditor createPropertyEditor(Composite parent) {
    String[] tags = getTags();
    editor = new ComboBoxCellEditor(parent, tags, SWT.READ_ONLY);
      if (getValidator() != null) {
    editor.setValidator(getValidator());
}
      editor.addListener(new ICellEditorListener() {

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

    @Override
    public void cancelEditor() {
    }

    @Override
    public void applyEditorValue() {
        last.set(editor);
    }
});
      return editor;
  }
项目:birt    文件:ReportPropertySheetPage.java   
/**
 * Creates a new cell editor listener.
 */
private void createEditorListener( )
{
    editorListener = new ICellEditorListener( ) {

        public void cancelEditor( )
        {
            deactivateCellEditor( );
        }

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

        public void applyEditorValue( )
        {
            applyValue( );
            if ( changed )
                refresh( );
        }
    };
}
项目:birt    文件:AdvancePropertyDescriptor.java   
/**
 * Creates a new cell editor listener.
 */
private void createEditorListener( )
{
    editorListener = new ICellEditorListener( ) {

        public void cancelEditor( )
        {
            deactivateCellEditor( );
        }

        public void editorValueChanged( boolean oldValidState,
                boolean newValidState )
        {

        }

        public void applyEditorValue( )
        {
            applyValue( );
            if ( changed )
                refresh( );
        }
    };
}
项目:team-explorer-everywhere    文件:CommonStructureControl.java   
private void addCellEditorSupport() {
    viewer.setColumnProperties(new String[] {
        "NodeName" //$NON-NLS-1$
    });
    // 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));

}
项目:scenarioo-example-swtbot-e4    文件:AmountEditingSupport.java   
public AmountEditingSupport(final TableViewer tableViewer, final Label errorMsgLabel) {
    super(tableViewer);
    this.tableViewer = tableViewer;
    this.editor = new TextCellEditor(tableViewer.getTable());
    editor.setValidator(new ICellEditorValidator() {
        @Override
        public String isValid(final Object value) {
            try {
                Long longValue = Long.parseLong((String) value);
                if (longValue < 1) {
                    return "Amount must be higher 0";
                }
                return null;
            } catch (NumberFormatException e) {
                return "Amount must be Long";
            }
        }
    });
    editor.addListener(new ICellEditorListener() {

        @Override
        public void editorValueChanged(final boolean oldValidState, final boolean newValidState) {
            String errorMsg = editor.getErrorMessage();
            errorMsgLabel.setText((errorMsg == null) ? "" : errorMsg);
        }

        @Override
        public void cancelEditor() {
            errorMsgLabel.setText("");
        }

        @Override
        public void applyEditorValue() {
            errorMsgLabel.setText("");
        }
    });
}
项目:idecore    文件:MetadataFormPage.java   
public MetadataFormPage(BaseComponentMultiPageEditorPart multiPageEditor) {
    super("", "");
    this.multiPageEditor = multiPageEditor;
    modificationListener = new Listener() {

        @Override
        public void handleEvent(Event event) {
            fireDirtyAsNecessary();
        }
    };
    cellEditorListener = new ICellEditorListener() {

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

        @Override
        public void cancelEditor() {
            //not applicable
        }

        @Override
        public void applyEditorValue() {
            fireDirtyAsNecessary();
        }
    };
}
项目:optm    文件:LevelEditingSupport.java   
/**
 * @param viewer
 */
public LevelEditingSupport(final TableViewer viewer) {
    super(viewer);
    this.viewer = viewer;
    this.editor = new TextCellEditor(viewer.getTable());
    this.editor.setValidator(new ICellEditorValidator() {

        @Override
        public String isValid(final Object value) {
            if (value instanceof String) {
                try {
                    Integer valueOf = Integer.valueOf((String) value);
                    if (valueOf.compareTo(Integer.valueOf(0)) <= 0) {
                        return Messages.LevelEditingSupport_0;
                    }
                } catch (NumberFormatException e) {
                    return Messages.LevelEditingSupport_1;
                }
            }
            return null;
        }
    });
    editor.addListener(new ICellEditorListener() {

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

        @Override
        public void cancelEditor() {
        }

        @Override
        public void applyEditorValue() {
            if (!editor.isValueValid()) {
                MessageDialog.openError(viewer.getControl().getShell(), "No did not work", editor.getErrorMessage()); //$NON-NLS-1$
            }
        }
    });
}
项目:team-explorer-everywhere    文件:GitImportWizardSelectProjectsPage.java   
@Override
protected CellEditor getCellEditor(final Object element) {
    if (element instanceof ImportEclipseProject) {
        final ImportEclipseProject project = (ImportEclipseProject) element;
        final CellEditor editor = new TextCellEditor(treeControl);

        editor.setValidator(new ICellEditorValidator() {
            @Override
            public String isValid(final Object value) {
                final String newProjectName = (String) value;

                if (project.isTopLevelFolder()) {
                    return Messages.getString("GitImportWizardSelectProjectsPage.TopmostFolderNameChangeError"); //$NON-NLS-1$
                }

                if (project.isValidProjectName(newProjectName)) {
                    return null;
                } else {
                    return project.getValidationMessage();
                }
            }
        });

        editor.addListener(new ICellEditorListener() {
            @Override
            public void applyEditorValue() {
                handleProjectSelection();
            }

            @Override
            public void cancelEditor() {
                handleProjectSelection();
            }

            @Override
            public void editorValueChanged(final boolean oldValidState, final boolean newValidState) {
                final String errorMessage = editor.getErrorMessage();
                if (!StringUtil.isNullOrEmpty(errorMessage)) {
                    setErrorMessage(errorMessage);
                    setPageComplete(false);
                } else {
                    handleProjectSelection();
                }
            }
        });

        return editor;
    } else {
        return null;
    }
}
项目:PDFReporter-Studio    文件:DefaultDataAdapterEditorComposite.java   
@Override
protected CellEditor getCellEditor(Object element) {

    final TextCellEditor textCellEditor = new TextCellEditor(viewer.getTable());

    textCellEditor.addListener(new ICellEditorListener() {

        public void editorValueChanged(boolean oldValidState, boolean newValidState) {

            if (wizardPage != null) {

                String str = textCellEditor.getValue().toString().trim();

                if (isPropertyValid(str)) {
                    wizardPage.setMessage(null);
                } else {

                    if (str.length() > 0) {
                        wizardPage.setMessage(MessageFormat.format(Messages.DefaultDataAdapterEditorComposite_alredyExistingMessage,new Object[]{str}), //$NON-NLS-1$ //$NON-NLS-2$
                                IMessageProvider.ERROR);
                    } else {
                        wizardPage.setMessage(Messages.DefaultDataAdapterEditorComposite_specifyNameMessage, IMessageProvider.ERROR);
                    }
                }
            }
        }

        public void cancelEditor() {
            // nothing
        }

        public void applyEditorValue() {

            // clean any left message
            if (wizardPage != null) {
                wizardPage.setMessage(null);
            }
        }
    });

    return textCellEditor;
}
项目:mytourbook    文件:Map3LayerUI.java   
private OpacityEditingSupport(final TreeViewer treeViewer) {

            super(treeViewer);

            _treeViewer = treeViewer;

            _cellEditor = new SpinnerCellEditor(treeViewer.getTree(), _nf2, _opacityRange, SWT.BORDER);

            _cellEditor.addListener(new ICellEditorListener() {

                @Override
                public void applyEditorValue() {}

                @Override
                public void cancelEditor() {}

                @Override
                public void editorValueChanged(final boolean oldValidState, final boolean newValidState) {
                    onSelectOpacity();
                }
            });
        }
项目:idecore    文件:PackageVersionWidget.java   
public void addListener(ICellEditorListener listener) {
    versionColumnEditingSupport.cellEditor.addListener(listener);
}
项目:idecore    文件:PackageVersionWidget.java   
public void removeListener(ICellEditorListener listener) {
    versionColumnEditingSupport.cellEditor.removeListener(listener);
}
项目:chrysalix    文件:FocusTreeCanvas.java   
private void edit( final Label fieldEdited,
                   final CellEditor editor,
                   final EditorHandler editorHandler ) {
    this.editor = editor;
    this.editorHandler = editorHandler;
    this.fieldEdited = fieldEdited;
    if ( editor.getControl() == null ) editor.create( this );
    final Cell cell = cell( fieldEdited );
    focusCell( column( cell ), cell );
    getDisplay().asyncExec( new Runnable() {

        @Override
        public void run() {
            editor.setValue( fieldEdited.getText() );
            final Rectangle fieldBounds = fieldEdited.getBounds();
            final Point viewLocation = getViewport().getViewLocation();
            editor.getControl().setBounds( fieldBounds.x - viewLocation.x,
                                           fieldBounds.y - viewLocation.y,
                                           fieldBounds.width,
                                           editor.getControl().computeSize( SWT.DEFAULT, SWT.DEFAULT ).y );
            editor.setValidator( new ICellEditorValidator() {

                private final Color originalForegroundColor = editor.getControl().getForeground();

                @Override
                public String isValid( final Object value ) {
                    final String problem = editorHandler.problem();
                    if ( problem == null ) {
                        editor.getControl().setToolTipText( null );
                        editor.getControl().setForeground( originalForegroundColor );
                    } else {
                        editor.getControl().setToolTipText( problem );
                        editor.getControl().setForeground( getDisplay().getSystemColor( SWT.COLOR_RED ) );
                    }
                    return problem;
                }
            } );
            editor.addListener( new ICellEditorListener() {

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

                @Override
                public void cancelEditor() {
                    endEdit();
                }

                @Override
                public void editorValueChanged( final boolean oldValidState,
                                                final boolean newValidState ) {}
            } );
            editor.getControl().setVisible( true );
            editor.setFocus();
            editor.performSelectAll();
        }
    } );
}
项目:smaccm    文件:VariablesView.java   
public NextValueEditingSupport(final SimulationUIService simulationUIService, final TreeViewer treeViewer) {
    super(treeViewer);
    this.simulationUIService = Objects.requireNonNull(simulationUIService, "simulationUIService must not be null");
    this.cellEditor = new VariableValueCellEditor(treeViewer.getTree(), constraintErrorColor) {
        @Override
        protected Object openDialogBox(final Control cellEditorWindow) {
            final SimulationEngineState engineState = getVariableContentProvider().getCurrentState().getEngineState();
            final Model model = new DefaultInputConstraintDialogModel(inputConstraintHelper, refResolver, engineState);                 
            final InputConstraintHelper.Result parseResult = inputConstraintHelper.parse(getRawValue());
            if(!parseResult.isValid()) {
                throw new RuntimeException("Unable to parse current constraint.");
            }

            final VariableType variableType = Objects.requireNonNull(engineState.getElementType(currentElement), "unable to retrieve element type");
            final String variableName = Objects.requireNonNull(engineState.getElementName(currentElement), "unable to retrieve element name");
            final Result result = InputConstraintDialog.show(this.getControl().getShell(), model, variableName, parseResult.getInputConstraint(), variableTypeToResultType(variableType), engineState.getNumberOfFrames());
            return result == null || result.getInputConstraint() == null ? null : model.unparse(result.getInputConstraint());
        }
    };

    // Configure validator
    cellEditor.setValidator(new ICellEditorValidator() {
        @Override
        public String isValid(final Object value) {
            // Check if the value is valid
            if(value == null || (value instanceof String && ((String)value).trim().length() == 0)) {
                return null;
            }

            final VariableType variableType = getVariableContentProvider().getCurrentState().getEngineState().getElementType(currentElement);
            final SimulationEngineState engineState = getVariableContentProvider().getCurrentState().getEngineState();
            final InputConstraintHelper.Result result = inputConstraintHelper.parseAndValidate(value.toString(), refResolver, variableTypeToResultType(variableType), engineState.getNumberOfFrames());
            if(result.isValid()) {
                return null;
            } else {
                return result.getErrorMessage();
            }
        }               
    });

    cellEditor.addListener(new ICellEditorListener() {
        @Override
        public void applyEditorValue() {
            // Update the viewer if the value failed validation. If validation succeeded, update() is called as part of setValue()
            if(cellEditor.getErrorMessage() != null) {
                getViewer().update(currentElement, null);           
            }
        }

        @Override
        public void cancelEditor() {
            elementToConstraintErrorMap.remove(currentElement);
            updateCellEditorErrorState();
            getViewer().update(currentElement, null);
        }

        @Override
        public void editorValueChanged(final boolean oldValidState, final boolean newValidState) {
            // Update based on validation results
            if(currentElement != null) {
                if(newValidState) {
                    if(!oldValidState) {
                        elementToConstraintErrorMap.remove(currentElement);
                    }
                } else {
                    final String errorMessage = cellEditor.getErrorMessage();
                    elementToConstraintErrorMap.put(currentElement, new ConstraintError(cellEditor.getRawValue(), errorMessage));
                }

                updateCellEditorErrorState();
            }
        }               
    });
}
项目:elexis-3-core    文件:PersistentObjectEditingSupport.java   
public PersistentObjectEditingSupport(TableViewer columnViewer, String field, Class<? extends Serializable> fieldTypeClazz, boolean markValidationFailed){
    this(columnViewer, field);
    if (fieldTypeClazz != null)
    {
        editor.setValidator(new ICellEditorValidator() {

            @Override
            public String isValid(Object value) {
                try 
                {
                    String val = (String) value;
                    fieldTypeClazz.getDeclaredMethod("valueOf", String.class).invoke(null, val);
                    return null;
                } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException | ClassCastException e) {
                    return "dummy";
                }
            }
        });

        if (markValidationFailed)
        {
            editor.addListener(new ICellEditorListener() {
                @Override
                public void editorValueChanged(boolean oldValidState, boolean newValidState){
                    if (newValidState) {
                        editor.getControl().setBackground(
                            Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
                    } else {
                        editor.getControl().setBackground(
                            Display.getCurrent().getSystemColor(SWT.COLOR_RED));
                    }
                }

                @Override
                public void cancelEditor(){
                    editor.getControl().setBackground(
                        Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
                }

                @Override
                public void applyEditorValue(){
                    editor.getControl().setBackground(
                        Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
                }
            });
        }
    }
}
项目:elexis-3-core    文件:LabOrderEditingSupport.java   
protected void setUpCellEditor(ColumnViewer viewer){
    // set up validation of the cell editors
    textCellEditor = new TextCellEditor((Composite) viewer.getControl());

    textCellEditor.addListener(new ICellEditorListener() {
        @Override
        public void editorValueChanged(boolean oldValidState, boolean newValidState){
            if (newValidState) {
                textCellEditor.getControl().setBackground(
                    Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
            } else {
                textCellEditor.getControl().setBackground(
                    Display.getCurrent().getSystemColor(SWT.COLOR_RED));
            }
        }

        @Override
        public void cancelEditor(){
            textCellEditor.getControl().setBackground(
                Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
        }

        @Override
        public void applyEditorValue(){
            textCellEditor.getControl().setBackground(
                Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
        }
    });

    focusCell =
        new TableViewerFocusCellManager((TableViewer) viewer, new FocusCellHighlighter(viewer) {

    });

    ColumnViewerEditorActivationStrategy actSupport =
        new ColumnViewerEditorActivationStrategy(viewer) {
            @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.KEY_PRESSED && event.keyCode == SWT.KEYPAD_CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
            }
        };

    TableViewerEditor.create((TableViewer) viewer, focusCell, actSupport,
        ColumnViewerEditor.TABBING_VERTICAL
            | ColumnViewerEditor.KEYBOARD_ACTIVATION);
}
项目:elexis-3-core    文件:LabResultEditingSupport.java   
protected void setUpCellEditor(ColumnViewer viewer){
    // set up validation of the cell editors
    textCellEditor = new TextCellEditor((Composite) viewer.getControl());

    textCellEditor.addListener(new ICellEditorListener() {
        @Override
        public void editorValueChanged(boolean oldValidState, boolean newValidState){
            if (newValidState) {
                textCellEditor.getControl()
                    .setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
            } else {
                textCellEditor.getControl()
                    .setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
            }
        }

        @Override
        public void cancelEditor(){
            textCellEditor.getControl()
                .setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
        }

        @Override
        public void applyEditorValue(){
            textCellEditor.getControl()
                .setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
        }
    });

    focusCell =
        new TreeViewerFocusCellManager((TreeViewer) viewer, new FocusCellHighlighter(viewer) {

        });

    ColumnViewerEditorActivationStrategy actSupport =
        new ColumnViewerEditorActivationStrategy(viewer) {
            @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.KEY_PRESSED
                        && event.keyCode == SWT.KEYPAD_CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
            }
        };

    TreeViewerEditor.create((TreeViewer) viewer, focusCell, actSupport,
        ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
}