summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/form/validation
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/form/validation')
-rw-r--r--offapi/com/sun/star/form/validation/ValidatableBindableControlModel.idl79
-rw-r--r--offapi/com/sun/star/form/validation/ValidatableControlModel.idl97
-rw-r--r--offapi/com/sun/star/form/validation/XFormComponentValidityListener.idl63
-rw-r--r--offapi/com/sun/star/form/validation/XValidatable.idl77
-rw-r--r--offapi/com/sun/star/form/validation/XValidatableFormComponent.idl126
-rw-r--r--offapi/com/sun/star/form/validation/XValidator.idl107
-rw-r--r--offapi/com/sun/star/form/validation/XValidityConstraintListener.idl60
-rw-r--r--offapi/com/sun/star/form/validation/makefile.mk53
8 files changed, 662 insertions, 0 deletions
diff --git a/offapi/com/sun/star/form/validation/ValidatableBindableControlModel.idl b/offapi/com/sun/star/form/validation/ValidatableBindableControlModel.idl
new file mode 100644
index 000000000000..9b436b605efa
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/ValidatableBindableControlModel.idl
@@ -0,0 +1,79 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_ValidatableBindableControlModel_idl__
+#define __com_sun_star_form_validation_ValidatableBindableControlModel_idl__
+
+#ifndef __com_sun_star_form_validation_ValidatableControlModel_idl__
+#include <com/sun/star/form/validation/ValidatableControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_binding_BindableControlModel_idl__
+#include <com/sun/star/form/binding/BindableControlModel.idl>
+#endif
+//=============================================================================
+
+module com { module sun { module star { module form { module validation {
+
+/** specifies a control model which supports both binding to an external value supplier,
+ and to an external validator.
+
+ <p>There are two methods how the value which is represented by a control model
+ can interact with other components (well, except the trivial ones accessible
+ by using <type scope="com::sun::star::beans">XPropertySet</type>):
+ <ul><li>binding the value to an external component via <type scope="com::sun::star::form::binding">XBindableValue</type></li>
+ <li>validating the current value by an external component, via <type>XValidatable</type> and <type>XValidator</type></li>
+ </ul></p>
+
+ <p>The <type>ValidatableBindableControlModel</type> services describes the interaction of these concepts
+ for control models which support both of them.</p>
+*/
+service ValidatableBindableControlModel
+{
+ /** specifies support for validating the current value of the control
+ */
+ service ValidatableControlModel;
+
+ /** specifies support for binding the control value to an external component
+
+ <p>If a value binding is established at the control model (by using
+ <member scope="com::sun::star::form::binding">XBindableValue::setValueBinding</member> with a non-<NULL/>
+ binding), this binding is analyzed for validation support. If it is present (read: if the
+ binding also supports the <type>XValidator</type> interface), the binding is also
+ established as validator, as if it has been passed to <member>XValidatable::setValidator</member>.<br/>
+ If, while this binding is active (in both its roles as value binding and validator),
+ an attempt is made to establish another validator, this is blocked with raising a
+ <type scope="com::sun::star::util">VetoException</type> upon calling <member>XValidatable::setValidator</member>.</p>
+ */
+ service com::sun::star::form::binding::BindableControlModel;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/validation/ValidatableControlModel.idl b/offapi/com/sun/star/form/validation/ValidatableControlModel.idl
new file mode 100644
index 000000000000..5ca51efdab1f
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/ValidatableControlModel.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_ValidatableControlModel_idl__
+#define __com_sun_star_form_validation_ValidatableControlModel_idl__
+
+#ifndef __com_sun_star_form_FormControlModel_idl__
+#include <com/sun/star/form/FormControlModel.idl>
+#endif
+
+#ifndef __com_sun_star_form_validation_XValidatableFormComponent_idl__
+#include <com/sun/star/form/validation/XValidatableFormComponent.idl>
+#endif
+
+#ifndef __com_sun_star_form_validation_XValidityConstraintListener_idl__
+#include <com/sun/star/form/validation/XValidityConstraintListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module validation {
+
+/** specifies the model of a form control which supports live validation of its
+ input.
+
+ <p>Validatable control models support setting a validator with dynamic
+ validity constraints, and broadcasting changes in their value as well as the
+ validity of their value.</p>
+*/
+service ValidatableControlModel
+{
+ /** specifies the basic functionality for a form control model
+
+ <p>Via this service, validatable control models inherit the
+ <type scope="com::sun::star::util">XCloneable</type> interface.<br/>
+ If an validatable control model, at which a validator has been set (via
+ <member>XValidatable::setValidator</member>), is being cloned, then the
+ validator is also set at the clone. Effectively, this means that
+ both control model instances share the same validator instance.</p>
+ */
+ service com::sun::star::form::FormControlModel;
+
+ /** enables support for validating the value of the control model
+
+ <p>Setting an retrieving the current validator of the control model is
+ possible via the <type>XValidatable</type> interface (which
+ <type>XValidatableFormComponent</type> is derived from).</p>
+
+ <p>Easy access to the current value of the control, as well as it's validity
+ (relative to the active validator), is provided by the methods <member>XValidatableFormComponent::isValid</member>
+ and <member>XValidatableFormComponent::getCurrentValue</member>.</p>
+
+ <p>Note that the type of the value provided by <member>XValidatableFormComponent::getCurrentValue</member>
+ is not specified here, but depends on the concrete control type.</p>
+ */
+ interface XValidatableFormComponent;
+
+ /** enables support for validators with dynamic validity constraints.
+
+ <p>As soon as a validator is set via <member>XValidatable::setValidator</member>, the validatable
+ control model registers itself as listener. If the validity constraint of the validator
+ changes, the <type>ValidatableControlModel</type> re-validates it's current valid, and
+ broadcasts any resuling changes to all its <type>XFormComponentValidityListener</type>, if
+ necessary.</p>
+ */
+ interface XValidityConstraintListener;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/validation/XFormComponentValidityListener.idl b/offapi/com/sun/star/form/validation/XFormComponentValidityListener.idl
new file mode 100644
index 000000000000..f28c054918b9
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XFormComponentValidityListener.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_XFormComponentValidityListener_idl__
+#define __com_sun_star_form_validation_XFormComponentValidityListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module validation {
+
+//=============================================================================
+
+/** is the listener interface to be notified of changes of a <type>XValidatableFormComponent</type>
+*/
+interface XFormComponentValidityListener : com::sun::star::lang::XEventListener
+{
+ /** called when the validity and/or the value of the form component at which the listener
+ is registered changed.
+
+ @param Source
+ The member <member scope="com::sun::star::lang">EventObject::Source</member>
+ represents the <type>XValidatableFormComponent</type> whose validity, value, or text changed.
+ */
+ void componentValidityChanged( [in] com::sun::star::lang::EventObject Source );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/validation/XValidatable.idl b/offapi/com/sun/star/form/validation/XValidatable.idl
new file mode 100644
index 000000000000..aa7799dfff85
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidatable.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_XValidatable_idl__
+#define __com_sun_star_form_validation_XValidatable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_VetoException_idl__
+#include <com/sun/star/util/VetoException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module validation {
+
+interface XValidator;
+
+//=============================================================================
+
+/** specifies support for validating a component
+
+ @see XValidator
+*/
+interface XValidatable : com::sun::star::uno::XInterface
+{
+ /** sets an external instance which is able to validate the component
+
+ <p>Any previously active validator will be revoked - there can be only one!</p>
+
+ @param Validator
+ the new validator which is to be used by the component. May be <NULL/>,
+ in this case only the current validator is revoked.
+
+ @throws <type scope="com::sun::star::util">VetoException</type>
+ if changing the validator is not allowed in the current component state
+ */
+ void setValidator( [in] XValidator Validator )
+ raises ( com::sun::star::util::VetoException );
+
+ /** retrieves the external instance which is currently used to validate the component
+ */
+ XValidator
+ getValidator( );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/validation/XValidatableFormComponent.idl b/offapi/com/sun/star/form/validation/XValidatableFormComponent.idl
new file mode 100644
index 000000000000..eae3a9f48518
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidatableFormComponent.idl
@@ -0,0 +1,126 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 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
diff --git a/offapi/com/sun/star/form/validation/XValidator.idl b/offapi/com/sun/star/form/validation/XValidator.idl
new file mode 100644
index 000000000000..03753ef90fbb
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidator.idl
@@ -0,0 +1,107 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_XValidator_idl__
+#define __com_sun_star_form_validation_XValidator_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.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 XValidityConstraintListener;
+
+//=============================================================================
+
+/** specifies a component able to validate (the content of) other components
+
+ <p>Validators support simple validity checks and retrieving justifications for
+ invalidity.</p>
+
+ <p>Validators may additionally support dynamic validity constraints. In such a case,
+ the validity of a given value may change, without the value changing itself.<br/>
+ To be notified about this, interested components should register as <type>XValidityConstraintListener</type>.
+
+ @see XValidatable
+*/
+interface XValidator : com::sun::star::uno::XInterface
+{
+ /** determines whether the given value is valid
+
+ @param aValue
+ the value to check for validity
+ @return
+ <TRUE/> if and only if the value is considered valid.
+ */
+ boolean isValid( [in] any Value );
+
+ /** retrieves a justification for the invalidity of the given value
+
+ @param aValue
+ the value which has been recognized as being invalid
+ @return
+ a human-readable string, which explains why the given valus is considered invalid.
+ */
+ string explainInvalid( [in] any Value );
+
+ /** registers the given validity listener.
+
+ <p>Usually, an <type>XValidatable</type> instance will also add itself as validity listener,
+ as soon as the validator is introduced to it.</p>
+
+ <p>Implementations which do not support dynamic validity contraints should simply ignore this
+ call.</p>
+
+ @throws <type scope="com::sun::star::lang">NullPointerException</type>
+ if the given listener is <NULL/>
+ @see XValidityConstraintListener
+ */
+ void addValidityConstraintListener( [in] XValidityConstraintListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+
+ /** revokes the given validity listener
+
+ @throws <type scope="com::sun::star::lang">NullPointerException</type>
+ if the given listener is <NULL/>
+ @see XValidityConstraintListener
+ */
+ void removeValidityConstraintListener( [in] XValidityConstraintListener Listener )
+ raises( com::sun::star::lang::NullPointerException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/validation/XValidityConstraintListener.idl b/offapi/com/sun/star/form/validation/XValidityConstraintListener.idl
new file mode 100644
index 000000000000..593b230f6d52
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/XValidityConstraintListener.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_form_validation_XValidityConstraintListener_idl__
+#define __com_sun_star_form_validation_XValidityConstraintListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module form { module validation {
+
+//=============================================================================
+
+/** specifies an interface for listening for changes in the validity constraints
+ represented by an <type>XValidator</type>.
+*/
+interface XValidityConstraintListener : com::sun::star::lang::XEventListener
+{
+ /** called when the validity constraint represented by an <type>XValidator</type>,
+ at which the listener is registered, changed.
+
+ @param Source
+ The event source. The member <member scope="com::sun::star::lang">EventObject::Source</member>
+ represents the validator component whose validity constraint changed.
+ */
+ void validityConstraintChanged( [in] com::sun::star::lang::EventObject Source );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/form/validation/makefile.mk b/offapi/com/sun/star/form/validation/makefile.mk
new file mode 100644
index 000000000000..752438c94f2c
--- /dev/null
+++ b/offapi/com/sun/star/form/validation/makefile.mk
@@ -0,0 +1,53 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssfvalidation
+PACKAGE=com$/sun$/star$/form$/validation
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ XValidatable.idl \
+ XValidator.idl \
+ XValidityConstraintListener.idl \
+ XValidatableFormComponent.idl \
+ XFormComponentValidityListener.idl \
+ \
+ ValidatableControlModel.idl \
+ ValidatableBindableControlModel.idl \
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk