Subversion Repositories SmartDukaan

Rev

Rev 306 | Rev 487 | 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.DockLayoutPanel;
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.Tree;
import com.google.gwt.user.client.ui.TreeItem;
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 DockLayoutPanel dpanel = new DockLayoutPanel(Unit.EM);
        private SplitLayoutPanel sp = new SplitLayoutPanel();
        private FlexTable orderFlextable = new FlexTable();
        private final Anchor newOrders = new Anchor("New");
        private final Anchor billedOrders = new Anchor("Billed");
        private final Anchor acceptedOrders = new Anchor("Accepted");
        private final Anchor shippedOrders = new Anchor("Shipped");
        private final Anchor allOrders = new Anchor("All");
        private final Anchor rejectedOrders = new Anchor("Rjected");
        private final Anchor notAvailable = new Anchor("No Stock");
        private final Anchor alerts = new Anchor("Alerts");
        private final Image image = new Image("img/shop2020.jpg");
        private Widget finalWidget = null;
        private Widget northWidget = null;
        private TopPanel topPanel = new TopPanel();
        private Tree t = new Tree();
        
        
        public InboxWidget(){
                dpanel.addNorth(topPanel, 5);
                StackLayoutPanel stackPanel = new StackLayoutPanel(Unit.PX);
                addOrderLinks();
                VerticalPanel panel = new VerticalPanel();
                panel.add(orderFlextable);
                t.addItem(addOrderTree());
                panel.add(t);
                stackPanel.add(panel, "Orders", 25);
                stackPanel.add(new HTML("<b>that</b>"), "Reports", 25);
                sp.addWest(stackPanel, 200);
                sp.add(messageDetails);         
                dpanel.add(sp);
                finalWidget = messageDetails;
                initWidget(dpanel);
                
                commandList.setHTML("<p> hi, how ae you doing buddy </p><ul><li>one<li>two<li>three</ul>");
                messageDetails.setText("");
        }
        
        private void addOrderLinks(){
                orderFlextable.getColumnFormatter().setWidth(0, "200px");
                //orderFlextable.getColumnFormatter().
                orderFlextable.setCellSpacing(0);
                orderFlextable.setCellPadding(0);
                orderFlextable.setWidget(0, 0, newOrders);
                orderFlextable.setWidget(1, 0, acceptedOrders);
                orderFlextable.setWidget(2, 0, billedOrders);
                orderFlextable.setWidget(3, 0, shippedOrders);  
                orderFlextable.setWidget(4, 0, rejectedOrders);
                orderFlextable.setWidget(5, 0, notAvailable);
                orderFlextable.setWidget(6, 0, alerts);
        }
        
        private TreeItem addOrderTree(){
                TreeItem root = new TreeItem("Orders");
                root.addItem(allOrders);
                root.addItem(newOrders);
                root.addItem(acceptedOrders);
                root.addItem(billedOrders);
                root.addItem(shippedOrders);
                root.addItem(rejectedOrders);
                root.addItem(notAvailable);
                root.addItem(alerts);
                alerts.setVisible(false);
                return root;
        }
        
        @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 getRejectedOrdersAnchor() {
                // TODO Auto-generated method stub
                return rejectedOrders;
        }

        @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;
        }

        @Override
        public void changeGreeting(String greeting) {
                topPanel.changeGreeting(greeting);              
        }

        @Override
        public HasClickHandlers getSignOutLink() {
                // TODO Auto-generated method stub
                return topPanel.getSignOutLink();
        }

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

        @Override
        public void removeDetailsPane() {
                
                if(finalWidget != null){
                        sp.remove(finalWidget);
                        
                }
                sp.add(messageDetails);
                finalWidget = messageDetails;           
        }

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

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

}