package com.topsun.posclient.sales.ui.table;
import org.eclipse.jface.viewers.ICellModifier;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.widgets.TableItem;
import com.topsun.posclient.common.service.IBaseService;
import com.topsun.posclient.common.service.impl.BaseServiceImpl;
import com.topsun.posclient.common.ui.utils.FormatUtils;
import com.topsun.posclient.datamodel.GoldPrice;
public class GoldPriceCellModify implements ICellModifier {
IBaseService baseService = new BaseServiceImpl();
public TableViewer tableViewer;
public GoldPriceCellModify(TableViewer tableViewer){
this.tableViewer = tableViewer;
}
@Override
public boolean canModify(Object element, String property) {
if("Price".equals(property)){
return true;
}
return false;
}
@Override
public Object getValue(Object element, String property) {
if(element instanceof GoldPrice){
GoldPrice goldPrice = (GoldPrice)element;
if("Price".equals(property)){
return goldPrice.getPrice()!=null?goldPrice.getPrice():"0.00";
}
}
return null;
}
@Override
public void modify(Object element, String property, Object value) {
if(element instanceof TableItem){
if("Price".equals(property)){
TableItem item = (TableItem)element;
Object obj = item.getData();
GoldPrice goldPrice =(GoldPrice)obj;
if("".equals(value.toString().trim())){
return;
}
if(obj instanceof GoldPrice){
boolean flag = FormatUtils.chenckNumFormat(tableViewer.getTable(), value.toString(), "【金价】格式错误");
if(!flag){
return;
}
goldPrice.setPrice(String.valueOf(value));
}
tableViewer.refresh();
}
}
}
}