1d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10d1766043SAndrew Rist *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12d1766043SAndrew Rist *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19d1766043SAndrew Rist *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_document_OfficeDocument_idl__
24cdf0e10cSrcweir#define __com_sun_star_document_OfficeDocument_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#include <com/sun/star/frame/XModel.idl>
27cdf0e10cSrcweir#include <com/sun/star/util/XModifiable.idl>
28cdf0e10cSrcweir#include <com/sun/star/frame/XStorable.idl>
29cdf0e10cSrcweir#include <com/sun/star/view/XPrintable.idl>
30cdf0e10cSrcweir#include <com/sun/star/view/XPrintJobBroadcaster.idl>
31cdf0e10cSrcweir#include <com/sun/star/document/XEventBroadcaster.idl>
32cdf0e10cSrcweir#include <com/sun/star/document/XEventsSupplier.idl>
33cdf0e10cSrcweir#include <com/sun/star/document/XDocumentInfoSupplier.idl>
34cdf0e10cSrcweir#include <com/sun/star/document/XViewDataSupplier.idl>
35cdf0e10cSrcweir#include <com/sun/star/document/XDocumentEventBroadcaster.idl>
36cdf0e10cSrcweir#include <com/sun/star/document/XEmbeddedScripts.idl>
37cdf0e10cSrcweir#include <com/sun/star/document/XDocumentPropertiesSupplier.idl>
38cdf0e10cSrcweir#include <com/sun/star/document/XUndoManagerSupplier.idl>
39cdf0e10cSrcweir
40cdf0e10cSrcweir//=============================================================================
41cdf0e10cSrcweir
42cdf0e10cSrcweirmodule com {   module sun {   module star {   module document {
43cdf0e10cSrcweir
44cdf0e10cSrcweir//=============================================================================
45cdf0e10cSrcweir/** abstract service which specifies a storable and printable document
46cdf0e10cSrcweir
47cdf0e10cSrcweir    <p>
48cdf0e10cSrcweir    All major document-like components should support this service
49cdf0e10cSrcweir    instead of simple components which supports a <type scope="com::sun::star::frame">Controller</type>
50cdf0e10cSrcweir    or pure <type scope="com::sun::star::awt">XWindow</type> only.
51cdf0e10cSrcweir    </p>
52cdf0e10cSrcweir
53cdf0e10cSrcweir    @see com::sun::star::frame::Controller
54cdf0e10cSrcweir */
55cdf0e10cSrcweirpublished service OfficeDocument
56cdf0e10cSrcweir{
57cdf0e10cSrcweir    //-------------------------------------------------------------------------
58cdf0e10cSrcweir    /** represents a component which is created from an URL and arguments
59cdf0e10cSrcweir
60cdf0e10cSrcweir        <p>
61cdf0e10cSrcweir        It is a representation of a resource in the sense that it was
62cdf0e10cSrcweir        created/loaded from the resource. The arguments are passed to the loader
63cdf0e10cSrcweir        to modify its behavior.
64cdf0e10cSrcweir        </p>
65cdf0e10cSrcweir     */
66cdf0e10cSrcweir    interface com::sun::star::frame::XModel;
67cdf0e10cSrcweir
68cdf0e10cSrcweir    //-------------------------------------------------------------------------
69cdf0e10cSrcweir    /** a storable document should provide information about his modify state
70cdf0e10cSrcweir
71cdf0e10cSrcweir        <p>
72cdf0e10cSrcweir        With this interface it's possible too, to reset the modify state.
73cdf0e10cSrcweir        That can be neccessary to prevent code against problem during closing
74cdf0e10cSrcweir        of the document without saving any changes.
75cdf0e10cSrcweir        </p>
76cdf0e10cSrcweir     */
77cdf0e10cSrcweir    interface com::sun::star::util::XModifiable;
78cdf0e10cSrcweir
79cdf0e10cSrcweir    //-------------------------------------------------------------------------
80cdf0e10cSrcweir    /** offers a simple way to store a component to an URL
81cdf0e10cSrcweir
82cdf0e10cSrcweir        <p>
83cdf0e10cSrcweir        This interface supports functionality
84cdf0e10cSrcweir        <ul>
85cdf0e10cSrcweir            <li>to make a copy of current component by saving it to another location</li>
86cdf0e10cSrcweir            <li>to commit made changes</li>
87cdf0e10cSrcweir            <li>to convert it by saving it by using suitable filter name.</li>
88cdf0e10cSrcweir        </ul>
89cdf0e10cSrcweir        </p>
90cdf0e10cSrcweir     */
91cdf0e10cSrcweir	interface com::sun::star::frame::XStorable;
92cdf0e10cSrcweir
93cdf0e10cSrcweir    //-------------------------------------------------------------------------
94cdf0e10cSrcweir    /** offers a way to print a component
95cdf0e10cSrcweir
96cdf0e10cSrcweir        <p>
97cdf0e10cSrcweir        It's possible to specify wich printer should be used and of course
98cdf0e10cSrcweir        print the document on it.
99cdf0e10cSrcweir        </p>
100cdf0e10cSrcweir     */
101cdf0e10cSrcweir	interface com::sun::star::view::XPrintable;
102cdf0e10cSrcweir
103cdf0e10cSrcweir    //-------------------------------------------------------------------------
104cdf0e10cSrcweir    /** is an old and deprecated version of the <type>XDocumentEventBroadcaster</type> interface
105cdf0e10cSrcweir        @deprecated
106cdf0e10cSrcweir     */
107cdf0e10cSrcweir    [optional] interface XEventBroadcaster;
108cdf0e10cSrcweir
109cdf0e10cSrcweir    //-------------------------------------------------------------------------
110cdf0e10cSrcweir    /** makes it possible to register listeners which are called whenever
111cdf0e10cSrcweir        a document event occurs
112cdf0e10cSrcweir     */
113cdf0e10cSrcweir    [optional] interface XDocumentEventBroadcaster;
114cdf0e10cSrcweir
115cdf0e10cSrcweir    //-------------------------------------------------------------------------
116cdf0e10cSrcweir    /** access to bound event handlers
117cdf0e10cSrcweir	 */
118cdf0e10cSrcweir	[optional] interface XEventsSupplier;
119cdf0e10cSrcweir
120cdf0e10cSrcweir    //-------------------------------------------------------------------------
121cdf0e10cSrcweir    /** document can provide a <type>DocumentInfo</type>
122cdf0e10cSrcweir
123cdf0e10cSrcweir        <p>
124cdf0e10cSrcweir        Instead of the <type>StandaloneDocumentInfo</type> service the <type>DocumentInfo</type>
125cdf0e10cSrcweir        will be available on an already opened document only.
126cdf0e10cSrcweir        </p>
127cdf0e10cSrcweir
128cdf0e10cSrcweir        @deprecated     Use <type>XDocumentPropertiesSupplier</type> instead.
129cdf0e10cSrcweir	 */
130cdf0e10cSrcweir    [optional] interface XDocumentInfoSupplier;
131cdf0e10cSrcweir
132cdf0e10cSrcweir    //-------------------------------------------------------------------------
133cdf0e10cSrcweir    /** access to some properties describing all open views to a document
134cdf0e10cSrcweir	 */
135cdf0e10cSrcweir    [optional] interface XViewDataSupplier;
136cdf0e10cSrcweir
137cdf0e10cSrcweir    //-------------------------------------------------------------------------
138cdf0e10cSrcweir    /** allows for getting information about a print job
139cdf0e10cSrcweir
140*34c958abSJürgen Schmidt        @since OpenOffice 1.1.2
141cdf0e10cSrcweir	 */
142cdf0e10cSrcweir    [optional] interface com::sun::star::view::XPrintJobBroadcaster;
143cdf0e10cSrcweir
144cdf0e10cSrcweir    /** is supported when the document can contain scripts and dialogs
145cdf0e10cSrcweir
146*34c958abSJürgen Schmidt        @since OpenOffice 2.4
147cdf0e10cSrcweir    */
148cdf0e10cSrcweir    [optional] interface XEmbeddedScripts;
149cdf0e10cSrcweir
150cdf0e10cSrcweir    //-------------------------------------------------------------------------
151cdf0e10cSrcweir    /** access to the <type>DocumentProperties</type>.
152cdf0e10cSrcweir
153*34c958abSJürgen Schmidt        @since OpenOffice 3.0
154cdf0e10cSrcweir     */
155cdf0e10cSrcweir    [optional] interface XDocumentPropertiesSupplier;
156cdf0e10cSrcweir
157cdf0e10cSrcweir    /** provides access to the document's undo manager.
158cdf0e10cSrcweir    */
159cdf0e10cSrcweir    [optional] interface XUndoManagerSupplier;
160cdf0e10cSrcweir
161cdf0e10cSrcweir    //-------------------------------------------------------------------------
162cdf0e10cSrcweir	/** controls the focus behaviour of the form controls in the document
163cdf0e10cSrcweir
164cdf0e10cSrcweir        <p>
165cdf0e10cSrcweir        If this flag is set to <TRUE/>, any view belonging to the document
166cdf0e10cSrcweir        should focus the first control in the document. With this, you may
167cdf0e10cSrcweir        control if your document works primarily as a form document.
168cdf0e10cSrcweir        </p>
169cdf0e10cSrcweir	*/
170cdf0e10cSrcweir	[property, optional] boolean AutomaticControlFocus;
171cdf0e10cSrcweir
172cdf0e10cSrcweir    //-------------------------------------------------------------------------
173cdf0e10cSrcweir	/** controls the initial (on-load) behavior of the form controls in the document
174cdf0e10cSrcweir
175cdf0e10cSrcweir        <p>If set to <TRUE/>, upon loading the document, the form controls will be in design mode.<br/>
176cdf0e10cSrcweir		If set to <FALSE/>, they will be alive, i.e. operational.<br/>
177cdf0e10cSrcweir        With this, you may control if your document works primarily as a form document.
178cdf0e10cSrcweir        </p>
179cdf0e10cSrcweir	*/
180cdf0e10cSrcweir	[property, optional] boolean ApplyFormDesignMode;
181cdf0e10cSrcweir
182cdf0e10cSrcweir    //-------------------------------------------------------------------------
183cdf0e10cSrcweir    /** contains a unique id for the document
184cdf0e10cSrcweir
185cdf0e10cSrcweir        <p>Once calculated, the id must not change until the document has been
186cdf0e10cSrcweir        closed. Upon closing it will not be made persistent. Thus, the document
187cdf0e10cSrcweir        may get a different id every time it gets loaded.</p>
188cdf0e10cSrcweir    */
189cdf0e10cSrcweir    [property, optional, readonly] string RuntimeUID;
190cdf0e10cSrcweir};
191cdf0e10cSrcweir
192cdf0e10cSrcweir//=============================================================================
193cdf0e10cSrcweir
194cdf0e10cSrcweir}; }; }; };
195cdf0e10cSrcweir
196cdf0e10cSrcweir#endif
197