Package org.worldbank.transport.tamt.client

Source Code of org.worldbank.transport.tamt.client.ApplicationNavigation$ApplicationNavigationUiBinder

package org.worldbank.transport.tamt.client;

import java.util.HashMap;

import org.worldbank.transport.tamt.client.event.SwitchModuleEvent;
import org.worldbank.transport.tamt.client.event.SwitchModuleEventHandler;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.shared.HandlerManager;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Widget;

public class ApplicationNavigation extends Composite {

  private static ApplicationNavigationUiBinder uiBinder = GWT
      .create(ApplicationNavigationUiBinder.class);

  interface ApplicationNavigationUiBinder extends
      UiBinder<Widget, ApplicationNavigation> {
  }
 
  interface NavigationStyle extends CssResource {
      String selected();
      String selectedSettings();
      String unselected();
    }

  @UiField NavigationStyle style;

  @UiField HTML regionNav;
  @UiField HTML tagNav;
  @UiField HTML importNav;
  @UiField HTML queryNav;
  @UiField HTML exportNav;

  private HandlerManager eventBus;
 
  private HashMap<String, Integer> navs;

  public ApplicationNavigation(HandlerManager eventBus) {
   
    this.eventBus = eventBus;
   
    navs = new HashMap<String, Integer>();
    navs.put(SwitchModuleEvent.REGION, 0);
    navs.put(SwitchModuleEvent.TAG, 1);
    navs.put(SwitchModuleEvent.IMPORT, 2);
    navs.put(SwitchModuleEvent.QUERY, 3);
    navs.put(SwitchModuleEvent.EXPORT, 4);
   
    initWidget(uiBinder.createAndBindUi(this));
   
    bind();
   
    // select Home
    eventBus.fireEvent(new SwitchModuleEvent(SwitchModuleEvent.REGION, true));
  }

  private void bind()
  {
    eventBus.addHandler(SwitchModuleEvent.TYPE,
      new SwitchModuleEventHandler() {
          public void onSwitchModule(SwitchModuleEvent event) {
            String module = event.getModule();
            GWT.log("NAV: module=" + module);
            Integer m = navs.get(module);
            GWT.log("NAV: m=" + m);
            switch (m) {
            case 0:
            // region
              setEnabled(regionNav, true);
              setEnabled(tagNav, false);
              setEnabled(importNav, false);
              setEnabled(queryNav, false);
              setEnabled(exportNav, false);
            break;
            case 1:
            // tag
              setEnabled(regionNav, false);
              setEnabled(tagNav, true);
              setEnabled(importNav, false);
              setEnabled(queryNav, false);
              setEnabled(exportNav, false);
            break;
            case 2:
            // import
              setEnabled(regionNav, false);
              setEnabled(tagNav, false);
              setEnabled(importNav, true);
              setEnabled(queryNav, false);
              setEnabled(exportNav, false);
            break;
            case 3:
            // query
              setEnabled(regionNav, false);
              setEnabled(tagNav, false);
              setEnabled(importNav, false);
              setEnabled(queryNav, true);
              setEnabled(exportNav, false);
            break;           
            case 4:
            // export
              setEnabled(regionNav, false);
              setEnabled(tagNav, false);
              setEnabled(importNav, false);
              setEnabled(queryNav, false);
              setEnabled(exportNav, true);
            break;           
            }
          }
    });
  }
 
  @UiHandler("tagNav")
  void onClickTag(ClickEvent e) {
    eventBus.fireEvent(new SwitchModuleEvent(SwitchModuleEvent.TAG, true));
  }
 
  @UiHandler("importNav")
  void onClickImport(ClickEvent e) {
    eventBus.fireEvent(new SwitchModuleEvent(SwitchModuleEvent.IMPORT, true));
  }
 
  @UiHandler("regionNav")
  void onClickRegion(ClickEvent e) {
    eventBus.fireEvent(new SwitchModuleEvent(SwitchModuleEvent.REGION, true));
  }
 
  @UiHandler("queryNav")
  void onClickQuery(ClickEvent e) {
    eventBus.fireEvent(new SwitchModuleEvent(SwitchModuleEvent.QUERY, true));
  }
 
  @UiHandler("exportNav")
  void onClickExport(ClickEvent e) {
    eventBus.fireEvent(new SwitchModuleEvent(SwitchModuleEvent.EXPORT, true));
 
 
  void setEnabled(HTML element, boolean enabled) {
    if(enabled)
    {
      /*GWT.log("NAV: element=" + element);
      if( element == regionNav)
      {
        element.addStyleName(style.selectedSettings());
      } else {
        element.addStyleName(style.selected());
      }
      */
      element.addStyleName(style.selected());
     
    } else
    {
      /*if( element == regionNav)
      {
        element.removeStyleName(style.selectedSettings());
      } else {
        element.removeStyleName(style.selected());
      }*/
      element.removeStyleName(style.selected());
    }
    //getElement().addStyle(enabled ? : style.selected() : style.unselected());
      //getElement().removeStyle(enabled ? : style.unselected() : style.selected());
  }


}
TOP

Related Classes of org.worldbank.transport.tamt.client.ApplicationNavigation$ApplicationNavigationUiBinder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.