下面列出了org.eclipse.jface.viewers.CheckboxCellEditor#org.eclipse.jface.viewers.TextCellEditor 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public CellEditor getCellEditor(Object element) {
TextCellEditor textCellEditor = new TextCellEditor((Composite) getViewer().getControl());
textCellEditor.setValidator(new ICellEditorValidator() {
public String isValid(Object value) {
try {
Long.parseLong((String) value);
} catch (NumberFormatException e) {
return "No valid integer value!";
}
return null;
}
});
return textCellEditor;
}
@Override
public CellEditor getCellEditor(Object element) {
TextCellEditor textCellEditor = new TextCellEditor((Composite) getViewer().getControl());
textCellEditor.setValidator(new ICellEditorValidator() {
public String isValid(Object value) {
String stringValue = (String) value;
try {
Double.parseDouble(stringValue);
} catch (NumberFormatException e) {
return "No valid real value!";
}
return null;
}
});
return textCellEditor;
}
/**
*
*/
void defineCellEditing() {
final String[] columnProperties = new String[model.getColumnCount()];
final CellEditor[] cellEditors = new CellEditor[model.getColumnCount()];
for (int i = 0; i < model.getColumnCount(); i++) {
columnProperties[i] = Integer.toString(i);
cellEditors[i] = new TextCellEditor(tableViewer.getTable());
}
tableViewer.setColumnProperties(columnProperties);
// XXX can be replaced by tableViewer.setEditingSupport()
tableViewer.setCellEditors(cellEditors);
tableViewer.setCellModifier(new CSVEditorCellModifier());
}
private CellEditor[] getCellEditors( Table table )
{
CellEditor[] editors = new CellEditor[COLUMNS.length];
editors[0] = new TextCellEditor( table ) {
@Override
protected void keyReleaseOccured( KeyEvent keyEvent )
{
super.keyReleaseOccured( keyEvent );
if ( keyEvent.character == '\r' )
{
fTableViewer.editElement( fTableViewer.getElementAt( fTable.getSelectionIndex( ) ),
1 );
}
}
};
editors[1] = new TextCellEditor( table );
return editors;
}
@Override
protected CellEditor getCellEditor(Object element) {
TextCellEditor cellEditor = new TextCellEditor((Composite) getViewer().getControl());
cellEditor.setValidator(new ICellEditorValidator() {
@Override
public String isValid(Object value) {
for(String item : select.getItems()){
if(item.equals(value)){
return "Item already exists" ;
}
}
return null;
}
});
return cellEditor ;
}
@Override
protected CellEditor getCellEditor(Object element) {
TextCellEditor cellEditor = new TextCellEditor((Composite) getViewer().getControl());
cellEditor.setValidator(new ICellEditorValidator() {
@Override
public String isValid(Object value) {
for(String item : radioGroup.getChoices()){
if(item.equals(value)){
return "Item already exists" ;
}
}
return null;
}
});
return cellEditor ;
}
@Override
protected CellEditor getCellEditor(Object element) {
TextCellEditor cellEditor = new TextCellEditor((Composite) getViewer().getControl());
cellEditor.setValidator(new ICellEditorValidator() {
@Override
public String isValid(Object value) {
for(String item : array.getColsCaption()){
if(item.equals(value)){
return "Item already exists" ;
}
}
return null;
}
});
return cellEditor ;
}
@Override
protected CellEditor getCellEditor(final Object element) {
TextCellEditor editor = new TextCellEditor((Composite) getViewer().getControl(), SWT.NONE) ;
editor.setValidator(new ICellEditorValidator() {
@Override
public String isValid(Object value) {
String desc = (String)value;
if (desc.length()>255){
return Messages.descTooLong;
}
return null;
}
});
return editor;
}
@Override
protected TextCellEditor getCellEditor(final Object object) {
cellEditor = new TextCellEditor((Composite) getViewer().getControl()) {
/*
* (non-Javadoc)
* @see org.eclipse.jface.viewers.CellEditor#deactivate()
*/
@Override
public void deactivate() {
super.deactivate();
messageManager.removeAllMessages();
}
};
cellEditor.getControl().setData(SWTBotConstants.SWTBOT_WIDGET_ID_KEY, controlId);
return cellEditor;
}
@Override
protected CellEditor getCellEditor(final Object element) {
TextCellEditor editor = new TextCellEditor((Composite) getViewer().getControl(), SWT.NONE) ;
editor.setValidator(new ICellEditorValidator() {
@Override
public String isValid(Object input) {
if(input == null || input.toString().isEmpty()){
return Messages.dataNameIsEmpty ;
}
return null;
}
}) ;
return editor;
}
@Override
protected CellEditor getCellEditor(final Object element) {
TextCellEditor editor = new TextCellEditor((Composite) getViewer().getControl(), SWT.NONE) ;
editor.setValidator(new ICellEditorValidator() {
@Override
public String isValid(Object input) {
if(input == null || input.toString().isEmpty()){
return Messages.dataNameIsEmpty ;
}
for(DataType type : existingTypes){
if(type.getName().equals(input.toString())){
return Messages.dataAlreadyExist ;
}
}
return null;
}
}) ;
return editor;
}
private void setEditor(ICellModifier<T> modifier, int index) {
switch (modifier.getCellEditingType()) {
case TEXTBOX:
if (modifier.getStyle() != SWT.NONE)
editors[index] = new TextCellEditor(getComponent(), modifier.getStyle());
else
editors[index] = new TextCellEditor(getComponent());
break;
case COMBOBOX:
editors[index] = new ComboEditor(getComponent(), new String[0]);
break;
case CHECKBOX:
if (modifier.getStyle() != SWT.NONE)
editors[index] = new CheckboxCellEditor(getComponent(), modifier.getStyle());
else
editors[index] = new CheckboxCellEditor(getComponent());
break;
default:
break;
}
}
public GridViewerShortTextPerformance(Shell shell)
{
final GridTableViewer v = new GridTableViewer(shell, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
v.setLabelProvider(new MyLabelProvider());
v.setContentProvider(new MyContentProvider());
v.getGrid().setCellSelectionEnabled(true);
v.setCellEditors(new CellEditor[] { new TextCellEditor(v.getGrid()), new TextCellEditor(v.getGrid()) });
v.setColumnProperties(new String[] { "1", "2" });
ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v)
{
@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);
}
};
GridViewerEditor.create(v, actSupport,
ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
| ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);
for (int i = 0; i < NUM_COLUMNS; i++)
{
createColumn(v, "Column " + i);
}
MyModel[] model = createModel();
v.setInput(model);
v.getGrid().setLinesVisible(true);
v.getGrid().setHeaderVisible(true);
}
/**
* {@inheritDoc}
*/
@Override
protected void initCellEditor() {
final TextCellEditor editor = (TextCellEditor) getCellEditor();
if (note.getText() != null) {
editor.setValue(note.getText());
}
final Text text = (Text) editor.getControl();
text.selectAll();
}
public EnvironmentVariablesTable(final Composite parent) {
super(parent, SWT.NONE);
final TableColumnLayout tableColumnLayout = new TableColumnLayout();
setLayout(tableColumnLayout);
labelProvider = new TableLabelProvider();
viewer = new TableViewer(this, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
viewer.setColumnProperties(new String[] { getKeyName(), getValueName() });
table = viewer.getTable();
table.setLinesVisible(true);
table.setHeaderVisible(true);
viewer.setLabelProvider(labelProvider);
try {
viewer.setContentProvider(new TableContentProvider(vars));
} catch (final Exception e) {
// noop
}
createColumns(tableColumnLayout, viewer.getTable());
final CellEditor[] editors = new CellEditor[] { new TextCellEditor(table), new TextCellEditor(table) };
// Assign the cell editors to the viewer
viewer.setCellEditors(editors);
viewer.setCellModifier(new TableCellModifier(viewer));
}
@Override
public CellEditor createPropertyEditor(Composite parent) {
CellEditor editor = new TextCellEditor(parent, SWT.READ_ONLY);
if (getValidator() != null) {
editor.setValidator(getValidator());
}
return editor;
}
public FilterTableControl(Composite parent) {
super(parent, SWT.NONE);
setLayout(Widgets.buildContainerLayout(1));
filterViewer =
new TableViewer(this, SWT.BORDER | SWT.V_SCROLL | SWT.MULTI );
// Set up layout properties.
Table filterTable = filterViewer.getTable();
filterTable.setLayoutData(Widgets.buildGrabFillData());
// Initialize the table.
filterTable.setHeaderVisible(true);
filterTable.setToolTipText("Node Filter Editor");
EditColTableDef.setupTable(TABLE_DEF, filterTable);
CellEditor[] cellEditors = new CellEditor[TABLE_DEF.length];
cellEditors[INDEX_NAME] = new TextCellEditor(filterTable);
cellEditors[INDEX_SUMMARY] = new NodeFilterCellEditor(filterTable);
// Configure table properties.
filterViewer.setCellEditors(cellEditors);
filterViewer.setLabelProvider(LABEL_PROVIDER);
filterViewer.setColumnProperties(EditColTableDef.getProperties(TABLE_DEF));
filterViewer.setCellModifier(new ControlCellModifier());
// Since the order is significant, no sorting capabilities.
// Avoid setInput() invocations that come with
// TableContentProvider.initViewer
filterViewer.setContentProvider(ArrayContentProvider.getInstance());
}
@Override
protected TreeViewer createTreeViewer(Composite parent) {
TreeViewer result = super.createTreeViewer(parent);
// Initialize the table.
Tree tree = result.getTree();
tree.setHeaderVisible(true);
tree.setToolTipText("Node Display Properties");
EditColTableDef.setupTree(TABLE_DEF, tree);
// Configure cell editing.
CellEditor[] cellEditors = new CellEditor[TABLE_DEF.length];
cellEditors[INDEX_NAME] = null;
cellEditors[INDEX_SELECTED] = new CheckboxCellEditor(tree);
cellEditors[INDEX_XPOS] = new TextCellEditor(tree);
cellEditors[INDEX_YPOS] = new TextCellEditor(tree);
cellEditors[INDEX_VISIBLE] = new CheckboxCellEditor(tree);
cellEditors[INDEX_SIZE] = new ComboBoxCellEditor(
tree, buildSizeOptions());
cellEditors[INDEX_COLOR] = new ColorCellEditor(tree);
result.setCellEditors(cellEditors);
result.setLabelProvider(new PartLabelProvider());
result.setColumnProperties(EditColTableDef.getProperties(TABLE_DEF));
result.setCellModifier(new PartCellModifier());
return result;
}
private Control setupControl(Composite parent) {
Composite topLevel = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
topLevel.setLayout(layout);
tableViewer =
new TableViewer(topLevel, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
Table tableData = tableViewer.getTable();
tableData.setHeaderVisible(true);
EditColTableDef.setupTable(TABLE_DEF, tableData);
CellEditor[] cellEditors = new CellEditor[4];
cellEditors[0] = null;
cellEditors[1] = null;
cellEditors[2] = new TextCellEditor(tableData);
cellEditors[3] = new TextCellEditor(tableData);
tableViewer.setCellEditors(cellEditors);
tableViewer.setColumnProperties(EditColTableDef.getProperties(TABLE_DEF));
RemapTableHelper cellHelper = new RemapTableHelper();
tableViewer.setLabelProvider(cellHelper);
tableData.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
remapContent = new TableContentProvider<MigrationRule<?>>();
remapContent.initViewer(tableViewer);
return topLevel;
}
@Override
protected void initCellEditor() {
final TextCellEditor editor = (TextCellEditor) getCellEditor();
if (note.getNoteText() != null) {
editor.setValue(note.getNoteText());
}
final Text text = (Text) editor.getControl();
text.selectAll();
}
private CellEditor[] createCellEditors() {
final CellEditor editors[]= new CellEditor[SIZE];
editors[STATE_PROP]= new MultiStateCellEditor(fTable, NLSSubstitution.STATE_COUNT, NLSSubstitution.DEFAULT);
editors[KEY_PROP]= new TextCellEditor(fTable);
editors[VAL_PROP]= new TextCellEditor(fTable);
return editors;
}
protected void createColumns(TableViewerCreator<U> tableViewerCreator, Table table) {
TableViewerCreatorColumn<U, String> rowColumn = new TableViewerCreatorColumn<U, String>(tableViewerCreator);
rowColumn.setBeanPropertyAccessors(accessors);
rowColumn.setWeight(60);
rowColumn.setModifiable(true);
rowColumn.setMinimumWidth(60);
rowColumn.setCellEditor(new TextCellEditor(tableViewerCreator.getTable()));
}
public GenericEditingSupport(ColumnViewer viewer,
IGenericTableColumn column) {
super(viewer);
this.editor = new TextCellEditor((Composite) viewer.getControl(),
column.getAlignMent());
this.column = column;
}
public CellEditor[] getEditors( Table table )
{
// TODO Auto-generated method stub
if ( editors == null )
{
editors = new CellEditor[columnNames.length];
for ( int i = 0; i < columnNames.length; i++ )
{
editors[i] = new TextCellEditor( );
}
}
return editors;
}
public CellEditor[] getEditors( Table table )
{
// TODO Auto-generated method stub
if ( editors == null )
{
editors = new CellEditor[columnNames.length];
editors[0] = new TextCellEditor( );
}
return editors;
}
public CellEditor[] getEditors( final Table table )
{
if ( editors == null )
{
editors = new CellEditor[columnKeys.length];
editors[0] = new TextCellEditor( table );
editors[1] = new TextCellEditor( table );
editors[2] = new TextCellEditor( table );
editors[3] = new TextCellEditor( table );
editors[4] = new TextCellEditor( table );
}
return editors;
}
public CellEditor[] getEditors( Table table )
{
if ( editors == null )
{
editors = new CellEditor[columnKeys.length];
editors[0] = new TextCellEditor( table );
editors[1] = new TextCellEditor( table );
editors[2] = new TextCellEditor( table );
editors[3] = new TextCellEditor( table );
editors[4] = new TextCellEditor( table );
}
return editors;
}
public CellEditor[] getEditors( Table table )
{
// TODO Auto-generated method stub
if ( editors == null )
{
editors = new CellEditor[columnNames.length];
for ( int i = 0; i < columnNames.length; i++ )
{
editors[i] = new TextCellEditor( );
}
}
return editors;
}
public CellEditor[] getEditors( Table table )
{
// TODO Auto-generated method stub
if ( editors == null )
{
editors = new CellEditor[columnNames.length];
for ( int i = 0; i < columnNames.length; i++ )
{
editors[i] = new TextCellEditor( );
}
}
return editors;
}
/**
* create a tableview for the existed table
*
*/
private void createTableViewer( )
{
tableViewer = new TableViewer( table );
tableViewer.setUseHashlookup( true );
tableViewer.setColumnProperties( elementNames );
// Create the cell editors
CellEditor[] editors = new CellEditor[elementNames.length];
for ( int i = 0; i < elementNames.length; i++ )
{
TextCellEditor textEditor = new TextCellEditor( table );
( (Text) textEditor.getControl( ) ).setTextLimit( 60 );
if ( i == 1 )
{
// assure that the CUSTOM NAME column doesn't contain
// ReportPlugin.PREFERENCE_DELIMITER
( (Text) textEditor.getControl( ) ).addVerifyListener(
new VerifyListener( ) {
public void verifyText( VerifyEvent e )
{
e.doit = e.text.indexOf( ReportPlugin.PREFERENCE_DELIMITER ) < 0;
}
} );
}
editors[i] = textEditor;
}
// Assign the cell editors to the viewer
tableViewer.setCellEditors( editors );
// Set the cell modifier for the viewer
tableViewer.setCellModifier( new ElementNamesCellModifier( this ) );
}