diff options
Diffstat (limited to '')
-rw-r--r-- | offapi/com/sun/star/document/OfficeDocument.idl | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/offapi/com/sun/star/document/OfficeDocument.idl b/offapi/com/sun/star/document/OfficeDocument.idl new file mode 100644 index 000000000..e9dd418ab --- /dev/null +++ b/offapi/com/sun/star/document/OfficeDocument.idl @@ -0,0 +1,176 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ +#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/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 com::sun::star::frame::Controller + or pure com::sun::star::awt::XWindow only. + </p> + + @see com::sun::star::frame::Controller + */ +published service OfficeDocument +{ + /** represents a component which is created from a 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 problem 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 a 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 XDocumentEventBroadcaster 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; + + /** access to some properties describing all open views to a document + */ + [optional] interface XViewDataSupplier; + + /** allows for getting information about a print job + + @since OOo 1.1.2 + */ + [optional] interface com::sun::star::view::XPrintJobBroadcaster; + + /** is supported when the document can contain scripts and dialogs + + @since OOo 2.4 + */ + [optional] interface XEmbeddedScripts; + + /** access to the DocumentProperties. + + @since OOo 3.0 + */ + [optional] interface XDocumentPropertiesSupplier; + + /** provides access to the document's undo manager. + */ + [optional] interface XUndoManagerSupplier; + + /** controls the focus behavior 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; + + /** Grab bag of document properties, used as a string-any map for + interim interop purposes. + + @since LibreOffice 4.2 + + <p>This property is intentionally not handled by the ODF + filter. Any member that should be handled there should be + first moved out from this grab bag to a separate property.</p> + */ + [optional, property] sequence<com::sun::star::beans::PropertyValue> InteropGrabBag; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |