/************************************************************** * * 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_ValidatableControlModel_idl__ #define __com_sun_star_form_validation_ValidatableControlModel_idl__ #ifndef __com_sun_star_form_FormControlModel_idl__ #include #endif #ifndef __com_sun_star_form_validation_XValidatableFormComponent_idl__ #include #endif #ifndef __com_sun_star_form_validation_XValidityConstraintListener_idl__ #include #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.

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.

*/ service ValidatableControlModel { /** specifies the basic functionality for a form control model

Via this service, validatable control models inherit the XCloneable interface.
If an validatable control model, at which a validator has been set (via XValidatable::setValidator), 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.

*/ service com::sun::star::form::FormControlModel; /** enables support for validating the value of the control model

Setting an retrieving the current validator of the control model is possible via the XValidatable interface (which XValidatableFormComponent is derived from).

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 XValidatableFormComponent::isValid and XValidatableFormComponent::getCurrentValue.

Note that the type of the value provided by XValidatableFormComponent::getCurrentValue is not specified here, but depends on the concrete control type.

*/ interface XValidatableFormComponent; /** enables support for validators with dynamic validity constraints.

As soon as a validator is set via XValidatable::setValidator, the validatable control model registers itself as listener. If the validity constraint of the validator changes, the ValidatableControlModel re-validates it's current valid, and broadcasts any resuling changes to all its XFormComponentValidityListener, if necessary.

*/ interface XValidityConstraintListener; }; //============================================================================= }; }; }; }; }; #endif