package com.project1.client.ui;
import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RadioButton;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
import com.project1.client.Libro;
/**
* BuscarLibro
* Widget para agregar libros
* @author Luis Valdeavellano
*
*/
public class AddLibros extends Composite {
interface MyUiBinder extends UiBinder<Widget, AddLibros> {}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
//Obtenemos campos del widget
@UiField TextBox title;
@UiField TextBox autor;
@UiField TextBox edicion;
@UiField TextBox ano;
@UiField TextBox precio;
@UiField TextBox curso;
@UiField TextBox profesor;
@UiField RadioButton nuevo;
@UiField RadioButton usado;
@UiField RadioButton desgastado;
@UiField Label error_msg;
private Libro nuevoLibro;
/**
* Constructor.
*/
public AddLibros() {
initWidget(uiBinder.createAndBindUi(this));
nuevoLibro = new Libro();
error_msg.addStyleName("error_msg");
error_msg.setVisible(false);
}
public AddLibros(Libro editLibro){
initWidget(uiBinder.createAndBindUi(this));
setLibro(editLibro);
nuevoLibro = editLibro;
}
public void setLibro(Libro editLibro){
title.setText(editLibro.getTitulo());
autor.setText(editLibro.getAutor());
edicion.setText(editLibro.getEdicion());
ano.setText(editLibro.getAnno());
precio.setText(editLibro.getPrecio());
curso.setText(editLibro.getCurso());
profesor.setText(editLibro.getProfesor());
if (editLibro.getEstado().equals("Como nuevo")) nuevo.setValue(true);
if (editLibro.getEstado().equals("Usado, pero completo")) usado.setValue(true);
if (editLibro.getEstado().equals("Desgastado")) desgastado.setValue(true);
}
public void showError(String error){
error_msg.setText(error);
error_msg.setVisible(true);
}
public void removeError(){
error_msg.setText("");
error_msg.setVisible(false);
}
public Libro getLibro(){
if ((!(title.getText().isEmpty())) && (!(autor.getText().isEmpty())) && (!(edicion.getText().isEmpty())) && (!(ano.getText().isEmpty())) && (!(precio.getText().isEmpty())) && (!(curso.getText().isEmpty())) && (!(profesor.getText().isEmpty()))){
nuevoLibro.setTitulo(title.getText());
nuevoLibro.setAutor(autor.getText());
nuevoLibro.setEdicion(edicion.getText());
nuevoLibro.setAnno(ano.getText());
nuevoLibro.setPrecio(precio.getText());
nuevoLibro.setCurso(curso.getText());
nuevoLibro.setProfesor(profesor.getText());
if (nuevo.getValue()) nuevoLibro.setEstado("Como nuevo");
if (usado.getValue()) nuevoLibro.setEstado("Usado, pero completo");
if (desgastado.getValue()) nuevoLibro.setEstado("Desgastado");
return nuevoLibro;
}else{
showError("Debe llenar todos los campos");
return null;
}
}
}