Update ooo320-m1
[ooovba.git] / offapi / com / sun / star / document / OfficeDocument.idl
blobd93bb4d66f9801fde339c677d4a0def70084cb67
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: OfficeDocument.idl,v $
10 * $Revision: 1.17.12.2 $
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_document_OfficeDocument_idl__
31 #define __com_sun_star_document_OfficeDocument_idl__
33 #ifndef __com_sun_star_frame_XModel_idl__
34 #include <com/sun/star/frame/XModel.idl>
35 #endif
37 #ifndef __com_sun_star_util_XModifiable_idl__
38 #include <com/sun/star/util/XModifiable.idl>
39 #endif
41 #ifndef __com_sun_star_frame_XStorable_idl__
42 #include <com/sun/star/frame/XStorable.idl>
43 #endif
45 #ifndef __com_sun_star_view_XPrintable_idl__
46 #include <com/sun/star/view/XPrintable.idl>
47 #endif
49 #ifndef __com_sun_star_view_XPrintJobBroadcaster_idl__
50 #include <com/sun/star/view/XPrintJobBroadcaster.idl>
51 #endif
53 #ifndef __com_sun_star_document_XEventBroadcaster_idl__
54 #include <com/sun/star/document/XEventBroadcaster.idl>
55 #endif
57 #ifndef __com_sun_star_document_XEventsSupplier_idl__
58 #include <com/sun/star/document/XEventsSupplier.idl>
59 #endif
61 #ifndef __com_sun_star_document_XDocumentInfoSupplier_idl__
62 #include <com/sun/star/document/XDocumentInfoSupplier.idl>
63 #endif
65 #ifndef __com_sun_star_document_XViewDataSupplier_idl__
66 #include <com/sun/star/document/XViewDataSupplier.idl>
67 #endif
69 #ifndef __com_sun_star_document_XDocumentEventBroadcaster_idl__
70 #include <com/sun/star/document/XDocumentEventBroadcaster.idl>
71 #endif
73 #ifndef __com_sun_star_document_XEmbeddedScripts_idl__
74 #include <com/sun/star/document/XEmbeddedScripts.idl>
75 #endif
77 //=============================================================================
79 module com { module sun { module star { module document {
81 //=============================================================================
82 /** abstract service which specifies a storable and printable document
84 <p>
85 All major document-like components should support this service
86 instead of simple components which supports a <type scope="com::sun::star::frame">Controller</type>
87 or pure <type scope="com::sun::star::awt">XWindow</type> only.
88 </p>
90 @see com::sun::star::frame::Controller
92 published service OfficeDocument
94 //-------------------------------------------------------------------------
95 /** represents a component which is created from an URL and arguments
97 <p>
98 It is a representation of a resource in the sense that it was
99 created/loaded from the resource. The arguments are passed to the loader
100 to modify its behavior.
101 </p>
103 interface com::sun::star::frame::XModel;
105 //-------------------------------------------------------------------------
106 /** a storable document should provide information about his modify state
109 With this interface it's possible too, to reset the modify state.
110 That can be neccessary to prevent code against problem during closing
111 of the document without saving any changes.
112 </p>
114 interface com::sun::star::util::XModifiable;
116 //-------------------------------------------------------------------------
117 /** offers a simple way to store a component to an URL
120 This interface supports functionality
121 <ul>
122 <li>to make a copy of current component by saving it to another location</li>
123 <li>to commit made changes</li>
124 <li>to convert it by saving it by using suitable filter name.</li>
125 </ul>
126 </p>
128 interface com::sun::star::frame::XStorable;
130 //-------------------------------------------------------------------------
131 /** offers a way to print a component
134 It's possible to specify wich printer should be used and of course
135 print the document on it.
136 </p>
138 interface com::sun::star::view::XPrintable;
140 //-------------------------------------------------------------------------
141 /** is an old and deprecated version of the <type>XDocumentEventBroadcaster</type> interface
142 @deprecated
144 [optional] interface XEventBroadcaster;
146 //-------------------------------------------------------------------------
147 /** makes it possible to register listeners which are called whenever
148 a document event occurs
150 [optional] interface XDocumentEventBroadcaster;
152 //-------------------------------------------------------------------------
153 /** access to bound event handlers
155 [optional] interface XEventsSupplier;
157 //-------------------------------------------------------------------------
158 /** document can provide a <type>DocumentInfo</type>
161 Instead of the <type>StandaloneDocumentInfo</type> service the <type>DocumentInfo</type>
162 will be available on an already opened document only.
163 </p>
165 [optional] interface XDocumentInfoSupplier;
167 //-------------------------------------------------------------------------
168 /** access to some properties describing all open views to a document
170 [optional] interface XViewDataSupplier;
172 //-------------------------------------------------------------------------
173 /** allows for getting information about a print job
175 @since OOo 1.1.2
177 [optional] interface com::sun::star::view::XPrintJobBroadcaster;
179 /** is supported when the document can contain scripts and dialogs
181 @since OOo 2.4
183 [optional] interface XEmbeddedScripts;
185 //-------------------------------------------------------------------------
186 /** controls the focus behaviour of the form controls in the document
189 If this flag is set to <TRUE/>, any view belonging to the document
190 should focus the first control in the document. With this, you may
191 control if your document works primarily as a form document.
192 </p>
194 [property, optional] boolean AutomaticControlFocus;
196 //-------------------------------------------------------------------------
197 /** controls the initial (on-load) behavior of the form controls in the document
199 <p>If set to <TRUE/>, upon loading the document, the form controls will be in design mode.<br/>
200 If set to <FALSE/>, they will be alive, i.e. operational.<br/>
201 With this, you may control if your document works primarily as a form document.
202 </p>
204 [property, optional] boolean ApplyFormDesignMode;
206 //-------------------------------------------------------------------------
207 /** contains a unique id for the document
209 <p>Once calculated, the id must not change until the document has been
210 closed. Upon closing it will not be made persistent. Thus, the document
211 may get a different id every time it gets loaded.</p>
213 [property, optional, readonly] string RuntimeUID;
216 //=============================================================================
218 }; }; }; };
220 #endif