Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.pentaho.ui.xul.gwt.tags;
  
  import java.util.List;
  
 
 public class GwtRadioGroup extends GwtVbox implements XulRadioGroupPropertyChangeListener {
 
   private static final String NAME = "radiogroup"//$NON-NLS-1$
   
   private List<GwtRadioradios;
   private String value;
   
   
   public GwtRadioGroup() {
     super(); 
     this. = new ArrayList<GwtRadio>();
     . = this;
   }
   
   public void init(com.google.gwt.xml.client.Element srcEleXulDomContainer aContainer) {
     super.init(srcEleaContainer);
     setDisabled("true".equals(srcEle.getAttribute("disabled")));    
     . = this;
   }
 
   public void registerRadio(GwtRadio aRadio) {
     if (aRadio.isChecked()) {
       setValue(aRadio.getValue());
     }
     aRadio.addPropertyChangeListener("value"this);
     aRadio.addPropertyChangeListener("checked"this); //$NON-NLS-1$
     aRadio.setDisabled(isDisabled());
     this..add(aRadio);
   }
 
   @Bindable
   public String getValue() {
     return ;
   }
 
   @Bindable
   public void setValue(String value) {
     String prev = this.;
     this. = value;
     boolean found = false;
     GwtRadio custom = null;
 
     if (prev == null || !prev.equals(value)) {      
       for (GwtRadio radio : this.) {
         if (radio.getValue().equals(value)) {
           radio.setChecked(true);
           found = true;
         } else {
           radio.setChecked(false);
         }
         if (radio.isCustomValue()) {
           custom = radio;
         }
       }
 
       // handle the custom value radio ("other")
       if (custom != null && !found) {
         custom.setChecked(true);
         custom.setValue(value);
       }
 
       firePropertyChange("value"prevvalue); //$NON-NLS-1$
     }
   }
 
   
   public static void register() {
     GwtXulParser.registerHandler(new GwtXulHandler() {
       public Element newInstance() {
         return new GwtRadioGroup();
       }
     });
   }
 
   public void replaceChild(Element oldElementElement newElement) {
     resetContainer();
     super.replaceChild(oldElementnewElement);
   }
 
   public void propertyChange(PropertyChangeEvent evt) {
     Boolean checked = null;
     GwtRadio radio = (GwtRadio)evt.getSource();
     if (evt.getPropertyName().equals("checked")) {
       checked = (Boolean)evt.getNewValue();
      if(!checked && radio.isCustomValue()) {
        // a custom value radio is becomong unselected, make the other textbox disabled
        radio.disableCustomValueTextBox();
      }
    } else if (evt.getPropertyName().equals("value")) {
      checked = true;
    }
    
    // only care about the radio becoming selected, not the one being unselected
    if (checked) {
      // let listeners know that the selected radio has changed
      setValue(radio.getValue());
    }
  }
  public void setDisabled(boolean disabled) {
    boolean prev = isDisabled();
    this. = disabled;
    for (GwtRadio radio : ) {
      radio.setDisabled(disabled);
    }
    super.setDisabled(disabled);
    firePropertyChange("disabled"prevdisabled);
  }
New to GrepCode? Check out our FAQ X