Subversion Repositories SmartDukaan

Rev

Rev 306 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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

import in.shop2020.hotspot.dashbaord.client.inbox.InboxPresenter.Display;

import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.user.client.ui.Anchor;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.HasHTML;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.SplitLayoutPanel;
import com.google.gwt.user.client.ui.StackLayoutPanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.VerticalSplitPanel;
import com.google.gwt.user.client.ui.Widget;

public class InboxWidget extends Composite implements Display{

        private final HTML commandList = new HTML("Navigation");
        private final HTML messageList = new HTML("Messages are");
        private final HTML messageDetails = new HTML("Message Details");
        private VerticalSplitPanel vpanel = new VerticalSplitPanel();
        private SplitLayoutPanel sp = new SplitLayoutPanel();
        private FlexTable orderFlextable = new FlexTable();
        private final Anchor newOrders = new Anchor("New Orders");
        private final Anchor billedOrders = new Anchor("Billed Orders");
        private final Anchor acceptedOrders = new Anchor("Accepted Orders");
        private final Anchor shippedOrders = new Anchor("Shipped Orders");
        private final Image image = new Image("img/shop2020.jpg");
        private Widget finalWidget = null;
        private Widget northWidget = null;
        
        public InboxWidget(){
        
                StackLayoutPanel stackPanel = new StackLayoutPanel(Unit.PX);
                addOrderLinks();
                stackPanel.add(orderFlextable, "Orders", 25);
                stackPanel.add(new HTML("<b>that</b>"), "Reports", 25);
                sp.addWest(stackPanel, 200);
                sp.addNorth(image, 30);
                sp.add(messageDetails);         
                vpanel.setTitle("The main layout");
                vpanel.setTopWidget(image);
                vpanel.setBottomWidget(sp);
                finalWidget = messageDetails;
                initWidget(sp);
                
                commandList.setHTML("<p> hi, how ae you doing buddy </p><ul><li>one<li>two<li>three</ul>");
                messageDetails.setText("This has messageDetails");
        }
        
        private void addOrderLinks(){
                orderFlextable.getColumnFormatter().setWidth(0, "200px");
                orderFlextable.setWidget(0, 0, newOrders);
                orderFlextable.setWidget(1, 0, acceptedOrders);
                orderFlextable.setWidget(2, 0, billedOrders);
                orderFlextable.setWidget(3, 0, shippedOrders);
                
        }
        
        @Override
        public Widget asWidget() {
                
                return this;
        }

        @Override
        public HasClickHandlers getMessageBox() {
                // TODO Auto-generated method stub
                return null;
        }       

        @Override
        public void updateOrderList(OrderList orderList) {
                if(finalWidget != null){
                        sp.remove(finalWidget);
                }
                if(northWidget != null){
                        sp.remove(northWidget);
                }
                sp.addNorth(orderList, 200);
                this.northWidget = orderList;
                
                sp.add(finalWidget);
                
        }

        @Override
        public HasClickHandlers getAcceptedOrdersAnchor() {
                // TODO Auto-generated method stub
                return acceptedOrders;
        }

        @Override
        public HasClickHandlers getBilledOrdersAnchor() {
                // TODO Auto-generated method stub
                return billedOrders;
        }

        @Override
        public HasClickHandlers getNewOrdersAnchor() {
                // TODO Auto-generated method stub
                return newOrders;
        }

        @Override
        public HasClickHandlers getShippedOrdersAnchor() {
                // TODO Auto-generated method stub
                return shippedOrders;
        }

        @Override
        public void updateOrderDetails(OrderDetails details) {
                if(finalWidget != null){
                        sp.remove(finalWidget);
                        
                }
                sp.add(details);
                finalWidget = details;
        }
}