/* -*- 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 .
*/
#ifndef __com_sun_star_form_validation_XValidatableFormComponent_idl__
#define __com_sun_star_form_validation_XValidatableFormComponent_idl__
#include A validatable form component has two aspects which other parties might
be interested in:
An XValidatableFormComponent allows to easily access both of these aspects.
Note that all of the information provided at this interface can also obtained by other means, but much more inconveniently.
@see XValidatable @see XValidator */ interface XValidatableFormComponent : XValidatable { /** determines whether the current value of the component passed the validity test at the validator.Calling this is equal to calling XValidator::isValid() with the current value (see getCurrentValue()) of the component, where the validator is obtained via XValidatable::getValidator().
If no validator has been set (XValidatable::setValidator()), this method returns true.
*/ boolean isValid(); /** retrieves the current value of the component.The type of the current value, as well as it's semantics, depend on the service implementing this interface.
Again, this is a convenience method. For example, for a com::sun::star::form::component::FormattedField, calling this method is equivalent to retrieving the com::sun::star::awt::UnoControlFormattedFieldModel::EffectiveValue.
If no validator has been set (XValidatable::setValidator()), the value returned here is defined by the service implementing this interface.
*/ any getCurrentValue(); /** registers the given listener.XFormComponentValidityListeners are called whenever any of the aspects of the validatable form component (the validity flag, or the value) changed.
@throws com::sun::star::lang::NullPointerException if the given listener is `NULL` */ void addFormComponentValidityListener( [in] XFormComponentValidityListener Listener ) raises( com::sun::star::lang::NullPointerException ); /** registers the given listener. @throws com::sun::star::lang::NullPointerException if the given listener is `NULL` */ void removeFormComponentValidityListener( [in] XFormComponentValidityListener Listener ) raises( com::sun::star::lang::NullPointerException ); }; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */