diff options
Diffstat (limited to 'offapi/com/sun/star/report/meta')
4 files changed, 259 insertions, 0 deletions
diff --git a/offapi/com/sun/star/report/meta/XFormulaParser.idl b/offapi/com/sun/star/report/meta/XFormulaParser.idl new file mode 100644 index 000000000..e8c756975 --- /dev/null +++ b/offapi/com/sun/star/report/meta/XFormulaParser.idl @@ -0,0 +1,60 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_report_meta_XFormulaParser_idl__ +#define __com_sun_star_report_meta_XFormulaParser_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/lang/DisposedException.idl> +#include <com/sun/star/sheet/XFormulaParser.idl> +#include <com/sun/star/sheet/FormulaOpCodeMapEntry.idl> +#include <com/sun/star/sheet/XFormulaOpCodeMapper.idl> +#include <com/sun/star/beans/XPropertySet.idl> +module com { module sun { module star { module report { module meta { +/** identifies a XFormulaParser which allows to retrieve the meta data of all supported functions. + +*/ +interface XFormulaParser +{ + /** allows life-time control of report engine. + */ + interface com::sun::star::lang::XComponent; + + interface com::sun::star::sheet::XFormulaParser; + + /** gives access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + /** The complete mapping of Names to OpCodes. + + Names and symbols not defined here lead to a parser/print error. + */ + [attribute] sequence< com::sun::star::sheet::FormulaOpCodeMapEntry > OpCodeMap; + + /** return the mapper for op codes. + */ + [attribute,readonly] com::sun::star::sheet::XFormulaOpCodeMapper FormulaOpCodeMapper; +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/report/meta/XFunctionCategory.idl b/offapi/com/sun/star/report/meta/XFunctionCategory.idl new file mode 100644 index 000000000..d01029cf0 --- /dev/null +++ b/offapi/com/sun/star/report/meta/XFunctionCategory.idl @@ -0,0 +1,64 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_report_meta_XFunctionCategory_idl__ +#define __com_sun_star_report_meta_XFunctionCategory_idl__ + +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/lang/DisposedException.idl> +#include <com/sun/star/beans/XPropertySet.idl> + +module com { module sun { module star { module report { module meta { + +interface XFunctionDescription; +/** identifies a XFunctionCategory which allows to retrieve the meta data of all supported functions. + +*/ + +interface XFunctionCategory +{ + /** gives access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + /** gives access to all categories + */ + interface com::sun::star::container::XIndexAccess; + + /** same as getByIndex. + @see com.sun.star.container.XIndexAccess + */ + XFunctionDescription getFunction([in] long position) + raises( com::sun::star::lang::IndexOutOfBoundsException, + com::sun::star::lang::WrappedTargetException ); + + /** returns the localized category's name. + */ + [attribute,readonly] string Name; + + /** specifies the category number. + */ + [attribute,readonly] long Number; +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/report/meta/XFunctionDescription.idl b/offapi/com/sun/star/report/meta/XFunctionDescription.idl new file mode 100644 index 000000000..30b2f89f7 --- /dev/null +++ b/offapi/com/sun/star/report/meta/XFunctionDescription.idl @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_report_meta_XFunctionDescription_idl__ +#define __com_sun_star_report_meta_XFunctionDescription_idl__ + +#include <com/sun/star/lang/DisposedException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/sheet/FunctionArgument.idl> +module com { module sun { module star { module report { module meta { + +interface XFunctionCategory; + +/** identifies a XFunctionDescription which allows to retrieve the meta data of all supported functions. + +*/ +interface XFunctionDescription +{ + /** gives access to the properties. + */ + interface com::sun::star::beans::XPropertySet; + + string createFormula([in] sequence< string > arguments ) + raises( ::com::sun::star::lang::DisposedException, + com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::uno::Exception ); + + /** specifies the category number. + */ + [attribute,readonly] XFunctionCategory Category; + + /** returns the localized function's name. + */ + [attribute,readonly] string Name; + + + /** returns a localized description of the function. + */ + [attribute,readonly] string Description; + + /** returns the signature of the function. + */ + [attribute,readonly] string Signature; + + + /** returns a sequence of localized descriptions of the function's + arguments (in the order specified by the function). + */ + [attribute,readonly] sequence< com::sun::star::sheet::FunctionArgument > Arguments; +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/offapi/com/sun/star/report/meta/XFunctionManager.idl b/offapi/com/sun/star/report/meta/XFunctionManager.idl new file mode 100644 index 000000000..ccfa752c8 --- /dev/null +++ b/offapi/com/sun/star/report/meta/XFunctionManager.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_report_meta_XFunctionManager_idl__ +#define __com_sun_star_report_meta_XFunctionManager_idl__ + +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/lang/DisposedException.idl> +#include <com/sun/star/report/meta/XFunctionCategory.idl> +#include <com/sun/star/report/meta/XFunctionDescription.idl> + +module com { module sun { module star { module report { module meta { +/** identifies a XFunctionManager which allows to retrieve the meta data of all supported functions. + +*/ +interface XFunctionManager +{ + /** allows life-time control of report engine. + */ + interface com::sun::star::lang::XComponent; + /** gives access to all categories + */ + interface com::sun::star::container::XIndexAccess; + + /** same as getByIndex. + @param position The position. + @see com.sun.star.container.XIndexAccess + */ + XFunctionCategory getCategory([in] long position) + raises( com::sun::star::lang::IndexOutOfBoundsException, + com::sun::star::lang::WrappedTargetException ); + + /** get the function description by name + @param name the name of the function + */ + XFunctionDescription getFunctionByName([in] string name) + raises( com::sun::star::container::NoSuchElementException); +}; + + +}; }; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |