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 */
016package com.github.gwtbootstrap.client.ui.base;
017
018import com.google.gwt.dom.client.Element;
019import com.google.gwt.i18n.shared.DirectionEstimator;
020import com.google.gwt.user.client.ui.Label;
021
022/**
023 * {@link com.google.gwt.user.client.ui.InlineLabel InlineLabel} without the GWT
024 * CSS Styles.
025 * 
026 * @since 2.0.4.0
027 * 
028 * @author Dominik Mayer
029 * @author ohashi keisuke
030 */
031public class InlineLabel extends com.google.gwt.user.client.ui.InlineLabel {
032
033        /**
034         * Creates an empty widget.
035         */
036        public InlineLabel() {
037                super();
038                setStyleName("");
039        }
040
041        /**
042         * Creates a widget with the specified text.
043         * 
044         * @param text
045         *            the new widget's text
046         */
047        public InlineLabel(String text) {
048                this();
049                setText(text);
050        }
051
052        /**
053         * Creates a label with the specified text and direction.
054         * 
055         * @param text
056         *            the new label's text
057         * @param dir
058         *            the text's direction. Note: {@code Direction.DEFAULT} means
059         *            direction should be inherited from the widget's parent
060         *            element.
061         */
062        public InlineLabel(String text,
063                Direction dir) {
064                this();
065                setText(text, dir);
066        }
067
068        /**
069         * Creates a label with the specified text and a default direction
070         * estimator.
071         * 
072         * @param text
073         *            the new label's text
074         * @param directionEstimator
075         *            A DirectionEstimator object used for automatic direction
076         *            adjustment. For convenience,
077         *            {@link Label#DEFAULT_DIRECTION_ESTIMATOR} can be used.
078         */
079        public InlineLabel(String text,
080                DirectionEstimator directionEstimator) {
081                this();
082                setDirectionEstimator(directionEstimator);
083                setText(text);
084        }
085
086        /**
087         * This constructor may be used by subclasses to explicitly use an existing
088         * element. This element must be either a <div> <span> element.
089         * 
090         * @param element
091         *            the element to be used
092         */
093        protected InlineLabel(Element element) {
094                // super(element) also asserts that element is either a <div> or
095                // <span>.
096                super(element);
097        }
098}