/******************************************************************************* * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Exadel, Inc. and Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.common.model.ui.objecteditor; import org.eclipse.jface.viewers.ICellModifier; import org.eclipse.swt.widgets.*; import org.jboss.tools.common.model.XModelException; public class XCellModifier implements ICellModifier { public boolean canModify(Object element, String property) { if(!"value".equals(property)) return false; //$NON-NLS-1$ XAttributeInfo v = (XAttributeInfo)element; return v != null && v.isEditable(); } public Object getValue(Object element, String property) { return element; } public void modify(Object element, String property, Object value) { XAttributeInfo v = (XAttributeInfo)value; if(v != null) { try { v.commit(); } catch (XModelException e) { throw new IllegalArgumentException(e.getMessage(), e); } } TableItem item = (TableItem)element; if (item!=null && !item.isDisposed()) { item.setText(1, XTable.toVisualValue(v.getValue())); } } }