/************************************************************** * * 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 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef __com_sun_star_document_OfficeDocument_idl__ #define __com_sun_star_document_OfficeDocument_idl__ #include <com/sun/star/frame/XModel.idl> #include <com/sun/star/util/XModifiable.idl> #include <com/sun/star/frame/XStorable.idl> #include <com/sun/star/view/XPrintable.idl> #include <com/sun/star/view/XPrintJobBroadcaster.idl> #include <com/sun/star/document/XEventBroadcaster.idl> #include <com/sun/star/document/XEventsSupplier.idl> #include <com/sun/star/document/XDocumentInfoSupplier.idl> #include <com/sun/star/document/XViewDataSupplier.idl> #include <com/sun/star/document/XDocumentEventBroadcaster.idl> #include <com/sun/star/document/XEmbeddedScripts.idl> #include <com/sun/star/document/XDocumentPropertiesSupplier.idl> #include <com/sun/star/document/XUndoManagerSupplier.idl> //============================================================================= module com { module sun { module star { module document { //============================================================================= /** abstract service which specifies a storable and printable document <p> All major document-like components should support this service instead of simple components which supports a <type scope="com::sun::star::frame">Controller</type> or pure <type scope="com::sun::star::awt">XWindow</type> only. </p> @see com::sun::star::frame::Controller */ published service OfficeDocument { //------------------------------------------------------------------------- /** represents a component which is created from an URL and arguments <p> It is a representation of a resource in the sense that it was created/loaded from the resource. The arguments are passed to the loader to modify its behavior. </p> */ interface com::sun::star::frame::XModel; //------------------------------------------------------------------------- /** a storable document should provide information about his modify state <p> With this interface it's possible too, to reset the modify state. That can be necessary to prevent code against problems during closing of the document without saving any changes. </p> */ interface com::sun::star::util::XModifiable; //------------------------------------------------------------------------- /** offers a simple way to store a component to an URL <p> This interface supports functionality <ul> <li>to make a copy of current component by saving it to another location</li> <li>to commit made changes</li> <li>to convert it by saving it by using suitable filter name.</li> </ul> </p> */ interface com::sun::star::frame::XStorable; //------------------------------------------------------------------------- /** offers a way to print a component <p> It's possible to specify which printer should be used and of course print the document on it. </p> */ interface com::sun::star::view::XPrintable; //------------------------------------------------------------------------- /** is an old and deprecated version of the <type>XDocumentEventBroadcaster</type> interface @deprecated */ [optional] interface XEventBroadcaster; //------------------------------------------------------------------------- /** makes it possible to register listeners which are called whenever a document event occurs */ [optional] interface XDocumentEventBroadcaster; //------------------------------------------------------------------------- /** access to bound event handlers */ [optional] interface XEventsSupplier; //------------------------------------------------------------------------- /** document can provide a <type>DocumentInfo</type> <p> Instead of the <type>StandaloneDocumentInfo</type> service the <type>DocumentInfo</type> will be available on an already opened document only. </p> @deprecated Use <type>XDocumentPropertiesSupplier</type> instead. */ [optional] interface XDocumentInfoSupplier; //------------------------------------------------------------------------- /** access to some properties describing all open views to a document */ [optional] interface XViewDataSupplier; //------------------------------------------------------------------------- /** allows for getting information about a print job @since OpenOffice 1.1.2 */ [optional] interface com::sun::star::view::XPrintJobBroadcaster; /** is supported when the document can contain scripts and dialogs @since OpenOffice 2.4 */ [optional] interface XEmbeddedScripts; //------------------------------------------------------------------------- /** access to the <type>DocumentProperties</type>. @since OpenOffice 3.0 */ [optional] interface XDocumentPropertiesSupplier; /** provides access to the document's undo manager. */ [optional] interface XUndoManagerSupplier; //------------------------------------------------------------------------- /** controls the focus behaviour of the form controls in the document <p> If this flag is set to <TRUE/>, any view belonging to the document should focus the first control in the document. With this, you may control if your document works primarily as a form document. </p> */ [property, optional] boolean AutomaticControlFocus; //------------------------------------------------------------------------- /** controls the initial (on-load) behavior of the form controls in the document <p>If set to <TRUE/>, upon loading the document, the form controls will be in design mode.<br/> If set to <FALSE/>, they will be alive, i.e. operational.<br/> With this, you may control if your document works primarily as a form document. </p> */ [property, optional] boolean ApplyFormDesignMode; //------------------------------------------------------------------------- /** contains a unique id for the document <p>Once calculated, the id must not change until the document has been closed. Upon closing it will not be made persistent. Thus, the document may get a different id every time it gets loaded.</p> */ [property, optional, readonly] string RuntimeUID; }; //============================================================================= }; }; }; }; #endif