| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef __com_sun_star_form_validation_XValidatableFormComponent_idl__ |
| #define __com_sun_star_form_validation_XValidatableFormComponent_idl__ |
| |
| #ifndef __com_sun_star_form_validation_XValidatable_idl__ |
| #include <com/sun/star/form/validation/XValidatable.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_NoSupportException_idl__ |
| #include <com/sun/star/lang/NoSupportException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_NullPointerException_idl__ |
| #include <com/sun/star/lang/NullPointerException.idl> |
| #endif |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module form { module validation { |
| |
| interface XFormComponentValidityListener; |
| |
| //============================================================================= |
| |
| /** is a convenience interface for accessing several aspects of a form component |
| which supports validation. |
| |
| <p>A validatable form component has two aspects which other parties might |
| be interested in: |
| <ul> |
| <li>The pure validity flag: Whatever the user enters in the component, this is |
| either valid (relative to the active validator), or invalid.</li> |
| <li>The current value: Even if the validity flag does not change with the user |
| input (e.g. because the user replaces one invalid value with another invalid |
| value), observers might be interested in the current value, for example to |
| include it in a feedback message to the user.</li> |
| </ul> |
| </p> |
| |
| <p>An <type>XValidatableFormComponent</type> allows to easily access both of these aspects.</p> |
| |
| <p>Note that all of the information provided at this interface can also obtained by other means, |
| but much more inconviniently.</p> |
| |
| @see XValidatable |
| @see XValidator |
| */ |
| interface XValidatableFormComponent : XValidatable |
| { |
| /** determines whether the current value of the component passed the validity test |
| at the validator. |
| |
| <p>Calling this is equal to calling <member>XValidator::isValid</member> with |
| the current value (see <member>getCurrentValue</member>) of the component, where |
| the validator is obtained via <member>XValidatable::getValidator</member>.</p> |
| |
| <p>If no validator has been set (<member>XValidatable::setValidator</member>), this method |
| returns true.</p> |
| */ |
| boolean isValid(); |
| |
| /** retrieves the current value of the component. |
| |
| <p>The type of the current value, as well as it's semantics, depend on the service |
| implementing this interface.</p> |
| |
| <p>Again, this is a convenience method. For example, for a <type scope="com::sun::star::form::component">FormattedField</type>, |
| calling this method is equivalent to retrieving the |
| <member scope="com::sun::star::awt">UnoControlFormattedFieldModel::EffectiveValue</member>.</p> |
| |
| <p>If no validator has been set (<member>XValidatable::setValidator</member>), the value returned |
| here is defined by the service implementing this interface.</p> |
| */ |
| any getCurrentValue(); |
| |
| /** registers the given listener. |
| |
| <p><type>XFormComponentValidityListener</type>s are called whenever <em>any</em> of the aspects |
| of the validatable form component (the validity flag, or the value) changed.</p> |
| |
| @throws <type scope="com::sun::star::lang">NullPointerException</type> |
| if the given listener is <NULL/> |
| */ |
| void addFormComponentValidityListener( [in] XFormComponentValidityListener Listener ) |
| raises( com::sun::star::lang::NullPointerException ); |
| |
| /** registers the given listener. |
| |
| @throws <type scope="com::sun::star::lang">NullPointerException</type> |
| if the given listener is <NULL/> |
| */ |
| void removeFormComponentValidityListener( [in] XFormComponentValidityListener Listener ) |
| raises( com::sun::star::lang::NullPointerException ); |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; }; |
| |
| #endif |