blob: 07da707ccb232c98efd9751df1bad775ad9d17be [file] [log] [blame]
/*
* Copyright 2011 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.gwt.cell.client;
import com.google.gwt.core.client.GWT;
import com.google.gwt.text.shared.SimpleSafeHtmlRenderer;
/**
* {@code TextButtonCell} is a simple button with text content.
*/
public class TextButtonCell extends ButtonCellBase<String> {
/**
* The appearance used to render this Cell.
*/
public interface Appearance extends ButtonCellBase.Appearance<String> {
}
/**
* The default implementation of the {@link Appearance}.
*/
public static class DefaultAppearance extends ButtonCellBase.DefaultAppearance<String> implements
Appearance {
/**
* Construct a new {@link DefaultAppearance} using the default resources.
*
* <p>
* The {@link DefaultAppearance} may be replaced with a more modern
* appearance in the future. If you want to stay up to date with the latest
* appearance, use {@link TextButtonCell#createDefaultAppearance()} instead
* of this constructor. If you do not want the appearance to be updated with
* successive versions of GWT, use this constructor.
*/
public DefaultAppearance() {
super(SimpleSafeHtmlRenderer.getInstance());
}
/**
* Construct a new {@link DefaultAppearance} using the specified resources.
*
* @param resources the resources and styles to apply to the button
*/
public DefaultAppearance(Resources resources) {
super(SimpleSafeHtmlRenderer.getInstance(), resources);
}
}
/**
* Construct a {@link TextButtonCell} using the {@link DefaultAppearance}.
*
* <p>
* The {@link DefaultAppearance} may be replaced with a more modern appearance
* in the future. If you want to stay up to date with the latest appearance,
* use this constructor. If you do not want the appearance to be updated with
* successive versions of GWT, create an {@link Appearance} and pass it to
* {@link #TextButtonCell(Appearance)}.
*/
public TextButtonCell() {
this(GWT.<Appearance> create(Appearance.class));
}
/**
* Construct a {@link TextButtonCell} using the specified {@link Appearance}
* to render the cell.
*
* @param appearance the appearance of the cell
*/
public TextButtonCell(Appearance appearance) {
super(appearance);
}
}