1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: DocumentContainer.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_sdb_DocumentContainer_idl__
31 #define __com_sun_star_sdb_DocumentContainer_idl__
33 #ifndef __com_sun_star_sdb_DefinitionContainer_idl__
34 #include
<com
/sun
/star
/sdb
/DefinitionContainer.idl
>
36 #ifndef __com_sun_star_sdb_DefinitionContent_idl__
37 #include
<com
/sun
/star
/sdb
/DefinitionContent.idl
>
41 module com
{ module sun
{ module star
{ module lang
{
42 published
interface XMultiServiceFactory
;
45 module com
{ module sun
{ module star
{ module frame
{
46 published
interface XComponentLoader
;
49 module com
{ module sun
{ module star
{ module container
{
50 published
interface XHierarchicalNameContainer
;
54 module com
{ module sun
{ module star
{ module sdb
{
57 /** describes a container which provides access to documents embedded into a database document,
58 usually forms and reports.
60 <p>The <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member>
61 should be used to create sub document container or form, or report objects.</p>
63 <p>The embedded documents do not support any particular database related service, instead, they're
64 usual <type scope="com::sun::star::document">OfficeDocument</type>s.<br/>
65 The only thing worth mentioning here is that they support the
66 <type scope="com::sun::star::container">XChild</type> interface, whose
67 <member scope="com::sun::star::container">XChild::getParent</member> method can be used to
68 obtain the database document which the embedded document belongs to.
71 @see DocumentDefinition
72 @see OfficeDatabaseDocument
74 service DocumentContainer
76 service DefinitionContainer
;
78 /** provides functionality for treating the container as part of a hierarchy
79 of a database document's sub documents.
81 <p>The <member scope="com::sun::star::ucb">XCommandProcessor::execute</member> method
82 of a <code>DocumentDefinition</code> supports at least the following commands, additionally to
83 the ones already supported by the DefinitionContent:
85 <li><strong>open</strong>: provides a <type scope="com::sun::star::ucb::">XDynamicResultSet</type>
86 to enumerate the content of the document container.</li>
87 <li><strong>delete</strong>: deletes the document container, including all contained documents.</li>
90 service DefinitionContent
;
92 /** can be used to load the document inside.
94 URL: describes the name of the document definition to load,
95 TargetFrameName: isn't used.
96 SearchFlags: isn't used.
99 <li>PropertyValue</li>
100 Name = ActiveConnection
101 Value = The connection which should be used when opening the text document.
102 <li>PropertyValue</li>
104 Value = string, "open" if the document should be opened in live mode (editing is not possible),
105 "openDesign" if the document should be open in design mode (editing is possible)
107 @see com::sun::star::sdbc::XConnection
110 interface com
::sun
::star
::frame
::XComponentLoader
;
112 /** can be used to create container elements.
114 If this interface is supported, the object created using it (e.g., the object returned by
115 <method scope="com.sun.star.lang">XMultiServiceFactory::createInstanceWithArguments()</method>
116 ) can be used as container elements.
119 interface com
::sun
::star
::lang
::XMultiServiceFactory
;
121 /** can be used to create folder hierarchies and to organize forms or reports in different sub folders.
123 interface com
::sun
::star
::container
::XHierarchicalNameContainer
;
126 //=============================================================================
130 /*===========================================================================
131 ===========================================================================*/