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