/* -*- 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_beans_XMultiPropertyStates_idl__ #define __com_sun_star_beans_XMultiPropertyStates_idl__ #include #include #include #include #include module com { module sun { module star { module beans { /** makes it possible to query information about the state of one or more properties.

The state of a property contains information about the source of the value, e.g. the object itself, a default or a stylesheet. For more information see PropertyState. */ published interface XMultiPropertyStates: com::sun::star::uno::XInterface { /** @returns a sequence of the states of the properties which are specified by their names.

The order of the states is correlating to the order of the given property names. @param aPropertyName specifies the names of the properties. All names must be unique. This sequence must be alphabetically sorted. */ sequence getPropertyStates( [in] sequence aPropertyName ) raises( com::sun::star::beans::UnknownPropertyException ); /** sets all properties to their default values.

Each value depends on the implementation of this interface. If it is a bound property, you must change the value before the change events are fired. If it is a constrained property, you must fire the vetoable event before you change the property value.

*/ void setAllPropertiesToDefault(); /** sets the specified properties to their default values.

Each value depends on the implementation of this interface. If it is a bound property, you must change the value before the change events are fired. If it is a constrained property, you must fire the vetoable event before you change the property value.

@param aPropertyName specifies the names of the properties. All names must be unique. This sequence must be alphabetically sorted. @throws UnknownPropertyException if one of the properties does not exist. */ void setPropertiesToDefault( [in] sequence aPropertyNames ) raises( com::sun::star::beans::UnknownPropertyException ); /** @returns the default values of the propertes with the specified names.

If no default exists, is not known, or is void, then the return type at the corresponding position in the sequence returned is void.

@param aPropertyName specifies the names of the properties. All names must be unique. This sequence must be alphabetically sorted. @throws UnknownPropertyException if one of the propertes does not exist. @throws com::sun::star::lang::WrappedTargetException if the implementation has an internal reason for the exception. In this case the original exception is wrapped into that WrappedTargetException. */ sequence getPropertyDefaults( [in] sequence aPropertyNames ) raises( com::sun::star::beans::UnknownPropertyException, com::sun::star::lang::WrappedTargetException ); }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */