/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * 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 . */ 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 modelVia this service, validatable control models inherit the
com::sun::star::util::XCloneable interface.
If a 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.
Setting and 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 its current valid, and broadcasts any resulting changes to all its XFormComponentValidityListener, if necessary.
*/ interface XValidityConstraintListener; }; }; }; }; }; }; /* vim:set shiftwidth=4 softtabstop=4 expandtab: */