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 }