/* @VaadinApache2LicenseForJavaFiles@ */ package com.vaadin.shared.ui.button; import com.vaadin.shared.ComponentState; import com.vaadin.shared.ui.TabIndexState; import com.vaadin.ui.Button; /** * Shared state for Button and NativeButton. * * @see ComponentState * * @since 7.0 */ public class ButtonState extends ComponentState implements TabIndexState { private boolean disableOnClick = false; private int clickShortcutKeyCode = 0; /** * The tab order number of this field. */ private int tabIndex = 0; /** * If caption should be rendered in HTML */ private boolean htmlContentAllowed = false; /** * Checks whether the button should be disabled on the client side on next * click. * * @return true if the button should be disabled on click */ public boolean isDisableOnClick() { return disableOnClick; } /** * Sets whether the button should be disabled on the client side on next * click. * * @param disableOnClick * true if the button should be disabled on click */ public void setDisableOnClick(boolean disableOnClick) { this.disableOnClick = disableOnClick; } /** * Returns the key code for activating the button via a keyboard shortcut. * * See {@link Button#setClickShortcut(int, int...)} for more information. * * @return key code or 0 for none */ public int getClickShortcutKeyCode() { return clickShortcutKeyCode; } /** * Sets the key code for activating the button via a keyboard shortcut. * * See {@link Button#setClickShortcut(int, int...)} for more information. * * @param clickShortcutKeyCode * key code or 0 for none */ public void setClickShortcutKeyCode(int clickShortcutKeyCode) { this.clickShortcutKeyCode = clickShortcutKeyCode; } /** * Set whether the caption text is rendered as HTML or not. You might need * to retheme button to allow higher content than the original text style. * * If set to true, the captions are passed to the browser as html and the * developer is responsible for ensuring no harmful html is used. If set to * false, the content is passed to the browser as plain text. * * @param htmlContentAllowed * true if caption is rendered as HTML, * false otherwise */ public void setHtmlContentAllowed(boolean htmlContentAllowed) { this.htmlContentAllowed = htmlContentAllowed; } /** * Return HTML rendering setting. * * @return true if the caption text is to be rendered as HTML, * false otherwise */ public boolean isHtmlContentAllowed() { return htmlContentAllowed; } /* * (non-Javadoc) * * @see com.vaadin.terminal.gwt.client.ui.TabIndexState#getTabIndex() */ @Override public int getTabIndex() { return tabIndex; } /* * (non-Javadoc) * * @see com.vaadin.terminal.gwt.client.ui.TabIndexState#setTabIndex(int) */ @Override public void setTabIndex(int tabIndex) { this.tabIndex = tabIndex; } }