/* @VaadinApache2LicenseForJavaFiles@ */ package com.vaadin.terminal.gwt.client; import com.vaadin.terminal.gwt.client.ui.TabIndexState; import com.vaadin.ui.AbstractField; /** * Shared state for {@link AbstractField}. * * @author Vaadin Ltd * @version @VERSION@ * @since 7.0.0 * */ public class AbstractFieldState extends ComponentState implements TabIndexState { private boolean propertyReadOnly = false; private boolean hideErrors = false; private boolean required = false; private boolean modified = false; /** * The tab order number of this field. */ private int tabIndex = 0; /** * Checks if the property data source for the Field is in read only mode. * This affects the read only state of the field itself. * * @return true if there is a property data source and it is set to read * only, false otherwise */ public boolean isPropertyReadOnly() { return propertyReadOnly; } /** * Sets the read only state of the property data source. * * @param propertyReadOnly * true if the property data source if read only, false otherwise */ public void setPropertyReadOnly(boolean propertyReadOnly) { this.propertyReadOnly = propertyReadOnly; } /** * Returns true if the component will hide any errors even if the error * message is set. * * @return true if error messages are disabled */ public boolean isHideErrors() { return hideErrors; } /** * Sets whether the component should hide any errors even if the error * message is set. * * This is used e.g. on forms to hide error messages for invalid fields * before the first user actions. * * @param hideErrors * true if error messages should be hidden */ public void setHideErrors(boolean hideErrors) { this.hideErrors = hideErrors; } /** * Is the field required. Required fields must filled by the user. * * See AbstractField#isRequired() for more information. * * @return true if the field is required, otherwise * false. */ public boolean isRequired() { return required; } /** * Sets the field required. Required fields must filled by the user. * * See AbstractField#setRequired(boolean) for more information. * * @param required * Is the field required. */ public void setRequired(boolean required) { this.required = required; } /** * Has the contents of the field been modified, i.e. has the value been * updated after it was read from the data source. * * @return true if the field has been modified, false otherwise */ public boolean isModified() { return modified; } /** * Setter for the modified flag, toggled when the contents of the field is * modified by the user. * * @param modified * the new modified state * */ public void setModified(boolean modified) { this.modified = modified; } /* * (non-Javadoc) * * @see com.vaadin.terminal.gwt.client.ComponentState#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; } }