001    /*
002     * Copyright 2006 Google Inc.
003     * 
004     * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005     * use this file except in compliance with the License. You may obtain a copy of
006     * the License at
007     * 
008     * http://www.apache.org/licenses/LICENSE-2.0
009     * 
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012     * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013     * License for the specific language governing permissions and limitations under
014     * the License.
015     */
016    package com.google.gwt.user.client.ui;
017    
018    import com.google.gwt.user.client.DOM;
019    import com.google.gwt.user.client.Element;
020    import com.google.gwt.user.client.Event;
021    
022    /**
023     * Abstract base class for {@link com.google.gwt.user.client.ui.Button},
024     * {@link com.google.gwt.user.client.ui.CheckBox},
025     * {@link com.google.gwt.user.client.ui.RadioButton}.
026     */
027    public abstract class ButtonBase extends FocusWidget implements HasHTML {
028    
029      /**
030       * Creates a new ButtonBase that wraps the given browser element.
031       * 
032       * @param handle a handle to the browser element to be wrapped
033       */
034      protected ButtonBase(Element elem) {
035        super(elem);
036        sinkEvents(Event.ONCLICK);
037      }
038    
039      public String getHTML() {
040        return DOM.getInnerHTML(getElement());
041      }
042    
043      public String getText() {
044        return DOM.getInnerText(getElement());
045      }
046    
047      public void setHTML(String html) {
048        DOM.setInnerHTML(getElement(), html);
049      }
050    
051      public void setText(String text) {
052        DOM.setInnerText(getElement(), text);
053      }
054    }