001package org.gwtbootstrap3.client.ui;
002
003/*
004 * #%L
005 * GwtBootstrap3
006 * %%
007 * Copyright (C) 2013 GwtBootstrap3
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 * 
013 *      http://www.apache.org/licenses/LICENSE-2.0
014 * 
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023import org.gwtbootstrap3.client.ui.base.AbstractInputGroupAddon;
024import org.gwtbootstrap3.client.ui.constants.Styles;
025
026import com.google.gwt.dom.client.Element;
027import com.google.gwt.user.client.ui.Widget;
028
029/**
030 * Prepends or appends buttons to input fields.
031 * <p/>
032 * For prepending/appending text see {@link InputGroupAddon}.
033 * Needs to be encapsulated in an {@link InputGroup}.
034 * <p/>
035 * <strong>Note:</strong> This is not a button itself! A {@link Button} needs to be added to this container.
036 * <h3>UiBinder example</h3>
037 * <pre>{@code
038 *     <b:InputGroup>
039 *         <b:InputGroupButton>
040 *             <b:Button>Prepend</b:Button>
041 *         </b:InputGroupButton>
042 *         <b:TextBox/>
043 *         <b:InputGroupButton>
044 *             <b:Button>Append</b:Button>
045 *         </b:InputGroupButton>
046 *     </b:InputGroup>
047 * }</pre>
048 * <p/>
049 * Also see Bootstrap <a href="http://getbootstrap.com/components/#input-groups">documentation</a>.
050 *
051 * @author Sven Jacobs
052 * @see InputGroupAddon
053 */
054public class InputGroupButton extends AbstractInputGroupAddon {
055
056    public InputGroupButton() {
057        super(Styles.INPUT_GROUP_BTN);
058    }
059
060    @Override
061    public void add(final Widget child) {
062        add(child, (Element) getElement());
063    }
064}