Package net.cloudcodex.client.widgets

Source Code of net.cloudcodex.client.widgets.ToggleButtonGroup

/**
*
*/
package net.cloudcodex.client.widgets;

import java.util.HashMap;
import java.util.Map;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.ToggleButton;

/**
*
* @author Daniel
*
*/
public class ToggleButtonGroup extends HorizontalPanel implements HasClickHandlers {

  private final Map<String, ToggleButton> toggleButtons = new HashMap<String, ToggleButton>();

  private ToggleButton selectedButton;
 
  public ToggleButtonGroup() {
    this.setStyleName("toggleButtonPanel");
  }
 
  public void addButton(ToggleButton button) {

    button.addClickHandler(new ClickHandler() {

      @Override
      public void onClick(ClickEvent event) {
        ToggleButton source = (ToggleButton) event.getSource();
        setSelectedButton(source);

      }
    });
    this.add(button);
    toggleButtons.put(button.getTitle(), button);
  }

  public void setSelectedButton(ToggleButton source) {
    selectedButton = source;
    refreshSelectionGroup();
  }

  private void refreshSelectionGroup() {
    for (ToggleButton toggleButton : toggleButtons.values()) {
      toggleButton.setDown(false);
    }
   
    toggleButtons.get(selectedButton.getTitle()).setDown(true);
  }
 
  public ToggleButton getSelectedButton(){
    return selectedButton ;
  }

  @Override
  public HandlerRegistration addClickHandler(ClickHandler handler) {
    return addDomHandler(handler, ClickEvent.getType());
  }

  public void setSelectedButton(String selectedToggleButton) {
    setSelectedButton(toggleButtons.get(selectedToggleButton));
  }



}
TOP

Related Classes of net.cloudcodex.client.widgets.ToggleButtonGroup

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.