package tela.editingSupport;
import java.math.BigDecimal;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.EditingSupport;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.jface.viewers.TreeViewer;
import banco.modelo.ItemServico;
import banco.modelo.ProdutoServico;
public class QuantidadeItemServicoEditingSupport extends EditingSupport{
private TreeViewer viewer;
public QuantidadeItemServicoEditingSupport(TreeViewer tvServicoProduto) {
super(tvServicoProduto);
this.viewer = tvServicoProduto;
}
@Override
protected CellEditor getCellEditor(Object element) {
TextCellEditor tce = new TextCellEditor(viewer.getTree());
return tce;
}
@Override
protected boolean canEdit(Object element) {
return ((ItemServico)element).getItem().getTipo().equals(ProdutoServico.TIPOPRODUTO);
}
@Override
protected Object getValue(Object element) {
ItemServico is = (ItemServico)element;
if(is != null)
return is.getQuantidade().toString();
return "";
}
@Override
protected void setValue(Object element, Object value) {
try{
ItemServico is = (ItemServico)element;
String quantidade = (String) value;
if(!quantidade.isEmpty()){
Integer valorQuantidade = Integer.parseInt(quantidade);
if(valorQuantidade.compareTo(0) >= 0){
is.setQuantidade(valorQuantidade);
BigDecimal total = is.getValorUnitario().multiply(new BigDecimal(is.getQuantidade()));
is.setTotal(total);
viewer.refresh();
}
}
}catch(Exception e){}
}
}