Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.pentaho.ui.xul.swt.tags.treeutil;
 
 
 import  org.eclipse.jface.viewers.ComboBoxCellEditor;
 import  org.eclipse.jface.viewers.ICellModifier;
 import  org.eclipse.jface.viewers.TableViewer;
 import  org.eclipse.jface.viewers.TextCellEditor;
 import  org.eclipse.swt.widgets.TableItem;
public class XulTableColumnModifier implements ICellModifier {
  public XulTableColumnModifier(XulTree tree){
    this. = tree;
  }
  
  public boolean canModify(Object arg0String property) {
    return .getColumns().getColumn(Integer.parseInt(property)).isEditable();
  }
  public Object getValue(Object arg0String property) {
    final int colIdx = Integer.parseInt(property);
    XulTreeCell cell = ((XulTreeItemarg0).getRow().getCell(colIdx);
    if (cell == null) {
      return "";
    }
    switch (.getColumns().getColumn(colIdx).getColumnType()) {
    case :
      return cell.getValue();
    case :
    case :
      Vector vals = (Vectorcell.getValue();
      String[] items = new String[vals.size()];
      for (int i = 0; i < vals.size(); i++) {
        items[i] = "" + vals.get(i);
      }
      ((ComboBoxCellEditor) ((TableViewer) .getManagedObject()).getCellEditors()[colIdx]).setItems(items);
      return cell.getSelectedIndex();
    case :
    case :
      ((TextCellEditor) ((TableViewer) .getManagedObject()).getCellEditors()[colIdx]).getControl()
          .setEnabled(!cell.isDisabled());
      return cell.getLabel() != null ? cell.getLabel() : "";
    default:
      return cell.getValue();
    }
  }
  public void modify(Object elementString propertyObject value) {
    final int colIdx = Integer.parseInt(property);
    XulTreeCell cell = ((XulTreeItem) ((TableItem) element).getData())
        .getRow().getCell(colIdx);
    if (cell == null) {
      return;
    }
    switch (.getColumns().getColumn(colIdx).getColumnType()) {
    case :
      cell.setValue((Booleanvalue);
      break;
    case :
    case :
      if (value instanceof String) {
        cell.setLabel((Stringvalue);
      } else if (((Integervalue) > -1) {
        cell.setSelectedIndex((Integervalue);
      }
      break;
    default:
      cell.setLabel((Stringvalue);
    }
    ((TableViewer) .getManagedObject()).refresh();
  }
New to GrepCode? Check out our FAQ X