001    /*
002     *  Copyright 2012 GWT-Bootstrap
003     *
004     *  Licensed under the Apache License, Version 2.0 (the "License");
005     *  you may not use this file except in compliance with the License.
006     *  You may obtain a copy of 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,
012     *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     *  See the License for the specific language governing permissions and
014     *  limitations under the License.
015     */
016    package com.github.gwtbootstrap.client.ui;
017    
018    import com.github.gwtbootstrap.client.ui.base.HtmlWidget;
019    import com.google.gwt.dom.client.LabelElement;
020    
021    
022    /**
023     * Simple wrapper for an HTML {@code <label>} tag.
024     * 
025     * <p>
026     * <h3>UiBinder Usage:</h3>
027     * 
028     * <pre>
029     * {@code
030     * <b:FormLabel>
031     *      FormLabel can include html and widgets<br/>
032     *      <b:Code>code</b:Code>
033     *      <a href="#"></a>
034     * </b:FormLabel>
035     * }
036     * </pre>
037     * </p>
038     *
039     * @since 2.0.4.0
040     * 
041     * @author ohashi keisuke
042     * 
043     * @see <a href="http://twitter.github.com/bootstrap/base-css.html#forms">Bootstrap documentation</a>
044     */
045    public class FormLabel extends HtmlWidget {
046    
047            /**
048             * Creates a widget with  the html set..
049             * @param html content html
050             */
051            public FormLabel(String html) {
052                    super("label" ,html);
053            }
054            
055            /**
056             * Creates an empty widget.
057             */
058            public FormLabel() {
059                    this("");
060            }
061            
062            /**
063             * Set <code>for</code> attribute.
064             * @param id set attribute value
065             */
066            public void setFor(String id) {
067                    getLabelElement().setHtmlFor(id);
068            }
069            
070            /**
071             * Get <code>for</code> attribute
072             * @return for attribute value
073             */
074            public String getFor() {
075                    return getLabelElement().getHtmlFor();
076            }
077            
078            protected LabelElement getLabelElement() {
079                    return getElement().cast();
080            }
081    
082    }