Subversion Repositories SmartDukaan

Rev

Rev 960 | Blame | Last modification | View Log | RSS feed

package in.shop2020.hotspot.dashbaord.client.inbox;

import in.shop2020.hotspot.dashbaord.client.event.BilledOrderEvent;
import in.shop2020.hotspot.dashbaord.shared.actions.Order;

import org.enunes.gwt.mvp.client.EventBus;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DialogBox;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.HorizontalSplitPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;

public class BillingInfoBox extends DialogBox{
        
        private Label billNumberLabel = new Label("Bill Number");
        
        private Label billGeneratedByLabel = new Label("Generated By");
        private Label errorLabel = new Label("");
        private TextBox billNumber = new TextBox();
        
        private Label generatedBy;
        
        private Button submitbutton = new Button("Submit");
        
        private EventBus eventBus;
        
        private HorizontalPanel hpanel;
        
        private VerticalPanel vpanel = new VerticalPanel();
        private final Order order;
        
        private final String user;
        
        public BillingInfoBox(final EventBus eventBus, final Order order, final String user){
                this.eventBus = eventBus;
                this.order = order;
                this.user = user;
                //errorLabel.set
                vpanel.add(errorLabel);
                hpanel = new HorizontalPanel();
                hpanel.setSpacing(5);
                hpanel.add(billNumberLabel);
                hpanel.add(billNumber);
                hpanel.setCellWidth(billNumberLabel, "120px");
                vpanel.add(hpanel);
                
                hpanel = new HorizontalPanel();
                hpanel.setSpacing(5);
                hpanel.add(billGeneratedByLabel);
                generatedBy = new Label(this.user);
                hpanel.add(generatedBy);
                hpanel.setCellWidth(billGeneratedByLabel, "120px");
                vpanel.add(hpanel);
                vpanel.add(submitbutton);
                setWidget(vpanel);
                setAutoHideEnabled(true);
                setGlassEnabled(true);
                setText("Please put in billing details");
                //setSize("400px", "300px");
                //generatedBy.setText(user+"name");             
                setModal(true);
                
                
                submitbutton.addClickHandler(new ClickHandler() {
                        
                        @Override
                        public void onClick(ClickEvent event) {
                                String billingNumber = billNumber.getText();
                                if("".equals(billingNumber)){
                                        errorLabel.setText("Billing number can't be left empty");
                                        return;
                                }
                                eventBus.fireEvent(new BilledOrderEvent(order, billingNumber, generatedBy.getText()));
                                hide();
                                clean();
                        }
                });
        }
        
        public void clean(){
                billNumber.setText("");
                generatedBy.setText("");
                errorLabel.setText("");
        }
}