merge the formfield patch from ooo-build
[ooovba.git] / offapi / com / sun / star / form / validation / ValidatableControlModel.idl
blobe75c0eb5b97645d974b6e2e10003492997440d84
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: ValidatableControlModel.idl,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef __com_sun_star_form_validation_ValidatableControlModel_idl__
32 #define __com_sun_star_form_validation_ValidatableControlModel_idl__
34 #ifndef __com_sun_star_form_FormControlModel_idl__
35 #include <com/sun/star/form/FormControlModel.idl>
36 #endif
38 #ifndef __com_sun_star_form_validation_XValidatableFormComponent_idl__
39 #include <com/sun/star/form/validation/XValidatableFormComponent.idl>
40 #endif
42 #ifndef __com_sun_star_form_validation_XValidityConstraintListener_idl__
43 #include <com/sun/star/form/validation/XValidityConstraintListener.idl>
44 #endif
46 //=============================================================================
48 module com { module sun { module star { module form { module validation {
50 /** specifies the model of a form control which supports live validation of its
51 input.
53 <p>Validatable control models support setting a validator with dynamic
54 validity constraints, and broadcasting changes in their value as well as the
55 validity of their value.</p>
57 service ValidatableControlModel
59 /** specifies the basic functionality for a form control model
61 <p>Via this service, validatable control models inherit the
62 <type scope="com::sun::star::util">XCloneable</type> interface.<br/>
63 If an validatable control model, at which a validator has been set (via
64 <member>XValidatable::setValidator</member>), is being cloned, then the
65 validator is also set at the clone. Effectively, this means that
66 both control model instances share the same validator instance.</p>
68 service com::sun::star::form::FormControlModel;
70 /** enables support for validating the value of the control model
72 <p>Setting an retrieving the current validator of the control model is
73 possible via the <type>XValidatable</type> interface (which
74 <type>XValidatableFormComponent</type> is derived from).</p>
76 <p>Easy access to the current value of the control, as well as it's validity
77 (relative to the active validator), is provided by the methods <member>XValidatableFormComponent::isValid</member>
78 and <member>XValidatableFormComponent::getCurrentValue</member>.</p>
80 <p>Note that the type of the value provided by <member>XValidatableFormComponent::getCurrentValue</member>
81 is not specified here, but depends on the concrete control type.</p>
83 interface XValidatableFormComponent;
85 /** enables support for validators with dynamic validity constraints.
87 <p>As soon as a validator is set via <member>XValidatable::setValidator</member>, the validatable
88 control model registers itself as listener. If the validity constraint of the validator
89 changes, the <type>ValidatableControlModel</type> re-validates it's current valid, and
90 broadcasts any resuling changes to all its <type>XFormComponentValidityListener</type>, if
91 necessary.</p>
93 interface XValidityConstraintListener;
96 //=============================================================================
98 }; }; }; }; };
100 #endif