From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- offapi/com/sun/star/frame/XDocumentTemplates.idl | 195 +++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 offapi/com/sun/star/frame/XDocumentTemplates.idl (limited to 'offapi/com/sun/star/frame/XDocumentTemplates.idl') diff --git a/offapi/com/sun/star/frame/XDocumentTemplates.idl b/offapi/com/sun/star/frame/XDocumentTemplates.idl new file mode 100644 index 000000000..ccac1af0f --- /dev/null +++ b/offapi/com/sun/star/frame/XDocumentTemplates.idl @@ -0,0 +1,195 @@ +/* -*- 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_frame_XDocumentTemplates_idl__ +#define __com_sun_star_frame_XDocumentTemplates_idl__ + +#include +#include + + +module com { module sun { module star { module frame { + +/** provides a high level API to organize document templates + +

+ Template information is saved as links to the original content + and organized in groups. This data should be persistent and can be + updated by calling special method XDocumentTemplates::update(). + A real implementation of this interface can do that on top of + a ucb content provider. Method XDocumentTemplates::getContent() + force that. +

+ */ +published interface XDocumentTemplates: com::sun::star::uno::XInterface +{ + /** provides access to the root of internal used hierarchy + +

+ This content can be used for accessing the groups directly. +

+ + @return + the ucb content for template configuration + */ + com::sun::star::ucb::XContent getContent(); + + /** creates the template with the given name in the given group using the + data from the storable + + @param GroupName + specifies the group + + @param TemplateName + specifies the template + + @param Storable + specifies the target + + @return + `TRUE` if operation was successful +
+ `FALSE` otherwise + + @see XDocumentTemplates::addTemplate() + */ + boolean storeTemplate( + [in] string GroupName, + [in] string TemplateName, + [in] XStorable Storable); + + /** creates the template with the given name in the given group using the + given URL + + @param GroupName + specifies the group + + @param TemplateName + specifies the template + + @param SourceURL + specifies the position of template + + @return + `TRUE` if operation was successful +
+ `FALSE` otherwise + + @see XDocumentTemplates::storeTemplate() + */ + boolean addTemplate( + [in] string GroupName, + [in] string TemplateName, + [in] string SourceURL); + + /** remove a template from specified group + + @param GroupName + specifies the group which include the template + + @param TemplateName + specifies the template for delete + + @return + `TRUE` if operation was successful +
+ `FALSE` otherwise + */ + boolean removeTemplate( + [in] string GroupName, + [in] string TemplateName); + + /** rename a template inside specified group + + @param GroupName + specifies the group which include the template + + @param OldTemplateName + specifies the template for renaming + + @param NewTemplateName + specifies the new name for the template + + @return + `TRUE` if operation was successful +
+ `FALSE` otherwise + */ + boolean renameTemplate( + [in] string GroupName, + [in] string OldTemplateName, + [in] string NewTemplateName); + + /** creates a new group + + @param GroupName + the name of the group to be created + + @return + `TRUE` if operation was successful +
+ `FALSE` otherwise + */ + boolean addGroup( [in] string GroupName ); + + /** remove an existing group + + @param GroupName + the name of the group to be removed + + @return + `TRUE` if operation was successful +
+ `FALSE` otherwise + */ + boolean removeGroup( [in] string GroupName ); + + /** rename an existing group + + @param OldGroupName + the old name of the group + + @param NewGroupName + the new name of the group + + @return + `TRUE` if operation was successful +
+ `FALSE` otherwise + */ + boolean renameGroup( + [in] string OldGroupName, + [in] string NewGroupName); + + /** force an update for internal structures + +

+ Because the templates are well known by links and not as direct content + they can be outdated. An update force actualization of that to find + wrong links. +

+ */ + void update(); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3