diff options
Diffstat (limited to 'udkapi/com/sun/star/beans')
57 files changed, 5450 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/beans/Ambiguous.idl b/udkapi/com/sun/star/beans/Ambiguous.idl new file mode 100644 index 000000000000..919c7250f462 --- /dev/null +++ b/udkapi/com/sun/star/beans/Ambiguous.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * 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_beans_Ambiguous_idl__ +#define __com_sun_star_beans_Ambiguous_idl__ + +module com { module sun { module star { module beans { + +/** + A value of a given type that can be ambiguous. + + <p>This structure is used as the type of interface attributes corresponding + to instances of <type scopye="com::sun::star::beans">Property</type> that + have the <const + scope="com::sun::star::beans">PropertyAttribute::MAYBEAMBIGUOUS</const>.</p> + */ +struct Ambiguous<T> { + /** + The underlying value of this structure instance. + + <p>Even if this structure instance is ambiguous, this member should + contain a useful value. If there is no useful value for an ambiguous + structure instance, <type scope="com::sun::star::beans">Optional</type> + can be used as the type of this member.</p> + */ + T Value; + + /** + Marks this structure instance as ambiguous. + */ + boolean IsAmbiguous; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/Defaulted.idl b/udkapi/com/sun/star/beans/Defaulted.idl new file mode 100644 index 000000000000..d67f1aacf055 --- /dev/null +++ b/udkapi/com/sun/star/beans/Defaulted.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * 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_beans_Defaulted_idl__ +#define __com_sun_star_beans_Defaulted_idl__ + +module com { module sun { module star { module beans { + +/** + A value of a given type that can be defaulted. + + <p>This structure is used as the type of interface attributes corresponding + to instances of <type scopye="com::sun::star::beans">Property</type> that + have the <const + scope="com::sun::star::beans">PropertyAttribute::MAYBEDEFAULT</const>.</p> + */ +struct Defaulted<T> { + /** + The underlying value of this structure instance. + + <p>Even if this structure instance is defaulted, this member should + contain a useful value. If there is no useful value for a defaulted + structure instance, <type scope="com::sun::star::beans">Optional</type> + can be used as the type of this member.</p> + */ + T Value; + + /** + Marks this structure instance as defaulted. + */ + boolean IsDefaulted; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl b/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl new file mode 100644 index 000000000000..5c1ffe05beb0 --- /dev/null +++ b/udkapi/com/sun/star/beans/GetDirectPropertyTolerantResult.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * 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_beans_GetDirectPropertyTolerantResult_idl__ +#define __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__ + +#ifndef __com_sun_star_beans_TolerantPropertySetResultType_idl__ +#include <com/sun/star/beans/TolerantPropertySetResultType.idl> +#endif + +#ifndef __com_sun_star_beans_GetPropertyTolerantResult_idl__ +#include <com/sun/star/beans/GetPropertyTolerantResult.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies information being retrieved about a single property. + + This type is used for the elements in the sequence returned by + <member scope="com::sun::star::beans::XTolerantMultiPropertySet">GetDirectPropertyTolerantResult</member>. + + @see com::sun::star::beans::XTolerantMultiPropertySet + */ +published struct GetDirectPropertyTolerantResult : com::sun::star::beans::GetPropertyTolerantResult +{ + /** specifies the name of the property. + */ + + string Name; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl b/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl new file mode 100644 index 000000000000..bcde3011b5ab --- /dev/null +++ b/udkapi/com/sun/star/beans/GetPropertyTolerantResult.idl @@ -0,0 +1,82 @@ +/************************************************************************* + * + * 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_beans_GetPropertyTolerantResult_idl__ +#define __com_sun_star_beans_GetPropertyTolerantResult_idl__ + +#ifndef __com_sun_star_beans_TolerantPropertySetResultType_idl__ +#include <com/sun/star/beans/TolerantPropertySetResultType.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies information being retrieved about a single property. + + @see com::sun::star::beans::XTolerantMultiPropertySet + */ +published struct GetPropertyTolerantResult +{ + /** specifies a success or error code for the retrieval operation. + + @see com::sun::star::beans::TolerantPropertySetResultType + */ + + short Result; + + //------------------------------------------------------------------------- + + /** contains the state of the property. + + <p>The value is undefined if <var>Result</var> is not + <member scope="com::sun::star::beans::TolerantPropertySetResultType">SUCCESS</member>.</p> + */ + com::sun::star::beans::PropertyState State; + + //------------------------------------------------------------------------- + + /** contains the value of the property. + + <p>The value is undefined if <var>Result</var> is not + <member scope="com::sun::star::beans::TolerantPropertySetResultType">SUCCESS</member>.</p> + */ + any Value; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/IllegalTypeException.idl b/udkapi/com/sun/star/beans/IllegalTypeException.idl new file mode 100644 index 000000000000..72fca7c45076 --- /dev/null +++ b/udkapi/com/sun/star/beans/IllegalTypeException.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * 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_beans_IllegalTypeException_idl__ +#define __com_sun_star_beans_IllegalTypeException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This exception is thrown to indicate the use of a type which is + not appropriate. + + <p>This problem can occur, if you use an <atom>any</atom>. </p> + @see PropertyContainer + */ +published exception IllegalTypeException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/Introspection.idl b/udkapi/com/sun/star/beans/Introspection.idl new file mode 100644 index 000000000000..517c402d6efa --- /dev/null +++ b/udkapi/com/sun/star/beans/Introspection.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_beans_Introspection_idl__ +#define __com_sun_star_beans_Introspection_idl__ + +#ifndef __com_sun_star_beans_XIntrospection_idl__ +#include <com/sun/star/beans/XIntrospection.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= +/** provides functionality to get information about an object's + properties and methods. + <p><strong>Important note:</strong>An object can only be + inspected completely if it supports the <type scope= + "com::sun::star::lang">XTypeProvider</type> interface.</p> + + <p>For details see method <member>XIntrospection::inspect + </member>.</p> + */ +published service Introspection +{ + /// The only interface of this service + interface com::sun::star::beans::XIntrospection; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/IntrospectionException.idl b/udkapi/com/sun/star/beans/IntrospectionException.idl new file mode 100644 index 000000000000..2f8e62589d24 --- /dev/null +++ b/udkapi/com/sun/star/beans/IntrospectionException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * 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_beans_IntrospectionException_idl__ +#define __com_sun_star_beans_IntrospectionException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= +/** This exception is thrown when an exception happens during + introspection. + @deprecated + + <p>This exception isn't specified and used anywhere</p> + */ +published exception IntrospectionException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/MethodConcept.idl b/udkapi/com/sun/star/beans/MethodConcept.idl new file mode 100644 index 000000000000..241902cd859e --- /dev/null +++ b/udkapi/com/sun/star/beans/MethodConcept.idl @@ -0,0 +1,127 @@ +/************************************************************************* + * + * 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_beans_MethodConcept_idl__ +#define __com_sun_star_beans_MethodConcept_idl__ + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= +/** These constants are used to specify concepts of the + introspection which apply to methods. + + <p>This list is not necessarily complete; new constants + may be added.</p> + @see Introspection + @see XIntrospection + @see XIntrospectionAccess + +*/ +published constants MethodConcept +{ + //------------------------------------------------------------------------- + /** This value is used to query for all methods, see + <member>XIntrospectionAccess::getMethod()</member> and + <member>XIntrospectionAccess::getMethods()</member> + */ + const long ALL = -1; + + //------------------------------------------------------------------------- + /** specifies methods which can result in an unstable state + (i.e. deadlock, application crash, security hole, etc.) + when called directly by the user. + */ + const long DANGEROUS = 1; + + //------------------------------------------------------------------------- + /** specifies methods which are used to set and get the + value of properties/attributes. + + <p>These methods have the signature <code>type get...() + </code>, <code>void set...()</code> or <code>boolean is...() + </code>. </p> + */ + const long PROPERTY = 2; + + //------------------------------------------------------------------------- + /** specifies methods of the <em>listener concept</em>. + + <p>These methods have the signature <code>add...Listener() + </code> or <code>remove...Listener()</code>. </p> + */ + const long LISTENER = 4; + + //------------------------------------------------------------------------- + /** specifies methods of the <em>enumeration concept</em>. + + <p>These methods have the signature + <code>create...Enumeration</code> and return an interface + that is derived from <type scope="com::sun::star::container"> + XEnumeration</type> Additionally, the method + <method scope="com::sun::star::container">XEnumerationAccess::getElementType</method> + belongs to this concept.</p> + */ + const long ENUMERATION = 8; + + //------------------------------------------------------------------------- + /** specifies methods of the <em>name container concept</em>. + + <p>These methods have the signature + <code>get...ByName()</code>, + <code>set...ByName()</code>, + <code>replace...ByName()</code>, + <code>remove...ByName()</code>, + <code>has...ByName()</code>, or + <code>get...Names</code>. In addition, the method + <method scope="com::sun::star::container">XEnumerationAccess::getElementType</method> + belongs to this concept. </p> + */ + const long NAMECONTAINER = 16; + + //------------------------------------------------------------------------- + /** specifies methods of the <em>index container concept</em>. + + <p>These methods have the signature + <code>get...ByIndex()</code>, + <code>insert...ByIndex()</code>, + <code>replace...ByIndex()</code>, or + <code>remove...ByIndex()</code>. + The method <member scope="com::sun::star::container"> + XIndexAccess::getCount()</member> + also belongs to this concept. </p> + */ + const long INDEXCONTAINER = 32; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/NamedValue.idl b/udkapi/com/sun/star/beans/NamedValue.idl new file mode 100644 index 000000000000..dcaee0cd9e34 --- /dev/null +++ b/udkapi/com/sun/star/beans/NamedValue.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * 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_beans_NamedValue_idl__ +#define __com_sun_star_beans_NamedValue_idl__ +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a pair assembled from a name and a value. + */ +published struct NamedValue +{ + /** specifies the name part of the pair + */ + string Name; + + //------------------------------------------------------------------------- + + /** specifies the value part of the pair. + */ + any Value; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/NotRemoveableException.idl b/udkapi/com/sun/star/beans/NotRemoveableException.idl new file mode 100644 index 000000000000..bdda8ed44fba --- /dev/null +++ b/udkapi/com/sun/star/beans/NotRemoveableException.idl @@ -0,0 +1,51 @@ +/************************************************************************* + * + * 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_beans_NotRemoveableException_idl__ +#define __com_sun_star_beans_NotRemoveableException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This exception is thrown to indicate that removing a property from an + <type>XPropertyContainer</type> is not allowed. + */ +published exception NotRemoveableException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/Optional.idl b/udkapi/com/sun/star/beans/Optional.idl new file mode 100644 index 000000000000..fbf58b667c16 --- /dev/null +++ b/udkapi/com/sun/star/beans/Optional.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_beans_Optional_idl__ +#define __com_sun_star_beans_Optional_idl__ + +module com { module sun { module star { module beans { + +/** + An optional value of a given type. + + <p>This structure is used as the type of interface attributes corresponding + to instances of <type scopye="com::sun::star::beans">Property</type> that + have the <const + scope="com::sun::star::beans">PropertyAttribute::MAYBEVOID</const>. It might + also be useful in other situations, for example as the return type of an + interface method.</p> + */ +struct Optional<T> { + /** + Marks this structure instance as having an actual value. + */ + boolean IsPresent; + + /** + The actual value of this structure instance. + + <p>If no actual value is present, a producer of such a structure instance + should leave this member defaulted, and a consumer of such a structure + instance should ignore the specific value stored in this member.</p> + */ + T Value; +}; + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/Pair.idl b/udkapi/com/sun/star/beans/Pair.idl new file mode 100644 index 000000000000..0bb214fb87bb --- /dev/null +++ b/udkapi/com/sun/star/beans/Pair.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * 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_beans_Pair_idl__ +#define __com_sun_star_beans_Pair_idl__ + +module com { module sun { module star { module beans { + +//============================================================================= +/** A tuple, or pair. + + <p> + This structure allows for conveniently packing together two values of + any type, and could be useful as the result type of methods. + </p> + + @since OOo 3.0 + */ +struct Pair<T, U> { + + /// first object. + T First; + + /// second object. + U Second; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/Property.idl b/udkapi/com/sun/star/beans/Property.idl new file mode 100644 index 000000000000..bd633f9a448a --- /dev/null +++ b/udkapi/com/sun/star/beans/Property.idl @@ -0,0 +1,92 @@ +/************************************************************************* + * + * 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_beans_Property_idl__ +#define __com_sun_star_beans_Property_idl__ + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This structure describes a property. + + + <dl>There are three types of properties: + <dt>- bound properties</dt> + <dt>- constrained properties</dt> + <dt>- free properties</dt> + </dl> + */ +published struct Property +{ + /** specifies the name of the property. + + <p>The name is unique within an <type>XPropertySet</type>. + Upper and lower case are distinguished.</p> + */ + string Name; + + //------------------------------------------------------------------------- + + /** contains an implementation-specific handle for the property. + + <p>It may be -1 if the implementation has no handle. You can use + this handle to get values from the <type>XFastPropertySet</type>.</p> + */ + long Handle; + + //------------------------------------------------------------------------- + + /** contains an object that identifies the declared type for + the property. + + <p>If the property has multiple types or the type is not + known, <strong>but not an <atom>any</atom></strong>, then + <const>void</const> must be returned.</p> + */ + type Type; + + //------------------------------------------------------------------------- + + /** This field may contain zero or more constants of the + <type>PropertyAttribute</type> constants group. + */ + short Attributes; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyAttribute.idl b/udkapi/com/sun/star/beans/PropertyAttribute.idl new file mode 100644 index 000000000000..23eeefba497a --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyAttribute.idl @@ -0,0 +1,121 @@ +/************************************************************************* + * + * 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_beans_PropertyAttribute_idl__ +#define __com_sun_star_beans_PropertyAttribute_idl__ + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** These values are used to specify the behavior of a <type>Property</type>. + */ +published constants PropertyAttribute +{ + //------------------------------------------------------------------------- + + /** indicates that a property value can be void. + + <p>It does not mean that the type of the property is void! + */ + const short MAYBEVOID = 1; + + //------------------------------------------------------------------------- + + /** indicates that a <type>PropertyChangeEvent</type> will be fired + to all registered <type>XPropertyChangeListener</type>s whenever the + value of this property changes. + */ + const short BOUND = 2; + + //------------------------------------------------------------------------- + + /** indicates that a <type>PropertyChangeEvent</type> will be fired + to all registered <type>XVetoableChangeListener</type>s whenever the + value of this property changes. + + <p>This always implies that the property is <em>bound</em>, too. </p> + */ + const short CONSTRAINED = 4; + + //------------------------------------------------------------------------- + + /** indicates that the value of the property is not persistent. + */ + const short TRANSIENT = 8; + + //------------------------------------------------------------------------- + + /** indicates that the value of the property is read-only. + */ + const short READONLY = 16; + + //------------------------------------------------------------------------- + + /** indicates that the value of the property can be ambiguous. + */ + const short MAYBEAMBIGUOUS = 32; + + //------------------------------------------------------------------------- + + /** indicates that the property can be set to default. + */ + const short MAYBEDEFAULT = 64; + + //------------------------------------------------------------------------- + + /** indicates that the property can be removed + (i.e., by calling <member>XPropertyContainer::removeProperty</member>). + */ + const short REMOVEABLE = 128; + + //------------------------------------------------------------------------- + /** @deprecated + same as <const>PropertyAttribute::REMOVEABLE</const>. + */ + const short REMOVABLE = 128; + + //------------------------------------------------------------------------- + /** indicates that a property is optional. + + <p>This attribute is not of interest for concrete property + implementations. It's needed for property specifications inside + service specifications in UNOIDL. + + @see com::sun::star::reflection::XPropertyTypeDescription + @see com::sun::star::reflection::XServiceTypeDescription + @since OOo 1.1.2 + */ + const short OPTIONAL = 256; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyBag.idl b/udkapi/com/sun/star/beans/PropertyBag.idl new file mode 100644 index 000000000000..c0026af4b81a --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyBag.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * 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_beans_PropertyBag_idl__ +#define __com_sun_star_beans_PropertyBag_idl__ + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyContainer_idl__ +#include <com/sun/star/beans/XPropertyContainer.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyAccess_idl__ +#include <com/sun/star/beans/XPropertyAccess.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** Implementation of this service can keep any properties and is useful + when an <type>XPropertySet</type> is to be used, for example, as parameters for a method call. + + <p>Scripting engines might not be able to use such objects as normal + property sets, giving direct access to the properties. In this case, + use the methods like <member>XPropertySet::getPropertyValue</member>. + */ +published service PropertyBag +{ + interface com::sun::star::beans::XPropertySet; + + interface com::sun::star::beans::XPropertyContainer; + + interface com::sun::star::beans::XPropertyAccess; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyChangeEvent.idl b/udkapi/com/sun/star/beans/PropertyChangeEvent.idl new file mode 100644 index 000000000000..874373a2b1c1 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyChangeEvent.idl @@ -0,0 +1,94 @@ +/************************************************************************* + * + * 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_beans_PropertyChangeEvent_idl__ +#define __com_sun_star_beans_PropertyChangeEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** gets delivered whenever a "bound" or "constrained" property is changed. + + <p>A <type>PropertyChangeEvent</type> object is sent as an + argument to the methods of <type>XPropertyChangeListener</type> + and <type>XVetoableChangeListener</type>. </p> + + <p>Normally such events contain the name and the old and new + value of the changed property. </p> + + <p>Void values may be provided for the old and new values if their + true values are not known. </p> + */ +published struct PropertyChangeEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + + /** contains the unique name of the property which changes its value. + */ + string PropertyName; + + //------------------------------------------------------------------------- + + /** contains <true/> if further events in the same transaction occur. + */ + boolean Further; + + //------------------------------------------------------------------------- + + /** contains the implementation handle for the property. + + <p>May be -1 if the implementation has no handle. You can use + this handle to get values from the <type>XFastPropertySet</type>.</p> + */ + long PropertyHandle; + + //------------------------------------------------------------------------- + + /** contains the old value of the property. + */ + any OldValue; + + //------------------------------------------------------------------------- + + /** contains the new value of the property. + */ + any NewValue; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyConcept.idl b/udkapi/com/sun/star/beans/PropertyConcept.idl new file mode 100644 index 000000000000..46d95a8da78b --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyConcept.idl @@ -0,0 +1,93 @@ +/************************************************************************* + * + * 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_beans_PropertyConcept_idl__ +#define __com_sun_star_beans_PropertyConcept_idl__ + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= +/** These constants are used to specify concepts of the + introspection which apply to properties and to the + methods which represent attributes. + + <p>This list is not necessarily complete; new constants + may be added.</p> + + @see Introspection + @see XIntrospection + @see XIntrospectionAccess + */ +published constants PropertyConcept +{ + //------------------------------------------------------------------------- + /** This value is used to query for all properties. + + See + <member>XIntrospectionAccess::getProperty()</member> and + <member>XIntrospectionAccess::getProperties()</member> + */ + const long ALL = -1; + + //------------------------------------------------------------------------- + /** specifies that the change or retrieval of this + property directly by the user can result in an unstable + state (deadlock, application crash, security hole, etc.) + */ + const long DANGEROUS = 1; + + //------------------------------------------------------------------------- + /** specifies all properties which are reachable by + <type>XPropertySet</type>, <type>XFastPropertySet</type> or + <type>XMultiPropertySet</type>. + */ + const long PROPERTYSET = 2; + + //------------------------------------------------------------------------- + + /** specifies all properties which are actually attributes of interfaces. + */ + const long ATTRIBUTES = 4; + + //------------------------------------------------------------------------- + + /** specifies all properties which are represented by getter or setter methods. + + <p>These methods have the signature <code>type get...()</code>, + <code>void set...()</code> or <code>boolean is...()</code>.</p> + */ + const long METHODS = 8; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyExistException.idl b/udkapi/com/sun/star/beans/PropertyExistException.idl new file mode 100644 index 000000000000..4013e3b092fc --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyExistException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * 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_beans_PropertyExistException_idl__ +#define __com_sun_star_beans_PropertyExistException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** This exception is thrown to indicate that a property with this name already + exists in the object. + + @see PropertyContainer + */ +published exception PropertyExistException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertySet.idl b/udkapi/com/sun/star/beans/PropertySet.idl new file mode 100644 index 000000000000..3be077a2ca9e --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertySet.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * 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_beans_PropertySet_idl__ +#define __com_sun_star_beans_PropertySet_idl__ + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyAccess_idl__ +#include <com/sun/star/beans/XPropertyAccess.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyState_idl__ +#include <com/sun/star/beans/XPropertyState.idl> +#endif + +#ifndef __com_sun_star_beans_XFastPropertySet_idl__ +#include <com/sun/star/beans/XFastPropertySet.idl> +#endif + +#ifndef __com_sun_star_beans_XMultiPropertySet_idl__ +#include <com/sun/star/beans/XMultiPropertySet.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This is a generic service which should be supported by all servies + which have properties. + + <p>It specifies several, mostly optional ways to access properties. + */ +published service PropertySet +{ + interface com::sun::star::beans::XPropertySet; + + [optional] interface com::sun::star::beans::XFastPropertySet; + [optional] interface com::sun::star::beans::XMultiPropertySet; + [optional] interface com::sun::star::beans::XPropertyAccess; + [optional] interface com::sun::star::beans::XPropertyState; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertySetInfoChange.idl b/udkapi/com/sun/star/beans/PropertySetInfoChange.idl new file mode 100644 index 000000000000..efb1b9c03a07 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertySetInfoChange.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * 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_beans_PropertySetInfoChange_idl__ +#define __com_sun_star_beans_PropertySetInfoChange_idl__ + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies reasons for sending <type>PropertySetInfoChangeEvent</type>s. + + @see PropertySetInfoChangeEvent + @see XPropertySetInfo + */ +published constants PropertySetInfoChange +{ + //------------------------------------------------------------------------- + + /** A property was inserted into a <type>XPropertySetInfo</type>. + */ + const long PROPERTY_INSERTED = 0; + + //------------------------------------------------------------------------- + + /** A property was removed from a <type>XPropertySetInfo</type>. + */ + const long PROPERTY_REMOVED = 1; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl b/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl new file mode 100644 index 000000000000..d0ccd39e9c63 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertySetInfoChangeEvent.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * 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_beans_PropertySetInfoChangeEvent_idl__ +#define __com_sun_star_beans_PropertySetInfoChangeEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** gets delivered whenever an <type>XPropertySetInfo</type> is + changed. + + <p>A <type>PropertySetInfoChangeEvent</type> object is sent + to <type>XPropertySetInfoChangeListener</type>s.</p> + */ +published struct PropertySetInfoChangeEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + + /** contains the name of the property. + */ + string Name; + + //------------------------------------------------------------------------- + + /** contains the implementation handle for the property. + + <p>May be -1 if the implementation has no handle.</p> + */ + long Handle; + + //------------------------------------------------------------------------- + + /** contains the reason for the event. + + @see PropertySetInfoChange + */ + long Reason; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyState.idl b/udkapi/com/sun/star/beans/PropertyState.idl new file mode 100644 index 000000000000..cebca6913b4e --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyState.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_beans_PropertyState_idl__ +#define __com_sun_star_beans_PropertyState_idl__ + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This enumeration lists the states that a property value can have. + + <p>The state consists of two aspects: </p> + <ol> + <li>whether a value is available or void, </li> + <li>whether the value is stored in the property set itself or is a + default, or ambiguous. </li> + </ol> + + @see XPropertyState + @see Property + */ +published enum PropertyState +{ + //------------------------------------------------------------------------- + + /** The value of the property is stored in the PropertySet itself. + + <p>The property value must be available and of the specified type. + If the <member>PropertyAttribute</member> field in the struct + <type>Property</type> contains <const>PropertyAttribute::MAYBEVOID</const>, + then the value may be void. </p> + */ + DIRECT_VALUE, + + //------------------------------------------------------------------------- + + /** The value of the property is available from a master (e.g., template). + + <p>The <member>PropertyAttribute</member> field in the struct + <type>Property</type> must contain the + <const>PropertyAttribute::MAYBEDEFAULT</const> flag. The property + value must be available and of the specified type. If the + <member>PropertyAttribute</member> field in the struct <type>Property</type> + contains <const>PropertyAttribute::MAYBEVOID</const>, then the + value may be void. </p> + */ + DEFAULT_VALUE, + + //------------------------------------------------------------------------- + + /** The value of the property is only a recommendation because there + are multiple values for this property (e.g., from a multi selection). + + <p>The <member>PropertyAttribute</member> field in the struct + <type>Property</type> must contain the + <const>PropertyAttribute::MAYBEAMBIGUOUS</const> flag. The + property value must be available and of the specified type. + If the Attribute field in the struct Property contains + <const>PropertyAttribute::MAYBEVOID</const>, then the value + may be void. </p> + */ + AMBIGUOUS_VALUE + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl b/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl new file mode 100644 index 000000000000..1de67bb152c9 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyStateChangeEvent.idl @@ -0,0 +1,95 @@ +/************************************************************************* + * + * 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_beans_PropertyStateChangeEvent_idl__ +#define __com_sun_star_beans_PropertyStateChangeEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** is delivered whenever the state of a "bound" property is changed. + + <p>It is sent as an argument to the method of + <type>XPropertyStateChangeListener</type>. </p> + + <p>Normally these events are accompanied by the name, and the old + and new values of the changed property. </p> + + <p>Void values may be provided for the old and new values if their + true values are not known. </p> + */ +published struct PropertyStateChangeEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + + /** specifies the name of the property which changes its value. + + <p>This name identifies the property uniquely within an + <type>XPropertySet</type>. Upper and lower case are distinguished.</p> + */ + string PropertyName; + + //------------------------------------------------------------------------- + + /** contains the implementation handle for the property. + + <p>It may be -1 if the implementation has no handle. You can use this + handle to get values from the <type>XFastPropertySet</type> + interface.</p> + */ + long PropertyHandle; + + //------------------------------------------------------------------------- + + /** contains the old value of the property. + */ + com::sun::star::beans::PropertyState OldValue; + + //------------------------------------------------------------------------- + + /** contains the new value of the property. + */ + com::sun::star::beans::PropertyState NewValue; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyValue.idl b/udkapi/com/sun/star/beans/PropertyValue.idl new file mode 100644 index 000000000000..4f53b7f4334f --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyValue.idl @@ -0,0 +1,85 @@ +/************************************************************************* + * + * 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_beans_PropertyValue_idl__ +#define __com_sun_star_beans_PropertyValue_idl__ + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a property value. + */ +published struct PropertyValue +{ + /** specifies the name of the property. + + <p>The name is unique within a sequence of <type>PropertyValue</type>s. + Upper and lower case are distinguished.</p> + */ + string Name; + + //------------------------------------------------------------------------- + + /** contains an implementation-specific handle for the property. + + <p>It may be -1 if the implementation has no handle. If available + it can be used for fast lookups.</p> + */ + long Handle; + + //------------------------------------------------------------------------- + + /** contains the value of the property or <void/>, + if no value is available. + */ + any Value; + + //------------------------------------------------------------------------- + + /** determines if the value comes from the object itself or from + a default and if the value cannot be determined exactly. + */ + com::sun::star::beans::PropertyState State; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyValues.idl b/udkapi/com/sun/star/beans/PropertyValues.idl new file mode 100644 index 000000000000..f3fe17efc07a --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyValues.idl @@ -0,0 +1,49 @@ +/************************************************************************* + * + * 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_beans_PropertyValues_idl__ +#define __com_sun_star_beans_PropertyValues_idl__ + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= +/** specifies a sequence of <type>PropertyValue</type> instances. + + <p>Such sequences are especially useful for remote interfaces. </p> +*/ +published typedef sequence<PropertyValue> PropertyValues; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/PropertyVetoException.idl b/udkapi/com/sun/star/beans/PropertyVetoException.idl new file mode 100644 index 000000000000..c8abf8e95b45 --- /dev/null +++ b/udkapi/com/sun/star/beans/PropertyVetoException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * 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_beans_PropertyVetoException_idl__ +#define __com_sun_star_beans_PropertyVetoException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** This exception is thrown when a proposed change to a + property represents an unacceptable value. + + @see XPropertySet + */ +published exception PropertyVetoException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl b/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl new file mode 100644 index 000000000000..a1637026c710 --- /dev/null +++ b/udkapi/com/sun/star/beans/SetPropertyTolerantFailed.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * 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_beans_SetPropertyTolerantFailed_idl__ +#define __com_sun_star_beans_SetPropertyTolerantFailed_idl__ + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies information about a single property failed to be set. + + @see com::sun::star::beans::XTolerantMultiPropertySet + */ +published struct SetPropertyTolerantFailed +{ + /** specifies the name of the property. + */ + string Name; + + //------------------------------------------------------------------------- + + /** specifies the success or error code for setting the + properties value. + + <p>Since the property was not successful set the result will never be + <member scope="com::sun::star::beans::TolerantPropertySetResultType">SUCCESS</member>. + </p> + + @see com::sun::star::beans::TolerantPropertySetResultType + */ + short Result; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/StringPair.idl b/udkapi/com/sun/star/beans/StringPair.idl new file mode 100644 index 000000000000..86fd955b9b07 --- /dev/null +++ b/udkapi/com/sun/star/beans/StringPair.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * 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_beans_StringPair_idl__ +#define __com_sun_star_beans_StringPair_idl__ + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a pair of two strings. + */ +published struct StringPair +{ + /** specifies the first of the two strings. + */ + string First; + + //------------------------------------------------------------------------- + + /** specifies the second of the two strings. + */ + string Second; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl b/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl new file mode 100644 index 000000000000..9a28031b5286 --- /dev/null +++ b/udkapi/com/sun/star/beans/TolerantPropertySetResultType.idl @@ -0,0 +1,90 @@ +/************************************************************************* + * + * 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_beans_TolerantPropertySetResultType_idl__ +#define __com_sun_star_beans_TolerantPropertySetResultType_idl__ + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies the possible failure types when using the + <type scope="com::sun::star::beans">XTolerantMultiPropertySet</type> + interface. + + <p>It usually matches one of the exception types that may occur when + using the + <type scope="com::sun::star::beans">XPropertySet</type> or + <type scope="com::sun::star::beans">XMultiPropertySet</type> interfaces.</p> +*/ +constants TolerantPropertySetResultType +{ + /** the property has been successfully set or retrieved. + */ + const short SUCCESS = 0; + + /** the property is not available. + + <p>For example if a + <type scope="com::sun::star::beans" >UnknownPropertyException</type> + was catched.</p> + */ + const short UNKNOWN_PROPERTY = 1; + + /** the value used with the property is not valid. + + <p>For example if a + <type scope="com::sun::star::lang" >IllegalArgumentException</type> + was catched.</p> + */ + const short ILLEGAL_ARGUMENT = 2; + + /** the property could not be changed at that time. + + <p>For example if a + <type scope="com::sun::star::beans" >PropertyVetoException</type> + was catched.</p> + */ + const short PROPERTY_VETO = 3; + + /** a <type scope="com::sun::star::lang">WrappedTargetException</type> + did occur. + */ + const short WRAPPED_TARGET = 4; + + /** the operation failed and the reason is not known. + */ + const short UNKNOWN_FAILURE = 5; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/UnknownPropertyException.idl b/udkapi/com/sun/star/beans/UnknownPropertyException.idl new file mode 100644 index 000000000000..5d216743e1af --- /dev/null +++ b/udkapi/com/sun/star/beans/UnknownPropertyException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * 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_beans_UnknownPropertyException_idl__ +#define __com_sun_star_beans_UnknownPropertyException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** This exception is thrown to indicate that the property name is unknown to + the implementation. + + @see XPropertySet + */ +published exception UnknownPropertyException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XExactName.idl b/udkapi/com/sun/star/beans/XExactName.idl new file mode 100644 index 000000000000..716e33651302 --- /dev/null +++ b/udkapi/com/sun/star/beans/XExactName.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * 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_beans_XExactName_idl__ +#define __com_sun_star_beans_XExactName_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides a method of changing names for converting + an approximate name to an existing name. + + <p> One field of application is the conversion of case-insensitive + names to the existing names. </p> + + <p>Example: A basic interpreter ignores the case of the names. So + it must query the <type>XExactName</type> interface and then call + the method. </p> + + @see com::sun::star::beans::XPropertySet + @see com::sun::star::beans::XIntrospectionAccess + @see com::sun::star::container::XNameAccess + */ +published interface XExactName: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the exact name for a given aprroximate name. + + <p>For example "getExactName" could be returned for "GETEXACTNAME" + when "GETEXACTNAME" was used by a case insesitive scripting language. </p> + */ + string getExactName( [in] string aApproximateName ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XFastPropertySet.idl b/udkapi/com/sun/star/beans/XFastPropertySet.idl new file mode 100644 index 000000000000..89ffd4a4288d --- /dev/null +++ b/udkapi/com/sun/star/beans/XFastPropertySet.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_beans_XFastPropertySet_idl__ +#define __com_sun_star_beans_XFastPropertySet_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides a fast way of accessing and changing property values. + + <p>This interface is an extension to the <type>XPropertySet</type> + interface. The get and set methods use handles to access the + property values instead of character strings.</p> + */ +published interface XFastPropertySet: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** sets the value to the property with the specified name. + + @param nHandle + contains the implementation handle of the + implementation for the property. + + @param aValue + contains the new value of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws PropertyVetoException + if a vetoable listener does not approve the change of + a property value. + + @throws IllegalArgumentException + if the new value cannot be converted to the type of the + underlying property by an identity or widening conversion. + + @throws stardiv::uno::lang::WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped into this + <type scope="com::sun::star::lang">WrappedTargetException</type>. + + */ + void setFastPropertyValue( [in] long nHandle, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + the value of the property with the name PropertyName. + + @param nHandle + contains the implementation handle of the implementation for the property. + + @throws UnknownPropertyException + if the property 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 + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + any getFastPropertyValue( [in] long nHandle ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl b/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl new file mode 100644 index 000000000000..31991a335b98 --- /dev/null +++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySet.idl @@ -0,0 +1,175 @@ +/************************************************************************* + * + * 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_beans_XHierarchicalPropertySet_idl__ +#define __com_sun_star_beans_XHierarchicalPropertySet_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__ +#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides information about and access to the + a hierarchy of properties from an implementation. + + <p> Usually an object that implements this interface + also implements <type>XPropertySet</type> and at + least some of the properties have subproperties. </p> + + <p> This interface allows direct access to subsubproperties, ... + up to an arbitrary nesting depth. Often the intermediate + elements of the hierarchy implement <type>XProperty</type>. </p> + + <p> Each implementation specifies how the + hierarchical property names, that are + used to access the elements of the hierarchy, + are formed. </p> + + <p> Commonly a notation similar to filesystem pathes + (separated by '/' slashes) or nested module names + (separated by dots '.' or '::') is used. </p> + + */ +published interface XHierarchicalPropertySet: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** retrieve information about the hierarchy of properties + + @returns + the <type>XHierarchicalPropertySetInfo</type> interface, + which describes the property hierarchy of the object which + supplies this interface. + + @returns + <NULL/> if the implementation cannot or will + not provide information about the properties; otherwise the + interface <type>XHierarchicalPropertySetInfo</type> is returned. + */ + com::sun::star::beans::XHierarchicalPropertySetInfo + getHierarchicalPropertySetInfo(); + + //------------------------------------------------------------------------- + + /** sets the value of the property with the specified nested name. + + @param aHierarchicalPropertyName + This parameter specifies the name of the property. + + @param aValue + This parameter specifies the new value for the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws PropertyVetoException + if the property is constrained and the change is vetoed by a + <type>XVetoableChangeListener</type>. + + @throws com::sun::star::uno::lang::IllegalArgumentException + if <var>aValue</var> is not a legal value for this property or + if <var>aHierarchicalPropertyName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect the latter condition. + + @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 + <type scope="com::sun::star::lang">WrappedTargetException</type>. + + @see XPropertySet::setPropertyValue + */ + void setHierarchicalPropertyValue( [in] string aHierarchicalPropertyName, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + the value of the property with the specified nested name. + + @param aHierarchicalPropertyName + This parameter specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::uno::lang::IllegalArgumentException + if <var>aHierarchicalPropertyName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + + @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 + <type scope="com::sun::star::lang">WrappedTargetException</type>. + + @see XPropertySet::getPropertyValue + */ + any getHierarchicalPropertyValue( [in] string aHierarchicalPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl b/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl new file mode 100644 index 000000000000..8d2f2aac3ec9 --- /dev/null +++ b/udkapi/com/sun/star/beans/XHierarchicalPropertySetInfo.idl @@ -0,0 +1,104 @@ +/************************************************************************* + * + * 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_beans_XHierarchicalPropertySetInfo_idl__ +#define __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a hierarchy of properties. + + <p>The specification only describes the properties, it does not contain + any values.</p> + */ +published interface XHierarchicalPropertySetInfo: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the property with the specified name from the hierarchy. + + @param aHierarchicalName + specifies the nested name of the property. + + @throws UnknownPropertyException + if the property does not exist. + + @throws com::sun::star::lang::IllegalArgumentException + if <var>aHierarchicalName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + + */ + com::sun::star::beans::Property getPropertyByHierarchicalName( [in] string aHierarchicalName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + + /** @returns + <TRUE/> if a property with the specified name exists; + otherwise <FALSE/> is returned. + + @param aHierarchicalName + specifies the name of the property. + + @throws com::sun::star::lang::IllegalArgumentException + if <var>aHierarchicalName</var> is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + */ + boolean hasPropertyByHierarchicalName( [in] string aHierarchicalName ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XIntroTest.idl b/udkapi/com/sun/star/beans/XIntroTest.idl new file mode 100644 index 000000000000..34b799cc1330 --- /dev/null +++ b/udkapi/com/sun/star/beans/XIntroTest.idl @@ -0,0 +1,208 @@ +/************************************************************************* + * + * 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_beans_XIntroTest_idl__ +#define __com_sun_star_beans_XIntroTest_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_uno_TypeClass_idl__ +#include <com/sun/star/uno/TypeClass.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + + published interface XPropertyChangeListener; + published interface XPropertiesChangeListener; + +//============================================================================= +/** This is a test interface for introspection. + + @deprecated +*/ +published interface XIntroTest: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** contains the ID-String of the implementation. + */ + [attribute] string ObjectName; + + //------------------------------------------------------------------------- + /** contains the first name of a person. + */ + [readonly, attribute] string FirstName; + + //------------------------------------------------------------------------- + /** contains the last name of a person. + */ + [readonly, attribute] string LastName; + + //------------------------------------------------------------------------- + /** contains the age of a person. + */ + [readonly, attribute] short Age; + + //------------------------------------------------------------------------- + /** contains the number of children person has. + */ + [attribute] short ChildrenCount; + + //------------------------------------------------------------------------- + /** contains a struct of type <type>Property</type>. + */ + [attribute] com::sun::star::beans::Property FirstStruct; + + //------------------------------------------------------------------------- + /** contains a struct of type <type>PropertyValue</type>. + */ + [attribute] com::sun::star::beans::PropertyValue SecondStruct; + + //------------------------------------------------------------------------- + /** output method. + */ + void writeln( [in] string Text ); + + //------------------------------------------------------------------------- + /** ... + */ + long getDroenk(); + + //------------------------------------------------------------------------- + /** gets another object with this interface. + */ + com::sun::star::beans::XIntroTest getIntroTest(); + + //------------------------------------------------------------------------- + /** !!! No property, because parameter exists + */ + long getUps( [in] long l ); + + //------------------------------------------------------------------------- + /** ... + */ + void setDroenk( [in] long l ); + + //------------------------------------------------------------------------- + /** ... + */ + short getBla(); + + //------------------------------------------------------------------------- + /** !!! Not the set method for property Bla, because param type != return type. + */ + void setBla( [in] long n ); + + //------------------------------------------------------------------------- + /** ... + */ + short getBlub(); + + //------------------------------------------------------------------------- + /** ... + */ + void setBlub( [in] short n ); + + //------------------------------------------------------------------------- + /** ... + */ + short getGulp(); + + //------------------------------------------------------------------------- + /** !!! Not the set method for property Gulp, because return type != void. + */ + short setGulp( [in] short n ); + + //------------------------------------------------------------------------- + /** ... + */ + com::sun::star::uno::TypeClass getTypeClass( [in] short n ); + + //------------------------------------------------------------------------- + /** ... + */ + void setTypeClass( [in] com::sun::star::uno::TypeClass t, + [in] double d1, + [in] double d2 ); + + //------------------------------------------------------------------------- + sequence<string> getStrings(); + + //------------------------------------------------------------------------- + /** ... + */ + void setStrings( [in] sequence<string> Strings ); + + //------------------------------------------------------------------------- + /** ... + */ + void setStringsPerMethod( [in] sequence<string> Strings, + [in] short n ); + + //------------------------------------------------------------------------- + sequence< sequence< sequence< short > > > getMultiSequence(); + + //------------------------------------------------------------------------- + /** ... + */ + void setMultiSequence( [in] sequence< sequence< sequence< short > > > Seq ); + + //------------------------------------------------------------------------- + /** adds a listener which is called, when one of the specified properties + changes its value. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + [oneway] void addPropertiesChangeListener( [in] sequence< string > PropertyNames, + [in] XPropertiesChangeListener Listener ); + + //------------------------------------------------------------------------- + /** removes a listener. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + [oneway] void removePropertiesChangeListener( [in] XPropertiesChangeListener Listener ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XIntrospection.idl b/udkapi/com/sun/star/beans/XIntrospection.idl new file mode 100644 index 000000000000..5c7d6ed02cc2 --- /dev/null +++ b/udkapi/com/sun/star/beans/XIntrospection.idl @@ -0,0 +1,121 @@ +/************************************************************************* + * + * 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_beans_XIntrospection_idl__ +#define __com_sun_star_beans_XIntrospection_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XIntrospectionAccess_idl__ +#include <com/sun/star/beans/XIntrospectionAccess.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +// DocMerge from xml: interface com::sun::star::beans::XIntrospection +/** allows the inspection of an object's properties and methods. + + <p><strong>Important note:</strong>An object can only be + inspected completely if it supports the <type scope= + "com::sun::star::lang">XTypeProvider</type> interface.</p> + + <p>For details see method <member>XIntrospection::inspect</member>. </p> + + @see XIntrospectionAccess + */ +published interface XIntrospection: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + // DocMerge from xml: method com::sun::star::beans::XIntrospection::inspect + /** inspects the given object. + + <p>It identifies all properties supported by the object + if they are represented in one of the following ways: </p> + + <dl> + <dt>property set </dt> + <dd>If the object supports an <type>XPropertySet</type> + interface, all its properties are adopted. + </dd> + + <dt>attributes </dt> + <dd>All of an object's attributes are considered as properties + with same name. If an attribute is read-only, the property + also is read-only. + </dd> + + <dt>get/set methods </dt> + <dd>Every method <code>RetType getX()</code> defines a + property where "X" stands for the property name and + "RetType" for its type. The method must not have any + parameters, or there is no property access method + and "X" has no property. If there is also a method + <code>void setX( [in] RetType )</code>, the property + "X" also allows write access; otherwise it is read-only. + </dd> + + <dt> <strong>Important note:</strong></dt> + <dd>If an object implements <type scope="com::sun::star::container">XNameAccess</type>, + the items that can be accessed are not considered as properties + of the object and so are not included in the property list offered by + <member scope="com::sun::star::beans">XIntrospectionAccess::getProperties()</member>. + <type scope="com::sun::star::container">XNameAccess</type> items have to be + accessed separately by <member scope="com::sun::star::beans">XIntrospectionAccess::getNameAccess()</member>. + </dd> + </dl> + + <p>In addition, the inspect method identifies all listener + access methods in the form <code>add...Listener</code>/ + <code>remove...Listener</code> (except methods of interface + <type>XPropertySet</type>) where "..." stands for the listener type. + </p> + + <p>Methods which do not belong to a property nor which represent + a listener access nor which are methods of <type>XPropertySet</type>, + <type scope="com::sun::star::container">XNameAccess</type>, + <type scope="com::sun::star::container">XIndexAccess</type>, or + <type scope="com::sun::star::container">XEnumerationAccess</type>, are considered to be normal + methods. </p> + + @see XIntrospectionAccess + */ + com::sun::star::beans::XIntrospectionAccess inspect( [in] any aObject ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XIntrospectionAccess.idl b/udkapi/com/sun/star/beans/XIntrospectionAccess.idl new file mode 100644 index 000000000000..efd340916857 --- /dev/null +++ b/udkapi/com/sun/star/beans/XIntrospectionAccess.idl @@ -0,0 +1,321 @@ +/************************************************************************* + * + * 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_beans_XIntrospectionAccess_idl__ +#define __com_sun_star_beans_XIntrospectionAccess_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/container/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlMethod_idl__ +#include <com/sun/star/reflection/XIdlMethod.idl> +#endif + +#ifndef __com_sun_star_lang_NoSuchMethodException_idl__ +#include <com/sun/star/lang/NoSuchMethodException.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + +#ifndef __com_sun_star_beans_IllegalTypeException_idl__ +#include <com/sun/star/beans/IllegalTypeException.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= + +/** represents the result of an introspection operation done by + the inspect method of <type scope="com::sun::star::beans"> + XIntrospection</type>. + + <p>This interface gives information about an object's + properties and methods as detected in the introspection + process. It's not possible to access properties or call + methods directly using this interface but it provides + access to other interfaces to do so. + See <member scope="com::sun::star::beans"> + XIntrospectionAccess::queryAdapter()</member></p> + + <p>The <type>XExactName</type> interface has to be supported + in order to implement inaccurate name access for all objects + which implement the <type scope="com::sun::star::container"> + XNameAccess</type> interface or <type>XPropertySet</type>.</p> + + <p>The <type>XMaterialHolder</type> interface has to be + supported to give access to the inspected object.</p> + + @see XPropertySet + @see com::sun::star::beans::XExactName + */ +published interface XIntrospectionAccess: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns information about which method concepts described in + the <type>MethodConcept</type> constants group are supported + by this <type>XIntrospectionAccess</type> implementation. + + <p>The minimum supported concepts should be:</p> + + <ul> + <li> <const>MethodConcept::PROPERTY</const>, </li> + <li> <const>MethodConcept::LISTENER</const>, </li> + <li> <const>MethodConcept::ENUMERATION</const>, </li> + <li> <const>MethodConcept::NAMECONTAINER</const></li> + <li> <const>MethodConcept::INDEXCONTAINER</const>; </li> + </ul> + + @returns + zero or more constants of the <type>MethodConcept</type> + constants group combined by an arithmetical or-operation. + */ + long getSuppliedMethodConcepts(); + + //------------------------------------------------------------------------- + /** returns information about which property concepts described in + the <type>PropertyConcept</type> constants group are supported + by this <type>XIntrospectionAccess</type> implementation. + + <p>The minimum supported concepts should be:</p> + + <ul> + <li> <const>PropertyConcept::PROPERTYSET</const>, </li> + <li> <const>PropertyConcept::ATTRIBUTES</const> and </li> + <li> <const>PropertyConcept::METHODS</const>. </li> + </ul> + + @returns + zero or more constants of the <type>PropertyConcept</type> + constants group.combined by an arithmetical or-operation. + */ + long getSuppliedPropertyConcepts(); + + //------------------------------------------------------------------------- + /** returns information about a property if a property with + the demanded name exists and if it accords to one of the + demanded <type>PropertyConcept</type>s. The information + is provided as <type>Property</type> struct. + + @returns + A <type>Property</type> struct providing + information about the demanded property, + if a corresponding property exists. + + @param aName + the name of the property. + + @param nPropertyConcepts + zero or more constants of the <type>PropertyConcept + </type> constants group combined by an arithmetical + or-operation. + + @throws NoSuchElementException + when a property with the demanded name doesn't exist + or if it accords to a wrong <type>PropertyConcept + </type>. + */ + com::sun::star::beans::Property getProperty( [in] string aName, + [in] long nPropertyConcepts ) + raises( com::sun::star::container::NoSuchElementException ); + + //------------------------------------------------------------------------- + /** allows to ask if a property with the demanded name exists + and if it accords to one of the demanded <type> + PropertyConcept</type>s. + + @returns + <TRUE/> if the property exists and accords to one of + the demanded <type>PropertyConcept</type>s, otherwise + <FALSE/> is returned. + + @param aName + the name of the property. + + @param nPropertyConcepts + zero or more constants of the <type>PropertyConcept + </type> constants group combined by an arithmetical + or-operation. + */ + boolean hasProperty( [in] string aName, + [in] long nPropertyConcepts ); + + //------------------------------------------------------------------------- + /** returns a sequence of properties of the introspected object + + @returns + all properties of the introspected object which accord + to the demanded <type>PropertyConcept</type>s. + + @param nPropertyConcepts + zero or more constants of the <type>PropertyConcept + </type> constants group combined by an arithmetical + or-operation. + */ + sequence<com::sun::star::beans::Property> getProperties( + [in] long nPropertyConcepts ); + + //------------------------------------------------------------------------- + /** returns information about a method if a method with + the demanded name exists and if it accords to one of + the demanded MethodConcepts. The information is + provided as <type scope="com::sun::star::reflection"> + XIdlMethod</type>. + + @returns + A <type scope="com::sun::star::reflection"> + XIdlMethod</type> providing information about and + access to the demanded method if a corresponding + method exists. + + @param aName + the name of the method. + + @param nMethodConcepts + zero or more constants of the <type>MethodConcept + </type> constants group combined by an arithmetical + or-operation. + + @throws NoSuchElementException + when a method with the demanded name doesn't exist + or if it accords to a wrong <type>MethodConcept</type>. + */ + com::sun::star::reflection::XIdlMethod getMethod( [in] string aName, + [in] long nMethodConcepts ) + raises( com::sun::star::lang::NoSuchMethodException ); + + //------------------------------------------------------------------------- + /** allows to ask if a method with the demanded name exists + and if it accords to one of the demanded <type>MethodConcept + </type>s. + + @returns + <TRUE/> if the method exists and accords to one of + the demanded <type>MethodConcept</type>s, otherwise + <FALSE/> is returned. + + @param aName + the name of the method. + + @param nMethodConcepts + zero or more constants of the <type>MethodConcept + </type> constants group combined by an arithmetical + or-operation. + */ + boolean hasMethod( [in] string aName, + [in] long nMethodConcepts ); + + //------------------------------------------------------------------------- + /** returns a sequence of methods of the introspected object. + + @returns + all methods of the introspected object which accord + to the demanded <type>MethodConcept</type>s. + + @param nMethodConcepts + zero or more constants of the <type>MethodConcept + </type> constants group combined by an arithmetical + or-operation. + */ + sequence<com::sun::star::reflection::XIdlMethod> getMethods( + [in] long nMethodConcepts ); + + //------------------------------------------------------------------------- + /** returns the listener types supported by the introspected + object. + + <p>If the introspected object has the methods + <code>addFooListener( XFooListener xFoo )</code> and + <code>removeFooListener( XFooListener xFoo )</code> + the type of XFooListener will be one of the elements + in the returned sequence. + + @returns + a sequence of the types of listener interfaces + which are supported by the introspected object. + */ + sequence<type> getSupportedListeners(); + + //------------------------------------------------------------------------- + /** creates an adapter that implements an interface with the + specified type. + + <p>To access properties, query for the <type>XPropertySet + </type> interface. If the <type>XPropertySet</type> can + be queried, the <type>XFastPropertySet</type> interface + must be supported too. </p> + + <p>If the introspected object implements a name container, + the introspection should return the <type scope= + "com::sun::star::container">XNameAccess</type> and <type + scope="com::sun::star::container">XNameContainer</type> + interfaces.</p> + + <p>If the introspected object implements an index container, + the introspection should return the <type scope= + "com::sun::star::container">XIndexAccess</type> and <type + scope="com::sun::star::container">XIndexContainer</type> + interfaces.</p> + + <p>If the introspected object implements an enumeration + container, the introspection should return the <type scope= + "com::sun::star::container">XEnumerationAccess</type> + interface.</p> + + <p>If the introspected object implements the <type scope= + "com::sun::star::reflection">XIdlArray</type> interface, + the introspection should return this.</p> + + <p>To implement inaccurate name access, at all objects, + which implement the <type scope="com::sun::star::container"> + XNameAccess</type> or <type>XPropertySet</type> interface, + the <type>XExactName</type> interface has to be supported. + </p> + + @see com::sun::star::beans::XExactName + */ + com::sun::star::uno::XInterface queryAdapter( [in] type aInterfaceType ) + raises( com::sun::star::beans::IllegalTypeException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XMaterialHolder.idl b/udkapi/com/sun/star/beans/XMaterialHolder.idl new file mode 100644 index 000000000000..b89a84ce15a9 --- /dev/null +++ b/udkapi/com/sun/star/beans/XMaterialHolder.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * 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_beans_XMaterialHolder_idl__ +#define __com_sun_star_beans_XMaterialHolder_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + + module com { module sun { module star { module beans { + +//============================================================================= +/** gives access to the material a (tool-) object is working on. + + <p>Example: The introspection service allows the inspection of an + object's properties and methods. The result is represented as + XIntrospectionAccess interface. The inspected object then is the + material attached to the introspection tool and an implementation + of <type>XIntrospectionAccess</type> should also support + <type>XMaterialHolder</type> to give access to this material.</p> + + @see XIntrospectionAccess + */ +published interface XMaterialHolder: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns the material that is connected to this (tool-) object + + @returns + the material that is connected to this (tool-) object. + */ + any getMaterial(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl b/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl new file mode 100644 index 000000000000..cfd1950cdcbe --- /dev/null +++ b/udkapi/com/sun/star/beans/XMultiHierarchicalPropertySet.idl @@ -0,0 +1,161 @@ +/************************************************************************* + * + * 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_beans_XMultiHierarchicalPropertySet_idl__ +#define __com_sun_star_beans_XMultiHierarchicalPropertySet_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XHierarchicalPropertySetInfo_idl__ +#include <com/sun/star/beans/XHierarchicalPropertySetInfo.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides access to multiple properties which form a hierarchy. + + @see XHierarchicalPropertySet + */ +published interface XMultiHierarchicalPropertySet: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** retrieve information about the hierarchy of properties + + @returns + the <type>XHierarchicalPropertySetInfo</type> interface, + which describes the property hierarchy of the object which + supplies this interface. + + @returns + <NULL/> if the implementation cannot or will + not provide information about the properties; otherwise the + interface <type>XHierarchicalPropertySetInfo</type> is returned. + + @see XHierarchicalPropertySet::getHierarchicalPropertySetInfo + */ + com::sun::star::beans::XHierarchicalPropertySetInfo getHierarchicalPropertySetInfo(); + + //------------------------------------------------------------------------- + + /** sets the values of the properties with the specified nested names. + + <p> The values of the properties must change before bound + events are fired. The values of constrained properties + should change after the vetoable events are fired, if no + exception occurs. </p> + + <p> Unknown properties are ignored. </p> + + @param aHierarchicalPropertyNames + This parameter specifies the names of the properties. + + @param aValues + This parameter specifies the new values for the properties. + + @throws PropertyVetoException + if one of the properties is constrained and the change is + vetoed by a <type>XVetoableChangeListener</type>. + + @throws com::sun::star::lang::IllegalArgumentException + if one of the values is not a legal value for the + corresponding property or if one of the names + is not a well-formed nested name for this hierarchy. + An implementation is not required to detect the latter + condition. + + @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 + <type scope="com::sun::star::lang">WrappedTargetException</type>. + + @see XHierarchicalPropertySet::setHierarchicalPropertyValue + @see XMultiPropertySet::setPropertyValues + */ + + + void setHierarchicalPropertyValues( [in] sequence<string> aHierarchicalPropertyNames, + [in] sequence<any> Values ) + raises( com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + a sequence of all values of the properties which are specified + by their nested names. + + <p> The order of the values in the returned sequence will be the same + as the order of the names in the argument. </p> + + <p> Unknown properties are ignored, in their place <NULL/> will be returned. </p> + + @throws com::sun::star::lang::IllegalArgumentException + if one of the names is not a well-formed + nested name for this hierarchy. + An implementation is not required to detect this + condition. + + @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 + <type scope="com::sun::star::lang">WrappedTargetException</type>. + + @see XHierarchicalPropertySet::getHierarchicalPropertyValue + @see XMultiPropertySet::setPropertyValues + */ + sequence<any> getHierarchicalPropertyValues( [in] sequence<string> aPropertyNames ) + raises( com::sun::star::lang::IllegalArgumentException , + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XMultiPropertySet.idl b/udkapi/com/sun/star/beans/XMultiPropertySet.idl new file mode 100644 index 000000000000..1388c5d672af --- /dev/null +++ b/udkapi/com/sun/star/beans/XMultiPropertySet.idl @@ -0,0 +1,180 @@ +/************************************************************************* + * + * 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_beans_XMultiPropertySet_idl__ +#define __com_sun_star_beans_XMultiPropertySet_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySetInfo_idl__ +#include <com/sun/star/beans/XPropertySetInfo.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertiesChangeListener_idl__ +#include <com/sun/star/beans/XPropertiesChangeListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides access to multiple properties with a single call. + */ +published interface XMultiPropertySet: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the <type>XPropertySetInfo</type> interface, which describes + all properties of the object to which this interface belongs. + <const>NULL</const> is returned if the object cannot or will + not provide information about the properties. + + @see XPropertySet::getPropertySetInfo + */ + com::sun::star::beans::XPropertySetInfo getPropertySetInfo(); + + //------------------------------------------------------------------------- + + /** sets the values to the properties with the specified names. + + <p>The values of the properties must change before the bound + events are fired. The values of the constrained properties + should change after the vetoable events are fired and only if no + exception occured. Unknown properties are ignored. </p> + + @param aPropertyNames + specifies the names of the properties. All names must be unique. + This sequence must be alphabetically sorted. + + @param aValues + contains the new values of the properties. The order is the same + as in <var>aPropertyNames</var>. + + @throws IllegalArgumentException + if one of the new values cannot be converted to the type + of the underlying property by an identity or widening conversion. + + @throws com::sun::star::lang:WrappedTargetException + if the implementation has an internal reason for the exception. + In this case the original exception is wrapped. + */ + void setPropertyValues( [in] sequence<string> aPropertyNames, + [in] sequence<any> aValues ) + raises( com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + a sequence of all values of the properties which are specified by their names. + + <p>The order of the values in the returned sequence will be the same + as the order of the names in the argument. </p> + + @param aPropertyNames + specifies the names of the properties. + This sequence must be alphabetically sorted. + */ + sequence<any> getPropertyValues( [in] sequence<string> aPropertyNames ); + + //------------------------------------------------------------------------- + + /** adds an <type>XPropertiesChangeListener</type> to the + specified property with the specified names. + + <p>The implementation can ignore the names of the properties + and fire the event on all properties. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @param aPropertyNames + specifies the names of the properties. + + @param xListener + contains the listener for the property change events. + + @see removePropertiesChangeListener + */ + [oneway] void addPropertiesChangeListener( [in] sequence<string> aPropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener xListener ); + + //------------------------------------------------------------------------- + + /** removes an <type>XPropertiesChangeListener</type> from the listener list. + + <p>It is a "noop" if the listener is not registered. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @param + contains the listener to be removed. + + @see addPropertiesChangeListener + */ + [oneway] void removePropertiesChangeListener( [in] com::sun::star::beans::XPropertiesChangeListener xListener ); + + //------------------------------------------------------------------------- + + /** fires a sequence of <type>PropertyChangeEvent</type>s to the specified + listener. + + @param aPropertynames + specifies the sorted names of the properties. + + @param xListener + contains the listener for the property change events. + */ + [oneway] void firePropertiesChangeEvent( [in] sequence<string> aPropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener xListener ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XMultiPropertyStates.idl b/udkapi/com/sun/star/beans/XMultiPropertyStates.idl new file mode 100644 index 000000000000..340d627f93a6 --- /dev/null +++ b/udkapi/com/sun/star/beans/XMultiPropertyStates.idl @@ -0,0 +1,140 @@ +/************************************************************************* + * + * 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_beans_XMultiPropertyState_idl__ +#define __com_sun_star_beans_XMultiPropertyState_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyStateChangeListener_idl__ +#include <com/sun/star/beans/XPropertyStateChangeListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= +/** makes it possible to query information about the state of + one or more properties. + + <p>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 <type>PropertyState</type>. +*/ +published interface XMultiPropertyStates: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** @returns + a sequence of the states of the properties which are specified + by their names. + + <p>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<com::sun::star::beans::PropertyState> getPropertyStates( + [in] sequence<string> aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + /** sets all properties to their default values. + + <p>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. + </p> + */ + void setAllPropertiesToDefault(); + + //------------------------------------------------------------------------- + /** sets the specified properties to their default values. + + <p>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. </p> + + @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<string> aPropertyNames ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + /** @returns + the default values of the propertes with the specified names. + + <p>If no default exists, is not known, or is void, + then the return type at the corresponding position in the + sequence returned is <atom>void</atom>. </p> + + @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 + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + sequence<any> getPropertyDefaults( + [in] sequence<string> aPropertyNames ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl b/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl new file mode 100644 index 000000000000..15cc7ec68c69 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertiesChangeListener.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * 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_beans_XPropertiesChangeListener_idl__ +#define __com_sun_star_beans_XPropertiesChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyChangeEvent_idl__ +#include <com/sun/star/beans/PropertyChangeEvent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** receives events which get fired whenever a bound property is changed. + */ +published interface XPropertiesChangeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + /** gets called when bound properties are changed. + + @param aEvent + contains a sequence of <type>PropertyChangeEvent</type> objects + which describe the event source and the properites wich have + changed. + */ + void propertiesChange( [in] sequence<com::sun::star::beans::PropertyChangeEvent> aEvent ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl b/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl new file mode 100644 index 000000000000..b2e1096525a2 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertiesChangeNotifier.idl @@ -0,0 +1,71 @@ +/************************************************************************* + * + * 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_beans_XPropertiesChangeNotifier_idl__ +#define __com_sun_star_beans_XPropertiesChangeNotifier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertiesChangeListener_idl__ +#include <com/sun/star/beans/XPropertiesChangeListener.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a notifier for changed property values@see XPropertiesChangeListener + */ +published interface XPropertiesChangeNotifier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** adds an <type>XPropertiesChangeListener</type> to the + specified properties with the specified names. + */ + [oneway] void addPropertiesChangeListener( + [in] sequence<string> PropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener Listener ); + + //------------------------------------------------------------------------- + + /** removes an <type>XPropertiesChangeListener</type> from the + listener list. + */ + [oneway] void removePropertiesChangeListener( + [in] sequence<string> PropertyNames, + [in] com::sun::star::beans::XPropertiesChangeListener Listener ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XProperty.idl b/udkapi/com/sun/star/beans/XProperty.idl new file mode 100644 index 000000000000..789e2f7e48dd --- /dev/null +++ b/udkapi/com/sun/star/beans/XProperty.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * 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_beans_XProperty_idl__ +#define __com_sun_star_beans_XProperty_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** Is implemented by objects that also are a property of + some other object. + + <p> Provides access to traits of this object that would + otherwise only be available from a containing + <type>XPropertySet</type> via its + <type>XPropertySetInfo</type>. + </p> + + */ +published interface XProperty: com::sun::star::uno::XInterface +{ + /** @returns + the specification of this object as <type>Property</type>. + + */ + com::sun::star::beans::Property getAsProperty(); + + //------------------------------------------------------------------------- +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyAccess.idl b/udkapi/com/sun/star/beans/XPropertyAccess.idl new file mode 100644 index 000000000000..993507cb17ab --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyAccess.idl @@ -0,0 +1,100 @@ +/************************************************************************* + * + * 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_beans_XPropertyAccess_idl__ +#define __com_sun_star_beans_XPropertyAccess_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** makes it possible to access all property values and to set them at once. + + <p>In most cases this interface will be in addition to + <type>XPropertySet</type>. It is especially useful for remote + communication because it lessens the number of calls for getting + property values; that is especially important because these calls + are necessarily synchronous. </p> + + <p>Another advantage of this method is that conflicts are avoided + if property value restrictions depend on the value of other properties.</p> + */ +published interface XPropertyAccess: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + a sequence of all property values within the object in a single call. + */ + sequence<com::sun::star::beans::PropertyValue> getPropertyValues(); + + //------------------------------------------------------------------------- + + /** sets the values of given properties. + + <p>All properties which are not contained in the sequence + <var>aProps</var> will be left unchanged.</p> + */ + void setPropertyValues( [in] sequence<com::sun::star::beans::PropertyValue> aProps ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyChangeListener.idl b/udkapi/com/sun/star/beans/XPropertyChangeListener.idl new file mode 100644 index 000000000000..0c54cf39dcef --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyChangeListener.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * 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_beans_XPropertyChangeListener_idl__ +#define __com_sun_star_beans_XPropertyChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyChangeEvent_idl__ +#include <com/sun/star/beans/PropertyChangeEvent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** is used to receive <type>PropertyChangeEvent</type>s + whenever a bound property is changed. + */ +published interface XPropertyChangeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + /** is called when a bound property is changed. + */ + void propertyChange( [in] com::sun::star::beans::PropertyChangeEvent evt ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyContainer.idl b/udkapi/com/sun/star/beans/XPropertyContainer.idl new file mode 100644 index 000000000000..eb70ba48c068 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyContainer.idl @@ -0,0 +1,118 @@ +/************************************************************************* + * + * 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_beans_XPropertyContainer_idl__ +#define __com_sun_star_beans_XPropertyContainer_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_reflection_XIdlClass_idl__ +#include <com/sun/star/reflection/XIdlClass.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyExistException_idl__ +#include <com/sun/star/beans/PropertyExistException.idl> +#endif + +#ifndef __com_sun_star_beans_IllegalTypeException_idl__ +#include <com/sun/star/beans/IllegalTypeException.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_beans_NotRemoveableException_idl__ +#include <com/sun/star/beans/NotRemoveableException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** makes it possible to add and remove properties to or from an object. + + <p>Some scripting engines cannot access properties directly when the + property set is changed. Please use <member>XPropertySet::getPropertyValue</member> + etc. in this case. </p> + */ +published interface XPropertyContainer: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** adds a property to the object. + + @param aName + specifies the name of the new property. + + @param Attributes + specifies the property attributes, see <type>PropertyAttribute</type>. + + @param DefaultValue + specifies the type of the new property and a potential default value. + + @throws PropertyExistException + if a property with the same name already exists. + + @throws IllegalTypeException + if the specified type is not allowed. + + */ + void addProperty( [in] string Name, + [in] short Attributes, + [in] any DefaultValue ) + raises( com::sun::star::beans::PropertyExistException, + com::sun::star::beans::IllegalTypeException, + com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + + /** removes a property from the object. + + @param aName + specified the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + void removeProperty( [in] string Name ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::NotRemoveableException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertySet.idl b/udkapi/com/sun/star/beans/XPropertySet.idl new file mode 100644 index 000000000000..3e9410506e5a --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySet.idl @@ -0,0 +1,217 @@ +/************************************************************************* + * + * 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_beans_XPropertySet_idl__ +#define __com_sun_star_beans_XPropertySet_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySetInfo_idl__ +#include <com/sun/star/beans/XPropertySetInfo.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__ +#include <com/sun/star/beans/XPropertyChangeListener.idl> +#endif + +#ifndef __com_sun_star_beans_XVetoableChangeListener_idl__ +#include <com/sun/star/beans/XVetoableChangeListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides information about and access to the + properties from an implementation. + + <p>There are three types of properties: </p> + + <ul> + <li>bound properties </li> + <li>constrained properties </li> + <li>free properties </li> + </ul> + + <p>You can listen to changes of bound properties with the + <type>XPropertyChangeListener</type> and you can veto changes + of constrained properties with the <type>XVetoableChangeListener</type>. </p> + + <p>To implement inaccurate name access, you must support the + interface <type>XExactName</type>. </p> + + @see com::sun::star::beans::XExactName + */ +published interface XPropertySet: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the <type>XPropertySetInfo</type> interface, which + describes all properties of the object which supplies this + interface. + + @returns + <const>NULL</const> if the implementation cannot or will + not provide information about the properties; otherwise the + interface <type>XPropertySetInfo</type> is returned. + */ + com::sun::star::beans::XPropertySetInfo getPropertySetInfo(); + + //------------------------------------------------------------------------- + + /** sets the value of the property with the specified name. + + <p>If it is a bound property the value will be changed before + the change event is fired. If it is a constrained property + a vetoable event is fired before the property value can be + changed. </p> + + @throws com::sun::star::beans::PropertyVetoException + if the property is read-only or vetoable + and one of the listeners throws this exception + because of an unaccepted new value. + */ + void setPropertyValue( [in] string aPropertyName, + [in] any aValue ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::beans::PropertyVetoException, + com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + the value of the property with the specified name. + + @param PropertyName + This parameter specifies the name of the property. + + @throws UnknownPropertyException + if the property 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 + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + any getPropertyValue( [in] string PropertyName ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** adds an <type>XPropertyChangeListener</type> to the specified property. + + <p>An empty name ("") registers the listener to all bound + properties. If the property is not bound, the behavior is + not specified. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see removePropertyChangeListener + */ + void addPropertyChangeListener( [in] string aPropertyName, + [in] com::sun::star::beans::XPropertyChangeListener xListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** removes an <type>XPropertyChangeListener</type> from + the listener list. + + <p>It is a "noop" if the listener is not registered. </p> + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + + @see addPropertyChangeListener + */ + void removePropertyChangeListener( [in] string aPropertyName, + [in] com::sun::star::beans::XPropertyChangeListener aListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** adds an <type>XVetoableChangeListener</type> to the specified + property with the name PropertyName. + + <p>An empty name ("") registers the listener to all + constrained properties. If the property is not constrained, + the behavior is not specified. </p> + + @see removeVetoableChangeListener + */ + void addVetoableChangeListener( [in] string PropertyName, + [in] com::sun::star::beans::XVetoableChangeListener aListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** removes an <type>XVetoableChangeListener</type> from the + listener list. + + <p>It is a "noop" if the listener is not registered. </p> + + @see addVetoableChangeListener + */ + void removeVetoableChangeListener( [in] string PropertyName, + [in] com::sun::star::beans::XVetoableChangeListener aListener ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertySetInfo.idl b/udkapi/com/sun/star/beans/XPropertySetInfo.idl new file mode 100644 index 000000000000..09484a462cc6 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySetInfo.idl @@ -0,0 +1,102 @@ +/************************************************************************* + * + * 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_beans_XPropertySetInfo_idl__ +#define __com_sun_star_beans_XPropertySetInfo_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_Property_idl__ +#include <com/sun/star/beans/Property.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** specifies a set of properties. + + <p>There are three kinds of properties: + <ul> + <li>bound properties</li> + <li>constrained properties</li> + <li>free properties</li> + </ul> + + <p>The specification only describes the properties, it does not contain + any values.</p> + */ +published interface XPropertySetInfo: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + a sequence with all property descriptors which are specified + within this <type>XPropertySetInfo</type>. + */ + sequence<com::sun::star::beans::Property> getProperties(); + + //------------------------------------------------------------------------- + + /** @returns + the property with the specified name from the object. + + @param aName + specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + com::sun::star::beans::Property getPropertyByName( [in] string aName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + + /** @returns + <TRUE/> if a property with the specified name exist; + otherwise <FALSE/> is returned. + + @param aName + specifies the name of the property. + */ + boolean hasPropertyByName( [in] string Name ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl b/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.idl new file mode 100644 index 000000000000..d740adabf256 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeListener.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_beans_XPropertySetInfoChangeListener_idl__ +#define __com_sun_star_beans_XPropertySetInfoChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_beans_PropertySetInfoChangeEvent_idl__ +#include <com/sun/star/beans/PropertySetInfoChangeEvent.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** a listener for events related to <type>XPropertySetInfo</type>s. + + @see PropertySetInfoChangeEvent + @see XPropertySetInfoChangeNotifier + */ +published interface XPropertySetInfoChangeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + /** is called whenever changes of a <type>XPropertySetInfo</type> shall + be propagated. + */ + void propertySetInfoChange( [in] PropertySetInfoChangeEvent evt ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl b/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl new file mode 100644 index 000000000000..dbad0258eef1 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertySetInfoChangeNotifier.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * 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_beans_XPropertySetInfoChangeNotifier_idl__ +#define __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif +#ifndef __com_sun_star_beans_XPropertySetInfoChangeListener_idl__ +#include <com/sun/star/beans/XPropertySetInfoChangeListener.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** a notifier for changes of <type>XPropertySetInfo</type>s. + + @see PropertySetInfoChangeEvent + @see XPropertySetInfoChangeListener + */ +published interface XPropertySetInfoChangeNotifier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** registers a listener for <type>PropertySetInfoChangeEvent</type>s. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void addPropertySetInfoChangeListener( + [in] XPropertySetInfoChangeListener Listener ); + + //------------------------------------------------------------------------- + + /** removes a listener for <type>PropertySetInfoChangeEvent</type>s. + + <p>It is suggested to allow multiple registration of the same listener, + thus for each time a listener is added, it has to be removed. + */ + void removePropertySetInfoChangeListener( + [in] XPropertySetInfoChangeListener Listener ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyState.idl b/udkapi/com/sun/star/beans/XPropertyState.idl new file mode 100644 index 000000000000..9ac89996aef1 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyState.idl @@ -0,0 +1,150 @@ +/************************************************************************* + * + * 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_beans_XPropertyState_idl__ +#define __com_sun_star_beans_XPropertyState_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + +#ifndef __com_sun_star_beans_UnknownPropertyException_idl__ +#include <com/sun/star/beans/UnknownPropertyException.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyStateChangeListener_idl__ +#include <com/sun/star/beans/XPropertyStateChangeListener.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** makes it possible to query information about the state of + one or more properties. + + <p>The state contains the information if:</p> + <ul> + <li>a value is available or void</li> + <li>the value is stored in the object itself, or if a default value is to be used</li> + <li>and if the value cannot be determined, due to ambiguity + (multi selection with multiple values).</li> + </ul> + */ +published interface XPropertyState: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the state of the property. + + @param aPropertyName + specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + com::sun::star::beans::PropertyState getPropertyState( [in] string PropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + + /** @returns + a sequence of the states of the properties which are specified + by their names. + + <p>The order of the states is correlating to the order of the + given property names. </p> + + @param aPropertyNames + contains the sequence of property names. + + @throws UnknownPropertyException + if one property does not exist. + */ + sequence<com::sun::star::beans::PropertyState> getPropertyStates( + [in] sequence<string> aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + + /** Sets the property to default value. + + <p>The 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. + </p> + + @param aPropertyname + specifies the name of the property. + + @throws UnknownPropertyException + if the property does not exist. + */ + void setPropertyToDefault( [in] string PropertyName ) + raises( com::sun::star::beans::UnknownPropertyException ); + + //------------------------------------------------------------------------- + + /** @returns + the default value of the property with the name PropertyName. + + <p>If no default exists, is not known or is void, + then the return type is <atom>void</atom>. + + @param aPropertyName + specifies the name of the property. + + @throws UnknownPropertyException + if the property 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 + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + any getPropertyDefault( [in] string aPropertyName ) + raises( com::sun::star::beans::UnknownPropertyException, + com::sun::star::lang::WrappedTargetException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl b/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl new file mode 100644 index 000000000000..a3d56571c978 --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyStateChangeListener.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * 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_beans_XPropertyStateChangeListener_idl__ +#define __com_sun_star_beans_XPropertyStateChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyStateChangeEvent_idl__ +#include <com/sun/star/beans/PropertyStateChangeEvent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** receives events which get fired whenever the state of a bound + property is changed. + */ +published interface XPropertyStateChangeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + /** is called when a bound property's state is changed. + + @param aEvent + describes the event source and the property that has changed. + */ + void propertyStateChange( [in] com::sun::star::beans::PropertyStateChangeEvent aEvent ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XPropertyWithState.idl b/udkapi/com/sun/star/beans/XPropertyWithState.idl new file mode 100644 index 000000000000..bdf87545468d --- /dev/null +++ b/udkapi/com/sun/star/beans/XPropertyWithState.idl @@ -0,0 +1,117 @@ +/************************************************************************* + * + * 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_beans_XPropertyWithState_idl__ +#define __com_sun_star_beans_XPropertyWithState_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyState_idl__ +#include <com/sun/star/beans/PropertyState.idl> +#endif + +#ifndef __com_sun_star_lang_WrappedTargetException_idl__ +#include <com/sun/star/lang/WrappedTargetException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** makes it possible to query information about the state of + this object, seen as a property contained in a property set. + + <p> This interface provides direct access to operations + that are available if the containing property set + implements <type>XPropertyState</type>. + </p> + + <p>The state contains the information if:</p> + <ul> + <li>a value is available or void</li> + <li>the value is stored in the object itself, or if a default value is being used</li> + <li>or if the value cannot be determined, due to ambiguity + (multi selection with multiple values).</li> + </ul> + + <p> Generally objects that implement this interface + also implement <type>XProperty</type>. + </p> + */ +published interface XPropertyWithState: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** @returns + the state of this as a property. + */ + com::sun::star::beans::PropertyState getStateAsProperty( ); + + //------------------------------------------------------------------------- + + /** sets this to its default value. + + <p> The value depends on the implementation of this interface. + If this is a bound property, the value changes before + the change events are fired. If this is a constrained property, + the vetoable event is fired before the property value changes. + </p> + + @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 + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + void setToDefaultAsProperty( ) + raises( com::sun::star::lang::WrappedTargetException ); + + //------------------------------------------------------------------------- + + /** @returns + an object representing the default state of this object (as a property). + + <p> If no default exists, is not known or is void, + then the return value is <NULL/>. + </p> + + @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 + <type scope="com::sun::star::lang">WrappedTargetException</type>. + */ + com::sun::star::uno::XInterface getDefaultAsProperty( ) + raises( com::sun::star::lang::WrappedTargetException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl b/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl new file mode 100644 index 000000000000..6f17b8cc748c --- /dev/null +++ b/udkapi/com/sun/star/beans/XTolerantMultiPropertySet.idl @@ -0,0 +1,164 @@ +/************************************************************************* + * + * 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_beans_XTolerantMultiPropertySet_idl__ +#define __com_sun_star_beans_XTolerantMultiPropertySet_idl__ + + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_GetDirectPropertyTolerantResult_idl__ +#include <com/sun/star/beans/GetDirectPropertyTolerantResult.idl> +#endif + +#ifndef __com_sun_star_beans_GetPropertyTolerantResult_idl__ +#include <com/sun/star/beans/GetPropertyTolerantResult.idl> +#endif + +#ifndef __com_sun_star_beans_SetPropertyTolerantFailed_idl__ +#include <com/sun/star/beans/SetPropertyTolerantFailed.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** provides access to multiple iformation of + a set of properties with a single call. + + <p>The speciality of this interface is that none of the functions + will throw the usual exceptions associated with setting and retrieving + of property values. Instead the data for the failures is collected and + returned.</p> + + <p>Note: There is no support for property change listeners in this + interface.</p> + + @see com::sun::star::beans::XPropertySet + @see com::sun::star::beans::XMultiPropertySet + */ +published interface XTolerantMultiPropertySet : com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** sets the values to the properties with the specified names. + + @param aPropertyNames + specifies the names of the properties. + The property names must be sorted ascending. + + <p>If the names are not sorted the behaviour of the method + is undefined!</p> + + @param aPropertyValues + specifies the values of the properties. + The order of the values has to be the same as in the + <var>aPropertyNames</var> parameter int order to match + the property name with its value. + + @returns + An empty sequence if all properties are successfull set. + + Otherwise for every property value that could not successfully + be set an entry of the + <type scope="com::sun::star::beans">SetPropertyTolerantFailed</type> + will be present in this sequence. + The order of the properties is also alphabetically ascending. + + @throws IllegalArgumentException + if the number of property names and values do not match. + + */ + sequence< com::sun::star::beans::SetPropertyTolerantFailed > setPropertyValuesTolerant( + [in] sequence< string > aPropertyNames, + [in] sequence< any > aValues ) + raises( com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + + /** retrieve the values of the specified properties + + <p>The count and order of the values in the returned sequence + will be the same as the order of the names in the argument.</p> + + @param aPropertyNames + specifies the names of the properties. + The property names must be sorted ascending. + + <p>If the names are not sorted the behaviour of the method + is undefined!</p> + + @returns + a sequence of type + <type scope="com::sun::star::beans">GetPropertyTolerantResult</type> + for each of the properties listed in <var>aPropertyNames</var>. + */ + sequence< com::sun::star::beans::GetPropertyTolerantResult > getPropertyValuesTolerant( + [in] sequence< string > aPropertyNames ); + + + //------------------------------------------------------------------------- + + /** retrieve only those values of the specified properties which + are direct values. + + <p>Since the count of returned elements may be different from + the number of supplied property names the returned elements + will also state the name of the property.</p> + + @param aPropertyNames + specifies the names of the properties. + The property names must be sorted ascending. + + <p>If the names are not sorted the behaviour of the method + is undefined!</p> + + @returns + a sequence of type + <type scope="com::sun::star::beans">GetDirectPropertyTolerantResult</type> + but only for those properties supplied whoms state is + <member scope="com::sun::star::beans::PropertyState">DIRECT_VALUE</member>. + */ + sequence< com::sun::star::beans::GetDirectPropertyTolerantResult > getDirectPropertyValuesTolerant( + [in] sequence< string > aPropertyNames ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/udkapi/com/sun/star/beans/XVetoableChangeListener.idl b/udkapi/com/sun/star/beans/XVetoableChangeListener.idl new file mode 100644 index 000000000000..674cbc3c9496 --- /dev/null +++ b/udkapi/com/sun/star/beans/XVetoableChangeListener.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * 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_beans_XVetoableChangeListener_idl__ +#define __com_sun_star_beans_XVetoableChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyChangeEvent_idl__ +#include <com/sun/star/beans/PropertyChangeEvent.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyVetoException_idl__ +#include <com/sun/star/beans/PropertyVetoException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module beans { + +//============================================================================= + +/** is used to receive <type>PropertyChangeEvent</type>s + whenever a "constrained" property is changed. + + <p>You can register an <type>XVetoableChangeListener</type> with + a source object so as to be notified of any constrained property updates.</p> + */ +published interface XVetoableChangeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + + /** gets called when a constrained property is changed. + */ + void vetoableChange( [in] com::sun::star::beans::PropertyChangeEvent aEvent ) + raises( com::sun::star::beans::PropertyVetoException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/udkapi/com/sun/star/beans/makefile.mk b/udkapi/com/sun/star/beans/makefile.mk new file mode 100644 index 000000000000..8e5aba61f382 --- /dev/null +++ b/udkapi/com/sun/star/beans/makefile.mk @@ -0,0 +1,101 @@ +#************************************************************************* +# +# 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=api + +TARGET=cssbeans +PACKAGE=com$/sun$/star$/beans + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + Ambiguous.idl\ + Defaulted.idl\ + GetDirectPropertyTolerantResult.idl\ + GetPropertyTolerantResult.idl\ + IllegalTypeException.idl\ + Introspection.idl\ + IntrospectionException.idl\ + MethodConcept.idl\ + NamedValue.idl\ + NotRemoveableException.idl\ + Optional.idl\ + Pair.idl\ + Property.idl\ + PropertyAttribute.idl\ + PropertyBag.idl\ + PropertyChangeEvent.idl\ + PropertyConcept.idl\ + PropertyExistException.idl\ + PropertySet.idl\ + PropertySetInfoChange.idl\ + PropertySetInfoChangeEvent.idl\ + PropertyState.idl\ + PropertyStateChangeEvent.idl\ + PropertyValue.idl\ + PropertyValues.idl\ + PropertyVetoException.idl\ + SetPropertyTolerantFailed.idl\ + StringPair.idl\ + TolerantPropertySetResultType.idl\ + UnknownPropertyException.idl\ + XExactName.idl\ + XFastPropertySet.idl\ + XHierarchicalPropertySet.idl\ + XHierarchicalPropertySetInfo.idl\ + XIntrospection.idl\ + XIntrospectionAccess.idl\ + XIntroTest.idl\ + XMaterialHolder.idl\ + XMultiPropertySet.idl\ + XMultiPropertyStates.idl\ + XMultiHierarchicalPropertySet.idl\ + XPropertiesChangeListener.idl\ + XPropertiesChangeNotifier.idl\ + XProperty.idl\ + XPropertyAccess.idl\ + XPropertyChangeListener.idl\ + XPropertyContainer.idl\ + XPropertySet.idl\ + XPropertySetInfo.idl\ + XPropertySetInfoChangeListener.idl\ + XPropertySetInfoChangeNotifier.idl\ + XPropertyState.idl\ + XPropertyStateChangeListener.idl\ + XPropertyWithState.idl\ + XTolerantMultiPropertySet.idl\ + XVetoableChangeListener.idl\ + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk |