diff options
Diffstat (limited to 'offapi/com/sun/star/document')
91 files changed, 9193 insertions, 0 deletions
diff --git a/offapi/com/sun/star/document/AmbigousFilterRequest.idl b/offapi/com/sun/star/document/AmbigousFilterRequest.idl new file mode 100644 index 000000000000..479f404f681b --- /dev/null +++ b/offapi/com/sun/star/document/AmbigousFilterRequest.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_AmbigousFilterRequest_idl__ +#define __com_sun_star_document_AmbigousFilterRequest_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** should be used for interaction to handle states of ambigous filter detection + + <p> + This exception indicates, that generic filter detection can't decide which of + two filters is the right one. In this case an interaction will be made. + Given URL can be used to decide between given two filters. + Decision can be made e.g. by a dialog, on which the user must select one + of these filters. + A possible continuation of type <type>XInteractionFilterSelect</type> + transport this decision back to source of started interaction. + </p> + + @see XInteractionFilterSelect +*/ +published exception AmbigousFilterRequest : ::com::sun::star::uno::Exception +{ + //------------------------------------------------------------------------- + /** transport URL which couldn't be detected right + */ + string URL; + + //------------------------------------------------------------------------- + /** transport the pre selected filter + */ + string SelectedFilter; + + //------------------------------------------------------------------------- + /** transport the real detected filter, which stands in conflict to the pre selected one + */ + string DetectedFilter; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/BrokenPackageRequest.idl b/offapi/com/sun/star/document/BrokenPackageRequest.idl new file mode 100644 index 000000000000..04b9b795027d --- /dev/null +++ b/offapi/com/sun/star/document/BrokenPackageRequest.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_BrokenPackageRequest_idl__ +#define __com_sun_star_document_BrokenPackageRequest_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** Is used for interaction handle in case package is broken. + + @since OOo 1.1.2 +*/ +published exception BrokenPackageRequest : ::com::sun::star::uno::Exception +{ + /** The name of the document that is broken + */ + string aName; + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/ChangedByOthersRequest.idl b/offapi/com/sun/star/document/ChangedByOthersRequest.idl new file mode 100644 index 000000000000..04e22ce539f9 --- /dev/null +++ b/offapi/com/sun/star/document/ChangedByOthersRequest.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_ChangedByOthersRequest_idl__ +#define __com_sun_star_document_ChangedByOthersRequest_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_frame_XModel_idl__ +#include <com/sun/star/frame/XModel.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** Is used for interaction handle to query user decision in case the document + being saved was already stored by another user during the editing. + + @since OOo 3.1 +*/ +published exception ChangedByOthersRequest : ::com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl new file mode 100644 index 000000000000..e3fbf81c7223 --- /dev/null +++ b/offapi/com/sun/star/document/CorruptedFilterConfigurationException.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_CorruptedFilterConfigurationException_idl__ +#define __com_sun_star_document_CorruptedFilterConfigurationException_idl__ + +#ifndef __com_sun_star_uno_RuntimeException_idl__ +#include <com/sun/star/uno/RuntimeException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** This exception is thrown in case the global filter configuration + does not exists or contains corrupted data. + + @since OOo 2.0 + */ +published exception CorruptedFilterConfigurationException : ::com::sun::star::uno::RuntimeException +{ + /** Instead of the message part of an exception, this value + describe the type of corruption more in detail. */ + string Details; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/DocumentEvent.idl b/offapi/com/sun/star/document/DocumentEvent.idl new file mode 100644 index 000000000000..bd22f6fef522 --- /dev/null +++ b/offapi/com/sun/star/document/DocumentEvent.idl @@ -0,0 +1,85 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * +************************************************************************/ + +#ifndef __com_sun_star_document_DocumentEvent_idl__ +#define __com_sun_star_document_DocumentEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif +#ifndef __com_sun_star_frame_XController2_idl__ +#include <com/sun/star/frame/XController2.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** describes an event happening in an <type>OfficeDocument</type> + + <p>The <member scope="com::sun::star::lang">EventObject::Source</member> member + of the base type refers to the document which broadcasts the event.</p> + + <p>This type is the successor of the EventObject type, which should not be used + anymore.</p> + + @see XDocumentEventBroadcaster + @since OOo 3.1 + */ +published struct DocumentEvent : ::com::sun::star::lang::EventObject +{ + /** specifies the name of the event. + + <p>It's the responsibility of the component supporting the <type>XDocumentEventBroadcaster</type> + interface to specify which events it supports.</p> + */ + string EventName; + + /** denotes the view respectively controller which the event applies to. + + <p>Might be <NULL/> if the event is not related to a concrete view of + the document.</p> + */ + ::com::sun::star::frame::XController2 + ViewController; + + /** contains supplemental information about the even which is being notified + + <p>The semantics of this additional information needs to be specified by the broadcaster + of the event.</p> + */ + any Supplement; +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/document/DocumentInfo.idl b/offapi/com/sun/star/document/DocumentInfo.idl new file mode 100644 index 000000000000..f754013d665f --- /dev/null +++ b/offapi/com/sun/star/document/DocumentInfo.idl @@ -0,0 +1,272 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_DocumentInfo_idl__ +#define __com_sun_star_document_DocumentInfo_idl__ + +#ifndef __com_sun_star_document_XDocumentInfo_idl__ +#include <com/sun/star/document/XDocumentInfo.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_beans_XFastPropertySet_idl__ +#include <com/sun/star/beans/XFastPropertySet.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyContainer_idl__ +#include <com/sun/star/beans/XPropertyContainer.idl> +#endif + +#ifndef __com_sun_star_beans_NamedValue_idl__ +#include <com/sun/star/beans/NamedValue.idl> +#endif +#ifndef __com_sun_star_util_DateTime_idl__ +#include <com/sun/star/util/DateTime.idl> +#endif + +#ifndef __com_sun_star_lang_Locale_idl__ +#include <com/sun/star/lang/Locale.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module document { + +//============================================================================= +/** this service provides document-specific information like the + author, creation date and user fields + + <p> + Contrary to the service <type>StandaloneDocumentInfo</type> the document - which + contains such informations - must be loaded completly. As a result of that this + DocumengInfo service is available on an open document via the interface + <type>XDocumentInfoSupplier</type> only. + </p> + + @deprecated Use <type>DocumentProperties</type> instead. + + @see StandaloneDocumentInfo + @see XDocumentInfoSupplier + */ +published service DocumentInfo +{ + //------------------------------------------------------------------------- + /** provides access to the user fields for the information regarding the + document + + <p> + These fields are additional to normal properties. + (see below) + </p> + */ + interface XDocumentInfo; + + //------------------------------------------------------------------------- + /** neccessary to support normal properties + */ + interface com::sun::star::beans::XPropertySet; + + //------------------------------------------------------------------------- + /** supports faster access on well known properties by using index + */ + interface com::sun::star::beans::XFastPropertySet; + + //------------------------------------------------------------------------- + /** provides access to the user fields, which (instead to the user fields set + by the interface XDocumentInfo) will be typesafe. + + <p> + These fields are additional to normal properties (see below) and + additional to the user fields set by the interface XDocumentInfo (see before). + </p> + */ + [optional] interface com::sun::star::beans::XPropertyContainer; + + //------------------------------------------------------------------------- + /** contains the intial author of the document + */ + [property] string Author; + + //------------------------------------------------------------------------- + /** @deprecated + */ + [property] boolean AutoloadEnabled; + + //------------------------------------------------------------------------- + /** contains the number of seconds after which a specified + URL is to be loaded after the document is loaded into a desktop + frame + */ + [property] long AutoloadSecs; + + //------------------------------------------------------------------------- + /** contains the URL to load automatically after a + specified time after the document is loaded into a desktop frame + */ + [property] string AutoloadURL; + + //------------------------------------------------------------------------- + /** contains the date and time of the first time the + document was stored + */ + [property] com::sun::star::util::DateTime CreationDate; + + //------------------------------------------------------------------------- + /** contains the name of the default frame into which + links should be loaded if no target is specified + + <p> + This applies to the autoload feature too, but to others as well. + </p> + */ + [property] string DefaultTarget; + + //------------------------------------------------------------------------- + /** contains a multi-line comment of the document + + <p> + Line delimiters can be UNIX, Macintosh or DOS style. + </p> + */ + [property] string Description; + + //------------------------------------------------------------------------- + /** contains some statistics about the document + + <p> + The exact name and type of the values depends on the document type + </p> + */ + [property] sequence< com::sun::star::beans::NamedValue > DocumentStatistic; + + //------------------------------------------------------------------------- + /** describes how often the document was edited and saved + */ + [property] short EditingCycles; + + //------------------------------------------------------------------------- + /** contains the net time of editing the document (in seconds) + */ + [property] long EditingDuration; + + //------------------------------------------------------------------------- + /** identifies application was used to create or last modify the document + */ + [property] string Generator; + + //------------------------------------------------------------------------- + /** contains a comma separated list of keywords for + the document + */ + [property] string Keywords; + + //------------------------------------------------------------------------- + /** contains the MIME-type of the document's resource + + <p> + The MIME-type is neither stored in the document information nor in + the document; it is sent within a protocol header or is + detected, thus it cannot be changed. + </p> + */ + [readonly, property] string MIMEType; + + //------------------------------------------------------------------------- + /** default language of the document + */ + [property] com::sun::star::lang::Locale Language; + + //------------------------------------------------------------------------- + /** contains the name of the editor who was the last + person to store this document + */ + [property] string ModifiedBy; + + //------------------------------------------------------------------------- + /** contains the date and time of the last time the + document was stored + */ + [property] com::sun::star::util::DateTime ModifyDate; + + //------------------------------------------------------------------------- + /** contains the date and time of when the document was + last printed + */ + [property] com::sun::star::util::DateTime PrintDate; + + //------------------------------------------------------------------------- + /** contains the name of the editor who was the last + person to print the document + */ + [property] string PrintedBy; + + //------------------------------------------------------------------------- + /** subject of document + */ + [property] string Subject; + + //------------------------------------------------------------------------- + /** contains logical name of the template from + which the document was created + + <p> + The value is an empty string if the document was not created + from a template or if it was detached from the template. + </p> + */ + [property] string Template; + + //------------------------------------------------------------------------- + /** contains the file path name of the template from + which the document was created + */ + [property] string TemplateFileName; + + //------------------------------------------------------------------------- + /** contains the date and time of when the document + was created or updated from the template + */ + [property] com::sun::star::util::DateTime TemplateDate; + + //------------------------------------------------------------------------- + /** contains the title of the document + */ + [property] string Title; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/DocumentProperties.idl b/offapi/com/sun/star/document/DocumentProperties.idl new file mode 100755 index 000000000000..5b00f6c9a8e2 --- /dev/null +++ b/offapi/com/sun/star/document/DocumentProperties.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_DocumentProperties_idl__ +#define __com_sun_star_document_DocumentProperties_idl__ + +#ifndef __com_sun_star_document_XDocumentProperties_idl__ +#include <com/sun/star/document/XDocumentProperties.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** provides document-specific information such as the author, creation date, + and user-defined fields. + + <p> + This service replaces the deprecated <type>DocumentInfo</type> and + <type>StandaloneDocumentInfo</type> services. + </p> + + @since OOo 3.0 + + @see XDocumentProperties + @see XDocumentPropertiesSupplier + */ +published service DocumentProperties : XDocumentProperties +{ + /** constructs default-initialized instance + */ + create(); +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/DocumentRevisionListPersistence.idl b/offapi/com/sun/star/document/DocumentRevisionListPersistence.idl new file mode 100644 index 000000000000..6a2567abfab5 --- /dev/null +++ b/offapi/com/sun/star/document/DocumentRevisionListPersistence.idl @@ -0,0 +1,51 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_DocumentRevisionListPersistence_idl__ +#define __com_sun_star_document_DocumentRevisionListPersistence_idl__ + +#ifndef __com_sun_star_document_XDocumentRevisionListPersistence_idl__ +#include <com/sun/star/document/XDocumentRevisionListPersistence.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** interface to maintain a list of document revisions + + <p> + <p> + */ +service DocumentRevisionListPersistence : XDocumentRevisionListPersistence; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/EmptyUndoStackException.idl b/offapi/com/sun/star/document/EmptyUndoStackException.idl new file mode 100755 index 000000000000..476a82bbe705 --- /dev/null +++ b/offapi/com/sun/star/document/EmptyUndoStackException.idl @@ -0,0 +1,51 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_EmptyUndoStackException_idl__ +#define __com_sun_star_document_EmptyUndoStackException_idl__ + +#include <com/sun/star/util/InvalidStateException.idl> + +//================================================================================================================== + +module com { module sun { module star { module document { + +//================================================================================================================== + +/** is raised when an operation is attemption at an XUndoManager which requires a non-empty stack + of undo actions, and this requirement is not fullfilled. + */ +published exception EmptyUndoStackException : ::com::sun::star::util::InvalidStateException +{ +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/document/EventDescriptor.idl b/offapi/com/sun/star/document/EventDescriptor.idl new file mode 100644 index 000000000000..50f2ae16f875 --- /dev/null +++ b/offapi/com/sun/star/document/EventDescriptor.idl @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_EventDescriptor_idl__ +#define __com_sun_star_document_EventDescriptor_idl__ + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** specifies an event binding for a document or a document content + + @see Events + @see XEventsSupplier + */ +published service EventDescriptor +{ + //------------------------------------------------------------------------- + /** specifies the type of the event handler + + <p> + Usually this is one of the following: + <ul> + <li>"None"</li> + <li>"StarBasic"</li> + <li>"JavaScript"</li> + <li>"Presentation"</li> + </ul> + This list is extensible. + </p> + */ + [property] string EventType; + + //------------------------------------------------------------------------- + /** specifies the script source code + */ + [property] string Script; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/EventObject.idl b/offapi/com/sun/star/document/EventObject.idl new file mode 100644 index 000000000000..9cfbc48f449f --- /dev/null +++ b/offapi/com/sun/star/document/EventObject.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_EventObject_idl__ +#define __com_sun_star_document_EventObject_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** is thrown on document and document content events + + @see XEventListener + @see XEventBroadcaster + + @deprecated + @see DocumentEvent + */ +published struct EventObject: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + /** specifies the name of the occured event + + <p> + For a list of possible event names see <type>Events</type>. + </p> + */ + string EventName; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/Events.idl b/offapi/com/sun/star/document/Events.idl new file mode 100644 index 000000000000..267f9c5329d0 --- /dev/null +++ b/offapi/com/sun/star/document/Events.idl @@ -0,0 +1,105 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_Events_idl__ +#define __com_sun_star_document_Events_idl__ + +#ifndef __com_sun_star_container_XNameReplace_idl__ +#include <com/sun/star/container/XNameReplace.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** is a collection of all events supported by a document or content of a + document + + <p> + Such Events will be broadcasted by a <type>XEventBroadcaster</type> + to any <type>XEventListener</type> packed as <type>EventObject</type>s. + </p> + */ +published service Events +{ + //------------------------------------------------------------------------- + /** offers access to the list of <type>EventDescriptor</type>s + + <p> + The following events are usually available: + <dl> + <dt>OnAlphaCharInput</dt> + <dt>OnClick</dt> + <dt>OnCloseApp</dt> + <dt>OnCopyTo</dt> + <dt>OnCopyToDone</dt> + <dt>OnError</dt> + <dt>OnFocus</dt> + <dt>OnInsertDone</dt> + <dt>OnInsertStart</dt> + <dt>OnLoad</dt> + <dt>OnLoadCancel</dt> + <dt>OnLoadDone</dt> + <dt>OnLoadError</dt> + <dt>OnLoadFinished</dt> + <dt>OnMailMerge</dt> + <dt>OnMailMergeFinished</dt> + <dt>OnModifyChanged</dt> + <dt>OnMouseOut</dt> + <dt>OnMouseOver</dt> + <dt>OnMove</dt> + <dt>OnNew</dt> + <dt>OnNewMail</dt> + <dt>OnNonAlphaCharInput</dt> + <dt>OnPageCountChange</dt> + <dt>OnPrepareUnload</dt> + <dt>OnPrepareViewClosing</dt> + <dt>OnPrint</dt> + <dt>OnResize</dt> + <dt>OnSave</dt> + <dt>OnSaveAs</dt> + <dt>OnSaveAsDone</dt> + <dt>OnSaveDone</dt> + <dt>OnSaveFinished</dt> + <dt>OnSelect</dt> + <dt>OnStartApp</dt> + <dt>OnToggleFullscreen</dt> + <dt>OnUnfocus</dt> + <dt>OnUnload</dt> + <dt>OnViewCreated</dt> + <dt>OnViewClosed</dt> + </dl> + </p> + */ + interface com::sun::star::container::XNameReplace; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/ExportFilter.idl b/offapi/com/sun/star/document/ExportFilter.idl new file mode 100644 index 000000000000..f8a4611feab7 --- /dev/null +++ b/offapi/com/sun/star/document/ExportFilter.idl @@ -0,0 +1,136 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_ExportFilter_idl__ +#define __com_sun_star_document_ExportFilter_idl__ + +#ifndef __com_sun_star_document_XExporter_idl__ +#include <com/sun/star/document/XExporter.idl> +#endif + +#ifndef __com_sun_star_document_XFilter_idl__ +#include <com/sun/star/document/XFilter.idl> +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_container_XNamed_idl__ +#include <com/sun/star/container/XNamed.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** filter for exports + + <p> + Such filters can be used for exporting a content. + Of course it's possible to combine it with the service <type>ImportFilter</type> + if import functionality should be available at same implementation too. + </p> + + @see ImportFilter + */ +published service ExportFilter +{ + //------------------------------------------------------------------------- + /** set source(!) document for this filter + + <p> + The document must be used as the source for following filter operation. + Any content from there will be exported to another format. + </p> + */ + interface XExporter; + + //------------------------------------------------------------------------- + /** filter interface + + <p> + It's used to filter a document at saving time. + The source document should be already setted by using another interface + <type>XExporter</type> which is supported by this service too. + </p> + + <p> + Tip:<br> + If same implementation provides the service <type>ImportFilter</type> too, + code must distinguish between filtering from a source document (for export) or + filtering to a target document (for import). This can be recognized by saving + state of used interfaces <type>XExporter</type> or <type>XImporter</type>! + Otherwise it's not clear which action is required here. + </p> + */ + interface XFilter; + + //------------------------------------------------------------------------- + /** support initialization of filter with its own configuration + + <p> + A filter object must be created by global service <type>FilterFactory</type>. + If filter supports this optional interface, he will be initialized by the factory directly + after creation. The factory will pass follow informations to this new instance: + <ul> + <li>first item will be a set of configuration data of the filter</li> + <li>after that will follow may given optional parameters of call + <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member> + of service <type>FilterFactory</type>. + </li> + </ul> + See description of service <member>FilterFactory::XNameContainer</member> for a description of + possible configuration data. + </p> + */ + [optional] interface com::sun::star::lang::XInitialization; + + //------------------------------------------------------------------------- + /** provides access to the internal name of this filter + + <p> + This internal filter name can be used on service <type>FilterFactory</type> + to get further informations about it (e.g. his registration for mime types or extensions etc.) + It's important that returned string is the "internal name" of the filter which must be + unambigous against all other registered filter in current instalation. + </p> + <p> + <strong>Attention!</strong><br> + Supported method setName() sould be ignored or forwarded to the FilterFactory. + It's not allowed to set it directly to the configuration. Because it depends + from real implementation of the FilterFactory if it will be allowed or not! + </p> + */ + [optional] interface com::sun::star::container::XNamed; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/ExtendedTypeDetection.idl b/offapi/com/sun/star/document/ExtendedTypeDetection.idl new file mode 100644 index 000000000000..f4f5b85d3e13 --- /dev/null +++ b/offapi/com/sun/star/document/ExtendedTypeDetection.idl @@ -0,0 +1,109 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_ExtendedTypeDetection_idl__ +#define __com_sun_star_document_ExtendedTypeDetection_idl__ + +#ifndef __com_sun_star_document_XExtendedFilterDetection_idl__ +#include <com/sun/star/document/XExtendedFilterDetection.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** describes a class of service which will be used for deep <type>TypeDetection</type> + in a generic way + + <p> + Due to the registered types, flat <type>TypeDetection</type> is already possible, i.e. + the assignment of types (e.g. to a URL) only on the basis of configuration data. + If, however, you imagine special cases (e.g. modifying the file extension of a + Writer file from .sdw to .doc), it quickly becomes clear that you cannot always + get a correct result with flat detection. To be certain to get correct results, + you need deep detection, i.e. the file itself has to be examined. + And that is exactly the function of DetectServices. They get all the information + collected so far on a document and then decide which type to assign it to. + In the new modular model, such a detector is meant as UNO service which registers + itself in the office and is requested by the generic type detection if necessary. + <br> + Therefore you need two pieces of information: + <ul> + <li> + The <strong>ServiceName</strong> - This must be a valid UNO service name. + It is also an entry in the corresponding configuration list. + <br> + Example: "com.company.devision.DetectService" + <br> + Note that this realy means the implementation name of the service. + Because it's not possible otherwise to distinguish between more then one + registered detect services in same office installation! But it's possible for + the generic type detection to create an uno service by his implementation name too. + </li> + <li> + A list of <strong>Types</strong> able to be recognized by this service - + You can also implement and register detectors for groups of types. + </li> + </ul> + See service <type>TypeDetection</type> and his configuration for further informations. + </p> + + @see TypeDetection + */ +published service ExtendedTypeDetection +{ + //------------------------------------------------------------------------- + /** makes the deep detection + + <p> + Generic type detection searchs for a registered DetectService for an + already flat detected type. If any could be found it will be created and + used by calling methods of this interface. It gets a <type>MediaDescriptor</type> + which contains information about the document which should be detected and must return + <ul> + <li>an internal type name for detected format</li> + <li>or <NULL/> if format is unknown nor supported.</li> + </ul> + May be that given descriptor already includes the opened document stream as parameter + <member>MediaDescriptor::InputStream</member>. Then this one should be used everytime. + If it's not included in descriptor the value of <member>MediaDescriptor::URL</member> + must be used to open requested ressource by this service. + <br> + Note: The stream should be added to the descriptor if it wasn't a part of them before. + So further steps on the whole detection process can use it and will perform her work. + It's further not allowed to hold a reference to this stream any longer. Only copies + will be valid then. Otherwise nobody can close this stream then. + </p> + */ + interface XExtendedFilterDetection; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl b/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl new file mode 100644 index 000000000000..bcab3aab75a9 --- /dev/null +++ b/offapi/com/sun/star/document/ExtendedTypeDetectionFactory.idl @@ -0,0 +1,154 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_ExtendedTypeDetectionFactory_idl__ +#define __com_sun_star_document_ExtendedTypeDetectionFactory_idl__ + +#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#endif + +#ifndef __com_sun_star_container_XNameContainer_idl__ +#include <com/sun/star/container/XNameContainer.idl> +#endif + +#ifndef __com_sun_star_container_XContainerQuery_idl__ +#include <com/sun/star/container/XContainerQuery.idl> +#endif + +#ifndef __com_sun_star_util_XFlushable_idl__ +#include <com/sun/star/util/XFlushable.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** factory to create extended type detection components. + + <p> + This factory implements read/write access on the underlying configuration set. + and further a validate and flush mechanism for more performance and a special query mode + can be used here too. + </p> + + @since OOo 1.1.2 + */ +published service ExtendedTypeDetectionFactory +{ + //------------------------------------------------------------------------- + /** factory interface to create and initialize extended type detection components. + + <p> + A detection component must be specified by it's uno implementation name and will be crated then. + Every new created component can be intialized with it's own configuration data + and may given optional arguments of the corresponding createInstanceWithArguments() request. To do so the + service must support the optional interface <type scope="com::sun::star::lang">XInitialization</type>. + The arguments parameter will have the following structure: + <ul> + <li>sequence< Any >[0] contains a sequence< <type scope="com::sun::star::beans">PropertyValue</type> >, + which represent the configuration data set of this detector component. The used properties are the same, as + they are available at the container interface of this factoyr service. (see below)</li> + <li>Every following item of the argument list sequence< Any >[1..n] contains the copied argument of the + corresponding createInstanceWithArguments() call. That means: Item 0 or the original list was copied as + item 1 of the destination list ... etc. + </ul> + </p> + */ + interface com::sun::star::lang::XMultiServiceFactory; + + //------------------------------------------------------------------------- + /** provides read access to the complete set of configuration data. + + <p> + Every container item is specified as a set of properties and will be + represented by a sequence< <type scope="com::sun::star::beans">PropertyValue</type> > structure. + Follow properties are supported: + (But note: not all of them must be present everytimes!) + </p> + <table border=1> + <tr> + <td><strong>Property Name</strong></td> + <td><strong>Value Type</strong></td> + <td><strong>Description</strong></td> + </tr> + <tr> + <td><em>Name</em></td> + <td>[string]</td> + <td>It means the uno implementation name of the detector component. + Note: It means the realy the implementation instead of the uno service name. + Because it's not possible to distinguish between more then one components; if all of them + uses a generic service identifier!</td> + </tr> + <tr> + <td><em>Types</em></td> + <td>[sequence< string >]</td> + <td>It's a list of all types, which can be detected by this extended detection component. + All items of this list must match an item of the <type>TypeDetection</type> container service.</td> + </tr> + </table> + </p> + */ + interface com::sun::star::container::XNameAccess; + + //------------------------------------------------------------------------- + /** provides a write access to the configuration data. + */ + [optional] interface com::sun::star::container::XNameContainer; + + //------------------------------------------------------------------------- + /** provides search on the configuration data set. + + <p> + Against simple property search it provides some complex algorithms too. + For further informations please read the SDK documentation. + </p> + */ + [optional] interface com::sun::star::container::XContainerQuery; + + //------------------------------------------------------------------------- + /** can be used to perform container changes. + + <p> + Because the complexness of such configuration set can be very high, + it seams not very usefull to update the undelying configuration layer + on every container change request immediatly. Another strategy can be to + make all changes (adding/changing/removing of items) and call flush at the end. + That will validate the whole container and reject inconsistent data sets. + Only in case all made changes was correct, they will be written back to the + configuration. Further this interface provides the possibelity, that interested + changes listener can be registered too. + </p> + */ + [optional] interface com::sun::star::util::XFlushable; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/FilterAdapter.idl b/offapi/com/sun/star/document/FilterAdapter.idl new file mode 100644 index 000000000000..800ba1372115 --- /dev/null +++ b/offapi/com/sun/star/document/FilterAdapter.idl @@ -0,0 +1,53 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _COM_SUN_STAR_DOCUMENT_FILTERADAPTOR_IDL__ +#define _COM_SUN_STAR_DOCUMENT_FILTERADAPTOR_IDL__ + +#ifndef _COM_SUN_STAR_DOCUMENT_XFILTERADAPTOR_IDL__ +#include <com/sun/star/document/XFilterAdapter.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + /* Provides access to user to filters written to use the FilterAdapter + @author Aidan Butler + + @since OOo 1.1.2 + */ +published service FilterAdapter + { + interface XFilterAdapter; + }; + }; + }; + }; +}; + +#endif diff --git a/offapi/com/sun/star/document/FilterFactory.idl b/offapi/com/sun/star/document/FilterFactory.idl new file mode 100644 index 000000000000..ddb4bcb5ebf6 --- /dev/null +++ b/offapi/com/sun/star/document/FilterFactory.idl @@ -0,0 +1,251 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_FilterFactory_idl__ +#define __com_sun_star_document_FilterFactory_idl__ + +#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#endif + +#ifndef __com_sun_star_container_XNameContainer_idl__ +#include <com/sun/star/container/XNameContainer.idl> +#endif + +#ifndef __com_sun_star_container_XContainerQuery_idl__ +#include <com/sun/star/container/XContainerQuery.idl> +#endif + +#ifndef __com_sun_star_util_XFlushable_idl__ +#include <com/sun/star/util/XFlushable.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** factory to create filter components. + + <p> + After a generic <type>TypeDetection</type> an internal type name + will be known. Further a generic <type scope="com::sun::star::frame">FrameLoader</type> + can use this information, to search a suitable filter (may the default filter) at + this factory and use it for loading the document into a specified frame. + </p> + + <p> + This factory implements read/write access on the underlying configuration set. + and further a validate and flush mechanism for more performance and a special query mode + can be used here too. + </p> + */ +published service FilterFactory +{ + //------------------------------------------------------------------------- + /** factory interface to create and initialize filter components. + + <p> + <strong>Current behaviour</strong><p> + The methods createInstance() or createInstanceWithArguments() of this interface must be + called with an internal type name!. This name is used internaly to search a suitable + (mostly the default) filter for this type then. The found filter will be created, initialized + and returned then. Creation of a filter by using it's internal filter name directly can be + reached by using createInstanceWithArguments() with an optional property "FilterName" only. + See the following example: + + <listing> + private com.sun.star.uno.XInterface createFilterDirect( com.sun.star.lang.XMultiServiceFactory xFilterFactory , + java.lang.String sInternalFilterName ) + { + com.sun.star.beans.PropertyValue aFilterProp = new com.sun.star.beans.PropertyValue(); + aFilterProp.Name = "FilterName"; + aFilterProp.Value = sInternalFilterName; + + com.sun.star.uno.Any[] lProps = new com.sun.star.uno.Any[1]; + lProps[0] = aFilterProp; + + java.lang.Object aFilter = xFilterFactory.createInstanceWithArguments("", lProps); + return (com.sun.star.uno.XInterface)UnoRuntime.queryInterface(com.sun.star.uno.XInterface.class, aFilter); + } + </listing> + </p> + + <p> + <strong>Proposed behaviour</strong><p> + Searching of a suitable filter for a given internal type name, must be done by the new interface + <type scope="com::sun::star::container">XContainerQuery</type>, available on this factory too. + The factory interface can be used to create filter components by it's internal filter name only. + </p> + + <p> + <strong>How it can be distinguished?</strong><p> + The new prosposed implementation will throw an <type scope="com::sun::star::container">NoSuchElementException</type> + if the first parameter of createInstance() or createInstanceWithArguments() does not match to a valid container (means + filter) item. Further it will throw an <type scope="com::sun::star::lang">IllegalArgumentException</type> if the optional + parameter "FilterName" could not be detected inside the argument list of call createInstanceWithArguments(). + </p> + + <p> + <strong>Initialization of a filter component</strong><p> + Every filter, which was created by this factory can(!) be intialized with it's own configuration data + and may given optional arguments of the corresponding createInstanceWithArguments() request. To do so the filter + instance must support the optional interface <type scope="com::sun::star::lang">XInitialization</type>. + The arguments parameter will have the following structure: + <ul> + <li>sequence< Any >[0] contains a sequence< <type scope="com::sun::star::beans">PropertyValue</type> >, + which represent the configuration data set of this filter. The used properties are the same, as + they are available at the container interface of this factoyr service. (see below)</li> + <li>Every following item of the argument list sequence< Any >[1..n] contains the copied argument of the + corresponding createInstanceWithArguments() call. That means: Item 0 or the original list was copied as + item 1 of the destination list ... etc. + </ul> + </p> + */ + interface com::sun::star::lang::XMultiServiceFactory; + + //------------------------------------------------------------------------- + /** provides read access to the complete set of configuration data. + + <p> + Every container item is specified as a set of properties and will be + represented by a sequence< <type scope="com::sun::star::beans">PropertyValue</type> > structure. + Follow properties are supported: + (But note: not all of them must be present everytimes!) + </p> + <table border=1> + <tr> + <td><strong>Property Name</strong></td> + <td><strong>Value Type</strong></td> + <td><strong>Description</strong></td> + </tr> + <tr> + <td><em>Name</em></td> + <td>[string]</td> + <td>The internal name is the only value, which makes a container item unique.</td> + </tr> + <tr> + <td><em>UIName</em></td> + <td>[string]</td> + <td>It contains the localized name for this filter for the current locale.</td> + </tr> + <tr> + <td><em>UINames</em></td> + <td>[sequence< string >]</td> + <td>It contains all available localized names for this filter. The are organized + in pairs and represented as a structure of sequence< <type scope="com::sun::star::beans">PropertyValue</type> >. + The name of such property must be interpreted as locale; it's value as the localized + filter name corresponding to this locale.</td> + </tr> + <tr> + <td><em>Type</em></td> + <td>[string]</td> + <td>Every filter is registered for a type. This value contains the internal name of it. + (see service <type>TypeDetection</type> for further informations)</td> + </tr> + <tr> + <td><em>DocumentService</em></td> + <td>[string]</td> + <td>It's the uno service name of the document type, which can be handled by this filter. + (e.g. <type scope="com::sun::star::text">TextDocument</type>)</td> + </tr> + <tr> + <td><em>FilterService</em></td> + <td>[string]</td> + <td>It means the uno implementation name of the filter component. + Note: It means the realy the implementation instead of the uno service name. + Because it's not possible to distinguish between more then one filters; if all of them + uses a generic identifier!</td> + </tr> + <tr> + <td><em>Flags</em></td> + <td>[integer]</td> + <td>They describe the filter more specific.<br> + (e.g. they mark it as IMPORT/EXPORT or DEFAULT filter.)</td> + </tr> + <tr> + <td><em>UserData</em></td> + <td>[string]</td> + <td>This field contains filter specific configuration data.</td> + </tr> + <tr> + <td><em>FileFormatVersion</em></td> + <td>[integer]</td> + <td>It specifies the supported file format version if there exist more then ones.</td> + </tr> + <tr> + <td><em>TemplateName</em></td> + <td>[string]</td> + <td>It's the name of a suitable default template.</td> + </tr> + </table> + </p> + + <p> + Note:<br> + All elements of this container will be adressed by his internal name, + and it must be an unambigous value. + </p> + */ + interface com::sun::star::container::XNameAccess; + + //------------------------------------------------------------------------- + /** provides a write access to the configuration data. + */ + [optional] interface com::sun::star::container::XNameContainer; + + //------------------------------------------------------------------------- + /** provides search on the configuration data set. + + <p> + Against simple property search it provides some complex algorithms too. + For further informations please read the SDK documentation. + </p> + */ + interface com::sun::star::container::XContainerQuery; + + //------------------------------------------------------------------------- + /** can be used to perform container changes. + + <p> + Because the complexness of such configuration set can be very high, + it seams not very usefull to update the undelying configuration layer + on every container change request immediatly. Another strategy can be to + make all changes (adding/changing/removing of items) and call flush at the end. + That will validate the whole container and reject inconsistent data sets. + Only in case all made changes was correct, they will be written back to the + configuration. Further this interface provides the possibelity, that interested + changes listener can be registered too. + </p> + */ + [optional] interface com::sun::star::util::XFlushable; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/FilterOptionsRequest.idl b/offapi/com/sun/star/document/FilterOptionsRequest.idl new file mode 100644 index 000000000000..4b6bcb70e729 --- /dev/null +++ b/offapi/com/sun/star/document/FilterOptionsRequest.idl @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_AmbigousFilterRequest_idl__ +#define __com_sun_star_document_AmbigousFilterRequest_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_frame_XModel_idl__ +#include <com/sun/star/frame/XModel.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** Is used for interaction handle to get filter options. + + @since OOo 1.1.2 +*/ +published exception FilterOptionsRequest : ::com::sun::star::uno::Exception +{ + /** The model of the document that should be provided to filters + that supports XExporter interface. + */ + ::com::sun::star::frame::XModel rModel; + + /** The Media-descriptor of the document + */ + sequence< com::sun::star::beans::PropertyValue > rProperties; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/HeaderFooterSettings.idl b/offapi/com/sun/star/document/HeaderFooterSettings.idl new file mode 100644 index 000000000000..f81e227e5644 --- /dev/null +++ b/offapi/com/sun/star/document/HeaderFooterSettings.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_HeaderFooterSettings_idl__ +#define __com_sun_star_document_HeaderFooterSettings_idl__ + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +// Note: Where is the distinction between header and footer ? +/** describes properties that control the formatting of headers and + footers for documents that do not allow individual settings for + individual parts like pages or slides. + */ +published service HeaderFooterSettings +{ + /** gives access to the properties implemented by this service. + */ + interface com::sun::star::beans::XPropertySet; + + //------------------------------------------------------------------------- + + /** enables or disables the printing of the page name in the + header or footer + */ + [optional, property] boolean IsPrintPageName; + + /** enables or disables the printing of the date in the + header or footer + */ + [optional, property] boolean IsPrintDate; + + /** enables or disables the printinge of the current time in the + header or footer + */ + [optional, property] boolean IsPrintTime; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/ImportFilter.idl b/offapi/com/sun/star/document/ImportFilter.idl new file mode 100644 index 000000000000..40ca14c1d94b --- /dev/null +++ b/offapi/com/sun/star/document/ImportFilter.idl @@ -0,0 +1,136 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_ImportFilter_idl__ +#define __com_sun_star_document_ImportFilter_idl__ + +#ifndef __com_sun_star_document_XImporter_idl__ +#include <com/sun/star/document/XImporter.idl> +#endif + +#ifndef __com_sun_star_document_XFilter_idl__ +#include <com/sun/star/document/XFilter.idl> +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_container_XNamed_idl__ +#include <com/sun/star/container/XNamed.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** filter for imports + + <p> + Such filters can be used for importing a content. + Of course it's possible to combine it with the service <type>ExportFilter</type> + if export functionality should be available at same implementation too. + </p> + + @see ExportFilter + */ +published service ImportFilter +{ + //------------------------------------------------------------------------- + /** set target(!) document for this filter + + <p> + The document must be used as the target of the filter. + Any external content will be written there. + </p> + */ + interface XImporter; + + //------------------------------------------------------------------------- + /** filter interface + + <p> + It's used to filter a document at loading time. + The target document should be already setted by using another interface + <member>ImportFilter::XImporter</member> which is supported by this service too. + </p> + + <p> + Tip:<br> + If same implementation provides the service <type>ExportFilter</type> too, + code must distinguish between filtering into a target document (for import) or + filtering from a source document (for export). This can be recognized by saving + state of used interfaces <type>XExporter</type> or <type>XImporter</type>! + Otherwise it's not clear which action is required here. + </p> + */ + interface XFilter; + + //------------------------------------------------------------------------- + /** support initialization of filter with its own configuration + + <p> + A filter object must be created by global service <type>FilterFactory</type>. + If filter supports this optional interface, he will be initialized by the factory directly + after creation. The factory will pass follow informations to this new instance: + <ul> + <li>first item will be a set of configuration data of the filter</li> + <li>after that will follow may given optional parameters of call + <member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments()</member> + of service <type>FilterFactory</type>. + </li> + </ul> + See description of service <member>FilterFactory::XNameContainer</member> for a description of + possible configuration data. + </p> + */ + [optional] interface com::sun::star::lang::XInitialization; + + //------------------------------------------------------------------------- + /** provides access to the internal name of this filter + + <p> + This internal filter name can be used on service <type>FilterFactory</type> + to get further informations about it (e.g. his registration for mime types or extensions etc.) + It's important that returned string is the "internal name" of the filter which must be + unambigous against all other registered filter in current instalation. + </p> + <p> + <strong>Attention!</strong><br> + Supported method setName() sould be ignored or forwarded to the FilterFactory. + It's not allowed to set it directly to the configuration. Because it depends + from real implementation of the FilterFactory if it will be allowed or not! + </p> + */ + [optional] interface com::sun::star::container::XNamed; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/LinkTarget.idl b/offapi/com/sun/star/document/LinkTarget.idl new file mode 100644 index 000000000000..3c4ba768c6d5 --- /dev/null +++ b/offapi/com/sun/star/document/LinkTarget.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_LinkTarget_idl__ +#define __com_sun_star_document_LinkTarget_idl__ + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_document_XLinkTargetSupplier_idl__ +#include <com/sun/star/document/XLinkTargetSupplier.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** This service is implemented by objects inside a document object model that + can be the target of a link inside a document + */ +published service LinkTarget +{ + interface com::sun::star::beans::XPropertySet; + + /** a link target may have child objects which can be link targets too. + These are accessible by this optinonal interface. + */ + [optional] interface com::sun::star::document::XLinkTargetSupplier; + + //------------------------------------------------------------------------- + /** contains a human readable name for this object that could be displayed in a user + interface. + */ + [readonly, property] string LinkDisplayName; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/LinkTargets.idl b/offapi/com/sun/star/document/LinkTargets.idl new file mode 100644 index 000000000000..cd5fb928a6eb --- /dev/null +++ b/offapi/com/sun/star/document/LinkTargets.idl @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_LinkTargets_idl__ +#define __com_sun_star_document_LinkTargets_idl__ + +#ifndef __com_sun_star_container_XNameAccess_idl__ +#include <com/sun/star/container/XNameAccess.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** This service gives access to a collection of names that are child links + of the parent object that supplied this service. + + <p>The <type scope="com::sun::star::container">XNameAccess</type> returns elements + of <type scope="com::sun::star::beans">XPropertySet</type> that implement + the service <type>LinkTarget</type>. </p> + */ +published service LinkTargets +{ + interface com::sun::star::container::XNameAccess; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/LinkUpdateModes.idl b/offapi/com/sun/star/document/LinkUpdateModes.idl new file mode 100644 index 000000000000..98fbea289092 --- /dev/null +++ b/offapi/com/sun/star/document/LinkUpdateModes.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_LinkUpdateModes_idl__ +#define __com_sun_star_document_LinkUpdateModes_idl__ + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +published constants LinkUpdateModes +{ + /** never update links + */ + const long NEVER = 0; + + /** update links when confirmed on request during loading the + document + */ + const long MANUAL = 1; + + /** automatic update on load + */ + const long AUTO = 2; + + /** use the setting that is configured in your installed + application. This may be one of the above behaviours. + */ + const long GLOBAL_SETTING = 3; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/LockFileIgnoreRequest.idl b/offapi/com/sun/star/document/LockFileIgnoreRequest.idl new file mode 100644 index 000000000000..d13a904ab80b --- /dev/null +++ b/offapi/com/sun/star/document/LockFileIgnoreRequest.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_LockFileIgnoreRequest_idl__ +#define __com_sun_star_document_LockFileIgnoreRequest_idl__ + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_frame_XModel_idl__ +#include <com/sun/star/frame/XModel.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** Is used for interaction handle to query user decision regarding storing + to a location where no lock file can be created. + + @since OOo 3.0 +*/ +published exception LockFileIgnoreRequest : ::com::sun::star::io::IOException +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/LockedDocumentRequest.idl b/offapi/com/sun/star/document/LockedDocumentRequest.idl new file mode 100644 index 000000000000..23059c9c176c --- /dev/null +++ b/offapi/com/sun/star/document/LockedDocumentRequest.idl @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_LockedDocumentRequest_idl__ +#define __com_sun_star_document_LockedDocumentRequest_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_frame_XModel_idl__ +#include <com/sun/star/frame/XModel.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** Is used for interaction handle to query user decision regarding locked document. + + @since OOo 3.0 +*/ +published exception LockedDocumentRequest : ::com::sun::star::uno::Exception +{ + /** The URL of the locked document. + */ + string DocumentURL; + + /** The user information of the locked document. + */ + string UserInfo; + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/LockedOnSavingRequest.idl b/offapi/com/sun/star/document/LockedOnSavingRequest.idl new file mode 100644 index 000000000000..2dc63260bfad --- /dev/null +++ b/offapi/com/sun/star/document/LockedOnSavingRequest.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_LockedOnSavingRequest_idl__ +#define __com_sun_star_document_LockedOnSavingRequest_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_frame_XModel_idl__ +#include <com/sun/star/frame/XModel.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** Is used for interaction handle to query user decision regarding locked + document on saving. + + @since OOo 3.1 +*/ +published exception LockedOnSavingRequest : ::com::sun::star::uno::Exception +{ + /** The URL of the locked document. + */ + string DocumentURL; + + /** The user information of the locked document. + */ + string UserInfo; + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/MacroExecMode.idl b/offapi/com/sun/star/document/MacroExecMode.idl new file mode 100644 index 000000000000..f74511445f61 --- /dev/null +++ b/offapi/com/sun/star/document/MacroExecMode.idl @@ -0,0 +1,132 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_MacroExecMode_idl__ +#define __com_sun_star_document_MacroExecMode_idl__ + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** Specify whether a macro can be executed. + + @since OOo 1.1.2 +*/ +published constants MacroExecMode +{ + //------------------------------------------------------------------------- + /** A macro should not be executed at all. + */ + + const short NEVER_EXECUTE = 0; + + //------------------------------------------------------------------------- + /** Execute macros from secure list quietly. + + <p> + If a macro is not in the list a conformation for it executing will + appear. + </p> + */ + + const short FROM_LIST = 1; + + //------------------------------------------------------------------------- + /** Execute any macro, macros signed with trusted sertificates and macros + from secure list are executed quietly. + + <p> + If the macro is neither in secure list nor signed a conformation + will be requested. + </p> + */ + + const short ALWAYS_EXECUTE = 2; + + //------------------------------------------------------------------------- + /** Use configuration to retrieve macro settings. In case a user + confirmation is required a dialog is output. + */ + + const short USE_CONFIG = 3; + + + //------------------------------------------------------------------------- + /** A macro should be executed always no conformation should be provided. + */ + + const short ALWAYS_EXECUTE_NO_WARN = 4; + + //------------------------------------------------------------------------- + /** Use configuration to retrieve macro settings. Treat cases when user + confirmation required as rejected. + */ + + const short USE_CONFIG_REJECT_CONFIRMATION = 5; + + //------------------------------------------------------------------------- + /** Use configuration to retrieve macro settings. Treat cases when user + confirmation required as approved. + */ + + const short USE_CONFIG_APPROVE_CONFIRMATION = 6; + + //------------------------------------------------------------------------- + /** Execute only macros from secure list. Macros that are not from the list + are not executed. + */ + const short FROM_LIST_NO_WARN = 7; + + //------------------------------------------------------------------------- + /** Execute only macros from secure list or macros that are signed by + trusted certificates. + + <p> If the macro is neither in secure list nor signed it will not be + executed. + </p> + + <p> If the macro is signed with unknown certificate a warning will + appear. The macro either will not be executed or if the warning + allows conformation, it will be executed after user agrees. + </p> + */ + const short FROM_LIST_AND_SIGNED_WARN = 8; + + //------------------------------------------------------------------------- + /** Execute only macros from secure list or macros that are signed by + trusted certificates. No warning/conformation should be shown. + */ + const short FROM_LIST_AND_SIGNED_NO_WARN = 9; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/MediaDescriptor.idl b/offapi/com/sun/star/document/MediaDescriptor.idl new file mode 100644 index 000000000000..a0aaed88a929 --- /dev/null +++ b/offapi/com/sun/star/document/MediaDescriptor.idl @@ -0,0 +1,640 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_MediaDescriptor_idl__ +#define __com_sun_star_document_MediaDescriptor_idl__ + +#ifndef __com_sun_star_io_XOutputStream_idl__ +#include <com/sun/star/io/XOutputStream.idl> +#endif + +#ifndef __com_sun_star_io_XInputStream_idl__ +#include <com/sun/star/io/XInputStream.idl> +#endif + +#ifndef __com_sun_star_awt_Rectangle_idl__ +#include <com/sun/star/awt/Rectangle.idl> +#endif + +#ifndef __com_sun_star_beans_NamedValue_idl__ +#include <com/sun/star/beans/NamedValue.idl> +#endif + +#ifndef __com_sun_star_util_URL_idl__ +#include <com/sun/star/util/URL.idl> +#endif + +#ifndef __com_sun_star_task_XInteractionHandler_idl__ +#include <com/sun/star/task/XInteractionHandler.idl> +#endif + +#ifndef __com_sun_star_task_XStatusIndicator_idl__ +#include <com/sun/star/task/XStatusIndicator.idl> +#endif + +#ifndef __com_sun_star_frame_XFrame_idl__ +#include <com/sun/star/frame/XFrame.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** describes properties of a document, regarding the relationship + between the loaded document and the resource the document is + loaded from / stored to. + + <p> + This service may be represented by a + <type scope="com::sun::star::beans" dim="[]">PropertyValue</type>. + Such descriptors will be passed to different functions, included into possible + load/save proccesses. Every member of such process can use this descriptor + and may change it if to actualize the informations about the document. + So this descriptor should be used as an in/out parameter. + </p> + + <p> + Note:<br> + It's not allowed to hold member of this descriptor by references longer the they + will be used (especialy a possible stream). It's allowed to use it directly + or by copying it only. + </p> + + @see com::sun::star::beans::PropertyValue + */ +published service MediaDescriptor +{ + //------------------------------------------------------------------------- + /** May be set by filters or detection services if user has choosen to + abort loading/saving, e.g. while entering a password. + */ + [optional,property] boolean Aborted; + + //------------------------------------------------------------------------- + /** document is a template + + <p> + Loading a component of type "template" creates a new untitled document + by default, but setting the "AsTemplate" property to <FALSE/> loads the + template document for editing. Setting "AsTemplate" to <TRUE/> creates a + new untitled document out of the loaded document, even if it has not + a "template" type. + </p> + */ + [optional,property] boolean AsTemplate; + + //------------------------------------------------------------------------- + /** the author of the document + + <p> + Only for storing versions in components supporting versioning: + author of version. + </p> + */ + [optional,property] string Author; + + //------------------------------------------------------------------------- + /** identifier of used character set + + <p> + Defines the character set for document formats that contain single + byte characters (if necessary). + </p> + */ + [optional,property] string CharacterSet; + + //------------------------------------------------------------------------- + /** description of document + + <p> + Only for storing versions in components supporting versioning: + comment (description) for stored version. + </p> + */ + [optional,property] string Comment; + + //------------------------------------------------------------------------- + /** pack specific properties of caller + + <p> + This is a parameter that can be used for any properties specific + for a special component type. Format of that depends from real + type of adressed component. + </p> + + <p> + For extensibility, it is recommended to use values of type + sequence<com.sun.star.beans.NamedValue> with this property. + </p> + */ + [optional,property] any ComponentData; + + //------------------------------------------------------------------------- + /** The base URL of the document to be used to resolve relative links. + */ + [optional,property] string DocumentBaseURL; + + //------------------------------------------------------------------------- + /** document title + + <p> + This parameter can be used to specify a title for a document. + </p> + */ + [optional,property] string DocumentTitle; + + //------------------------------------------------------------------------- + /** encryption information for encryption/decryption of documents + + <p> + It contains the necessary information for encryption/decryption of + a component (if necessary). + If neither password nor encryption data is specified, loading of + a password protected document will fail, storing will be done without + encryption. If both are provided, the encryption data is used + ( if the filter supports it ). + </p> + <p> + The encryption data is generated based on the password. + </p> + */ + [optional,property] sequence< ::com::sun::star::beans::NamedValue > EncryptionData; + + //------------------------------------------------------------------------- + /** same as <member>MediaDescriptor::URL</member> + + <p> + It will be supported for compatibility reasons only. + </p> + + @deprecated + */ + [optional,property] string FileName; + + //------------------------------------------------------------------------- + /** internal filter name + + <p> + Name of a filter that should be used for loading or storing the component. + Names must match the names of the <type>TypeDetection</type> configuration, + invalid names are ignored. If a name is specified on loading, + it still will be verified by a filter detection, but in case of doubt + it will be preferred. + </p> + */ + [optional,property] string FilterName; + + //------------------------------------------------------------------------- + /** same as <member>MediaDescriptor::FilterOptions</member> + + <p> + It will be supported for compatibility reasons only. + </p> + + @deprecated + */ + [optional,property] string FilterFlags; + + //------------------------------------------------------------------------- + /** additional properties for filter + + <p> + Some filters need additional parameters; use only together with property + <member>MediaDescriptor::FilterName</member>. Details must be documented + by the filter. This is an old format for some filters. If a string is not + enough, filters can use the property <member>MediaDescriptor::FilterData</member>. + </p> + */ + [optional,property] string FilterOptions; + + //------------------------------------------------------------------------- + /** additional properties for filter + + <p> + This is a parameter that can be used for any properties specific + for a special filter type. It should be used if + <member>MediaDescriptor::FilterOptions</member> isn't enough. + </p> + */ + [optional,property] any FilterData; + + //------------------------------------------------------------------------- + /** load document invisible + + <p> + Defines if the loaded component is made visible. If this property is not + specified, the component is made visible by default. + </p> + */ + [optional,property] boolean Hidden; + + //------------------------------------------------------------------------- + /** The hierarchical path to the embedded document from topmost container. + */ + [optional,property] string HierarchicalDocumentName; + + //------------------------------------------------------------------------- + /** a stream to receive the document data. + + <p> + If used when storing a document: writing must be done using this stream. + If no stream is provided, the loader will create a stream by itself using + the other properties. It is not allowed to keep a reference to this + OutputStream after storing the component. + </p> + */ + [optional,property] com::sun::star::io::XOutputStream OutputStream; + + //------------------------------------------------------------------------- + /** content of document + + <p> + If used when loading a document: reading must be done using this stream. + If no stream is provided, the loader will create a stream by itself using + the other properties. It is not allowed to keep a reference to this + InputStream after loading the component, and it would be useless, because + in general an InputStream is usable for readong only once, except when it + also implements the <type scope="com::sun::star::io">XSeekable</type> interface. + </p> + */ + [optional,property] com::sun::star::io::XInputStream InputStream; + + //------------------------------------------------------------------------- + /** handle exceptional situations + + <p> + Object implementing the <type scope="com::sun::star::task">InteractionHandler</type> + service that is used to handle exceptional situations where proceeding with the task + is impossible without additional information or impossible at all. + The implemented api provides a default implementation for it that can handle many situations. + If no InteractionHandler is set, a suitable exception is thrown. + It is not allowed to keep a reference to this object, even not in the loaded + or stored components' copy of the MediaDescriptor provided by its arguments attribute. + </p> + */ + [optional,property] com::sun::star::task::XInteractionHandler InteractionHandler; + + //------------------------------------------------------------------------- + /** jump to a marked position after loading + + <p> + This is the same as the text behind a '#' in a http URL. But + this syntax with a '#' is not specified in most URL schemas. + </p> + */ + [optional,property] string JumpMark; + + //------------------------------------------------------------------------- + /** specify mime type of content + + <p> + Type of the medium to load, that must match to one of the types defined + in the <type>TypeDetection</type> configuration (otherwise it's ignored). + This bypasses the type detection of the <type scope="com::sun::star::frame">Desktop</type> environment, + so passing a wrong MediaType will cause failure of loading. + </p> + */ + [optional,property] string MediaType; + + //------------------------------------------------------------------------- + /** please use the corresponding parameters of this descriptor instead + + <p> + String that summarizes some flags for loading. The string contains capital + letters for the flags:<br> + <table border=1> + <tr> + <td><strong>flag</strong></td> + <td><strong>value</strong></td> + <td><strong>replacement</strong></td> + </tr> + <tr> + <td><em>ReadOnly</em></td> + <td>R</td> + <td><member>MediaDescriptor::ReadOnly</member></td> + </tr> + <tr> + <td><em>Preview</em></td> + <td>B</td> + <td><member>MediaDescriptor::Preview</member></td> + </tr> + <tr> + <td><em>AsTemplate</em></td> + <td>T</td> + <td><member>MediaDescriptor::AsTemplate</member></td> + </tr> + <tr> + <td><em>Hidden</em></td> + <td>H</td> + <td><member>MediaDescriptor::Hidden</member></td> + </tr> + </table> + </p> + + @deprecated + */ + [optional,property] string OpenFlags; + + //------------------------------------------------------------------------- + /** opens a new view for an already loaded document + + <p> + Setting this to <TRUE/> forces the component to create a new window on loading + in any case. If the component supports multiple views, a second view is + opened, if not, the component is loaded one more time. Otherwise the behavior + depends on the default window handling of the <type scope="com::sun::star::frame">Desktop</type> environment. + </p> + */ + [optional,property] boolean OpenNewView; + + + //------------------------------------------------------------------------- + /** overwrite any existing file + + <p> + For storing only: overwrite any existing file, default is <FALSE/>, + so an error occurs if the target file already exists. + </p> + */ + [optional,property] boolean Overwrite; + + //------------------------------------------------------------------------- + /** pasword for loading storing documents + + <p> + It contains a password for loading or storing a component (if necessary). + If neither password nor encryption data is specified, loading of + a password protected document will fail, storing will be done without + encryption. If both are provided, the encryption data is used + ( if the filter supports it ). + </p> + */ + [optional,property] string Password; + + //------------------------------------------------------------------------- + /** contains the data for HTTP post method as a sequence of bytes. + + <p> + Data to send to a location described by the media descriptor to get + a result in return that will be loaded as a component + (usually in webforms). Default is: no PostData. + </p> + */ + [optional,property] sequence< byte > PostData; + + //------------------------------------------------------------------------- + /** use <member>MediaDescriptor::PostData</member> instead of this + + <p> + Same as PostData, but the data is transferred as a string + (just for compatibility). + </p> + + @deprecated + */ + [optional,property] string PostString; + + //------------------------------------------------------------------------- + /** show preview + + <p> + Setting this to <TRUE/> tells the a loaded component that it is loaded as + a preview, so it can optimize loading and viewing for this special purpose. + Default is <FALSE/>. + </p> + */ + [optional,property] boolean Preview; + + //------------------------------------------------------------------------- + /** open document readonly + + <p> + Tells whether a document should be loaded in a (logical) readonly or in + read/write mode. If opening in the desired mode is impossible, an error occurs. + By default the loaded content decides what to do: if its UCB content supports + a "readonly" property, the logical open mode depends on that, otherwise + it will be read/write. This is only a UI related property, opening a + document in read only mode will not prevent the component from being + modified by API calls, but all modifying functionality in the UI will + be disabled or removed. + </p> + */ + [optional,property] boolean ReadOnly; + + //------------------------------------------------------------------------- + /** start presentation from a document + + <p> + Tells the component loading the document that a presentation that is in the + document is to be started right away. + </p> + */ + [optional,property] boolean StartPresentation; + + //------------------------------------------------------------------------- + /** name of document referrer + + <p> + A URL describing the environment of the request; f.e. a referrer may be a + URL of a document, if a hyperlink inside this document is clicked to load + another document. The referrer may be evaluated by the addressed UCB content + or the loaded document. Without a referrer the processing of URLs that + needs security checks will be denied, f.e. "macro:" URLs. + <br> + Don't be confused about the wrong spelling; is kept for compatibility reasons. + </p> + */ + [optional,property] string Referer; + + //------------------------------------------------------------------------- + /** let the document be opened in repair mode + + <p> + For loading of corrupted zip packages: Setting this to <TRUE/> let the document + be opened in repair mode, so as much as possible information will be retrieved. + </p> + + @since OOo 1.1.2 + */ + [optional,property] boolean RepairPackage; + + //------------------------------------------------------------------------- + /** can be used for status informations + + <p> + Object implementing the <type scope="com::sun::star::task">XStatusIndicator</type> + interface that can be used to give status information (text or progress) for the task. + The office provides a default implementation for it. It is not allowed to keep + a reference to this object, even not in the loaded or stored components' + copy of the MediaDescriptor provided by its arguments attribute. + </p> + */ + [optional,property] com::sun::star::task::XStatusIndicator StatusIndicator; + + //------------------------------------------------------------------------- + /** allows to specify the URL that is used next time SaveAs dialog is opened + + <p> + If the parameter is specified, the URL will be used by SaveAs dialog + next time as target folder. + </p> + */ + [optional,property] string SuggestedSaveAsDir; + + //------------------------------------------------------------------------- + /** allows to specify the suggested file name that is used next time SaveAs + dialog is opened + + <p> + If the parameter is specified, the file name will be suggested by + SaveAs dialog next time. + </p> + */ + [optional,property] string SuggestedSaveAsName; + + //------------------------------------------------------------------------- + /** name of the template instead of the URL + + <p> + The logical name of a template to load. Together with the <member>MediaDescriptor::TemplateRegion</member> + property it can be used instead of the URL of the template. Use always in conjunction with + <member>MediaDescriptor::TemplateRegionName</member>. + </p> + */ + [optional,property] string TemplateName; + + //------------------------------------------------------------------------- + /** name of the template instead of the URL + + <p> + The logical name of a template to load. Together with the <member>MediaDescriptor::TemplateRegion</member> + property it can be used instead of the URL of the template. Use always in conjunction with + <member>MediaDescriptor::TemplateRegionName</member>. + </p> + */ + [optional,property] string TemplateRegionName; + + //------------------------------------------------------------------------- + /** regulate using of compressing + + <p> + For storing: Setting this to <TRUE/> means, don't use a zip file to save + the document, use a folder instead (only usable for UCB contents, that + support folders). Default is <FALSE/>. + </p> + */ + [optional,property] boolean Unpacked; + + //------------------------------------------------------------------------- + /** URL of the document + + <p> + The location of the component in URL syntax. It must be the full qualified URL and + must include f.e. an optional <member>MediaDescriptor::JumpMark</member> too. + </p> + */ + [optional,property] string URL; + + //------------------------------------------------------------------------- + /** storage version + + <p> + For components supporting versioning: the number of the version to be + loaded or saved. Default is zero and means: no version is created or + loaded, the "main" document is processed. + </p> + */ + [optional,property] short Version; + + //------------------------------------------------------------------------- + /** set special view state + <p> + Data to set a special view state after loading. The type depends on + the component and is usually retrieved from a <type scope="com::sun::star::frame">Controller</type> + object by its <type scope="com::sun::star::frame">XController</type> + interface. Default is: no view data. + </p> + */ + [optional,property] any ViewData; + + //------------------------------------------------------------------------- + /** id of the initial view + + <p> + For components supporting different views: a number to define the view + that should be constructed after loading. Default is: zero, and this + should be treated by the component as the default view. + </p> + */ + [optional,property] short ViewId; + + //------------------------------------------------------------------------- + /** should the macro be executed. + the value should be one from <type scope="com::sun::star::document">MacroExecMode</type> + constant list. + + @since OOo 1.1.2 + */ + [optional,property] short MacroExecutionMode; + + //------------------------------------------------------------------------- + /** can the document be updated depending from links. + the value should be one from <type scope="com::sun::star::document">UpdateDocMode</type> + constant list. + + @since OOo 1.1.2 + */ + [optional,property] short UpdateDocMode; + + //------------------------------------------------------------------------- + /** specifies the name of the view controller to create when loading a document + + <p>If this property is used when loading a document into a frame, then it + specifies the name of the view controller to create. That is, the property + is passed to the document's <member scope="com::sun::star::frame">XModel2::createViewController</member> + method.<br/> + If the loaded document does not support the <code>XModel2</code> interface, + the property is ignored.</p> + + @see ::com::sun::star::frame::XModel2::createViewController + @see ::com::sun::star::frame::XController2::ViewControllerName + + @since OOo 3.0 + */ + [optional,property] string ViewControllerName; + //------------------------------------------------------------------------- + + /** specifies the frame containing the document. May be empty. + */ + [optional,property] com::sun::star::frame::XFrame Frame; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/NoSuchFilterRequest.idl b/offapi/com/sun/star/document/NoSuchFilterRequest.idl new file mode 100644 index 000000000000..604143bac339 --- /dev/null +++ b/offapi/com/sun/star/document/NoSuchFilterRequest.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_NoSuchFilterRequest_idl__ +#define __com_sun_star_document_NoSuchFilterRequest_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** should be used for interaction to handle states of unknown filter during detection + + <p> + If during loading time the filter can't be detected and wasn't given at calling time, + a possible <type scope="com::sun::star::task">InteractionHandler</type> will be used. + (it's a a part of used <type>MediaDescriptor</type>) + Such "NoSuchFilterRequest" will be used then to start right interaction on that to + get a decision wich filter should be used for given URL. A possible continiuation + of type <type>XInteractionFilterSelect</type> will transport this decision back to + generic filter detection and force using of it. Of course it's possible to abort + the loading process by use another continuation <type scope="com::sun::star::task">XInteractionAbort</type>. + </p> + + @see MediaDescriptor + @see com::sun::star::task::InteractionHandler + @see XInteractionFilterSelect + @see com::sun::star::task::XInteractionAbort +*/ +published exception NoSuchFilterRequest : ::com::sun::star::uno::Exception +{ + //------------------------------------------------------------------------- + /** transport URL which couldn't be detected + */ + string URL; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl b/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl new file mode 100644 index 000000000000..afb96812e6f3 --- /dev/null +++ b/offapi/com/sun/star/document/OOXMLDocumentPropertiesImporter.idl @@ -0,0 +1,48 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_OOXMLDocumentPropertiesImporter_idl__ +#define __com_sun_star_document_OOXMLDocumentPropertiesImporter_idl__ + +#ifndef __com_sun_star_document_XOOXMLDocumentPropertiesImporter_idl__ +#include <com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** allows to import document properties from OOXML format + */ +service OOXMLDocumentPropertiesImporter : XOOXMLDocumentPropertiesImporter; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/OfficeDocument.idl b/offapi/com/sun/star/document/OfficeDocument.idl new file mode 100644 index 000000000000..8467d206ff38 --- /dev/null +++ b/offapi/com/sun/star/document/OfficeDocument.idl @@ -0,0 +1,200 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 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 neccessary 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 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 wich 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 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 <type>DocumentProperties</type>. + + @since OOo 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 diff --git a/offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl b/offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl new file mode 100644 index 000000000000..b47abb27aeda --- /dev/null +++ b/offapi/com/sun/star/document/OleEmbeddedServerRegistration.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_OleEmbeddedServerRegistration_idl__ +#define __com_sun_star_document_OleEmbeddedServerRegistration_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** registers embedded server for StarOffice documents + <p> + This service is only used to register embedded server support + for StarOffice documents. + </p> + + @since OOo 1.1.2 + */ +published service OleEmbeddedServerRegistration +{ + + interface com::sun::star::uno::XInterface; + +}; + +//============================================================================= + +}; }; }; }; + +/*============================================================================= + +=============================================================================*/ +#endif + diff --git a/offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl b/offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl new file mode 100644 index 000000000000..c2448f65ab42 --- /dev/null +++ b/offapi/com/sun/star/document/OwnLockOnDocumentRequest.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_OwnLockOnDocumentRequest_idl__ +#define __com_sun_star_document_OwnLockOnDocumentRequest_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_frame_XModel_idl__ +#include <com/sun/star/frame/XModel.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** Is used for interaction handle to query user decision regarding locked + document. + + @since OOo 3.1 +*/ +published exception OwnLockOnDocumentRequest : ::com::sun::star::uno::Exception +{ + /** The URL of the locked document. + */ + string DocumentURL; + + /** The time from which the document is locked. + */ + string TimeInfo; + + /** Whether the request is related to storing process + */ + boolean IsStoring; +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/PDFDialog.idl b/offapi/com/sun/star/document/PDFDialog.idl new file mode 100644 index 000000000000..6de6e05497c1 --- /dev/null +++ b/offapi/com/sun/star/document/PDFDialog.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_PDFDialog_idl__ +#define __com_sun_star_document_PDFDialog_idl__ + +#ifndef __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__ +#include <com/sun/star/ui/dialogs/FilterOptionsDialog.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** This service is for a PDFDialog + */ +service PDFDialog +{ + service com::sun::star::ui::dialogs::FilterOptionsDialog; + + //------------------------------------------------------------------------- + /** PDFDialog options can be set as sequence of + com.sun.star.beans.PropertyValue at the FilterData property of the + MediaDescriptor. The PropertyValues which are supported within the + sequence are described in the registry at Office.Common/Filter/PDF/Export + + The source of this registry can be found in following file: + "officecfg/registry/schema/org/openoffice/Office/Common.xcs" + */ + + //------------------------------------------------------------------------- +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/PrinterIndependentLayout.idl b/offapi/com/sun/star/document/PrinterIndependentLayout.idl new file mode 100644 index 000000000000..edefba369eb8 --- /dev/null +++ b/offapi/com/sun/star/document/PrinterIndependentLayout.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_PrinterIndependentLayout_idl__ +#define __com_sun_star_document_PrinterIndependentLayout_idl__ + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** specifies whether the document printer metric is used. + + @since OOo 1.1.2 +*/ +published constants PrinterIndependentLayout +{ + /** use printer-dependent metrics for layout */ + const short DISABLED = 1; + + /** use printer-independent metrics for layout, + assuming a generic 600dpi printer */ + const short LOW_RESOLUTION = 2; + + /** @deprecated ENABLED changed to LOW_RESOLUTION, + to distinguish from HIGH_RESOLUTION */ + const short ENABLED = LOW_RESOLUTION; + + /** use printer-independent metrics for layout, + assuming a generic high-resolution printer (4800dpi) */ + const short HIGH_RESOLUTION = 3; + + /** [future:] use printer-independent-layout settings from parent object + const short LIKE_PARENT = 4; + */ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/RedlineDisplayType.idl b/offapi/com/sun/star/document/RedlineDisplayType.idl new file mode 100644 index 000000000000..991ecc190b9c --- /dev/null +++ b/offapi/com/sun/star/document/RedlineDisplayType.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_RedlineDisplayType_idl__ +#define __com_sun_star_document_RedlineDisplayType_idl__ + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** specifies which changes in a document are displayed. + */ +published constants RedlineDisplayType +{ + /** no changes are displayed. + */ + const short NONE = 0; + + /** only inserted parts are displayed and attributed. + */ + const short INSERTED = 1; + + /** only inserted parts are displayed and attributed. + */ + const short INSERTED_AND_REMOVED = 2; + + /** only removed parts are displayed and attributed. + */ + const short REMOVED = 3; +}; + +};};};}; +#endif + + diff --git a/offapi/com/sun/star/document/Settings.idl b/offapi/com/sun/star/document/Settings.idl new file mode 100644 index 000000000000..aa55320c773c --- /dev/null +++ b/offapi/com/sun/star/document/Settings.idl @@ -0,0 +1,291 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_Settings_idl__ +#define __com_sun_star_document_Settings_idl__ + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif +#ifndef __com_sun_star_i18n_XForbiddenCharacters_idl__ +#include <com/sun/star/i18n/XForbiddenCharacters.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** describes properties that apply to the whole document of any + application. + + <p>For application specific settings, please refer to the + individual services.</p> + + @see com::sun::star::text::DocumentSettings + @see com::sun::star::sheet::DocumentSettings + @see com::sun::star::drawing::DocumentSettings + @see com::sun::star::presentation::DocumentSettings + */ +published service Settings +{ + /** gives access to the properties implemented by this service. + */ + interface com::sun::star::beans::XPropertySet; + + //------------------------------------------------------------------------- + + // Note: These settings are global. However there is a note at + // every property that shows which application currently makes use + // of it. + + // Writer and Draw/Impress and Calc + //------------------------------------------------------------------------- + /** gives access to the set of forbidden characters. + + @return the + <type scope="com::sun::star::i18n">XForbiddenCharacters</type> + interface to allow retreival and modification of the + forbidden characters set. + */ + [optional, property] com::sun::star::i18n::XForbiddenCharacters ForbiddenCharacters; + + // Writer and Calc + //------------------------------------------------------------------------- + /** specifies the update mode for links when loading text documents. + + <p>For supported values see the constants group + <type>LinkUpdateModes</type>.</p> + */ + [optional, property] short LinkUpdateMode; + + // Writer and Draw/Impress and Calc + //------------------------------------------------------------------------- + /** printer used by the document. + */ + [property] string PrinterName; + + // Writer and Draw/Impress and Calc + //------------------------------------------------------------------------- + /** platform and driver dependent printer setup data. + + <p>This property serves to capture the current printer setup + settings, such as paper tray, printer options, etc. The data + can typically be interpreted only by the system that generated + it. The PrinterSetup property may be used to save and restore + the user's printer settings.</p> + */ + [property] sequence< byte > PrinterSetup; + + // Writer and Draw/Impress and Calc + //------------------------------------------------------------------------- + /** specifies if kerning is applied to Asian punctuation. + + <p>Applies only if kerning is enabled.</p> + */ + [optional, property] boolean IsKernAsianPunctuation; + + // Writer and Draw/Impress and Calc + //------------------------------------------------------------------------- + /** specifies the compression (character spacing) type used for + Asian characters. + + @see com::sun::star::text::CharacterCompressionType + */ + [optional, property] short CharacterCompressionType; + + // Writer and Draw/Impress and Calc + //------------------------------------------------------------------------- + /** specifies if the user-specific settings saved within a + document should be loaded with the document. + */ + [optional, property] boolean ApplyUserData; + + // Writer and Calc + //------------------------------------------------------------------------- + /** specifies if a new version is created if a document has + been modified and you want to close it. + */ + [optional, property] boolean SaveVersionOnClose; + + // Writer and Draw/Impress and Calc + //------------------------------------------------------------------------- + /** specifies if the document should be updated when the + template it was created from changes. + + <p>Applies only for documents that were created from a template.</p> + */ + [optional, property] boolean UpdateFromTemplate; + + // Writer + //------------------------------------------------------------------------- + /** specifies if fields in text documents are updated automatically. + */ + [optional, property] boolean FieldAutoUpdate; + + // Writer + //------------------------------------------------------------------------- + /** The name of the globally registered + <type scope="com::sun::star::sdb">DataSource</type> + from which the current data is taken. + + <p>The data source can e.g. be used for feeding a form + letter.</p> + */ + [optional, property] string CurrentDatabaseDataSource; + + // Writer + //------------------------------------------------------------------------- + /** a string value, specifying the name of the object displayed + currently (or the SQL statement used). + */ + [optional, property] string CurrentDatabaseCommand; + + // Writer + //------------------------------------------------------------------------- + // Note: What is the property DataTableName? Is this Writer-specific? + /** determines the interpretation of the property DataTableName. + + @see com::sun::star::sdb::CommandType + */ + [optional, property] long CurrentDatabaseCommandType; + + // Draw and Impress + //------------------------------------------------------------------------- + /** + */ + [optional, property] long DefaultTabStop; + + // Draw and Impress + //------------------------------------------------------------------------- + /** determines if the document will be printed as a booklet + (brochure), i.e., two document pages are put together on one + physical page, such that you can fold the print result and get + a booklet. + + <p>Note, that you have to print in duplex mode, if both, + <member>IsPrintBookletFront</member> and + <member>IsPrintBookletBack</member> are set to <TRUE/>.</p> + */ + [optional, property] boolean IsPrintBooklet; + + // Draw and Impress + //------------------------------------------------------------------------- + /** is only effective, if <member>IsPrintBooklet</member> is + <TRUE/>. If this property is also <TRUE/>, only the fronts of + the pages of your booklet are printed. + + <p>This is especially useful, if your printer does not supply + duplex printing.</p> + */ + [optional, property] boolean IsPrintBookletFront; + + // Draw and Impress + //------------------------------------------------------------------------- + /** is only effective, if <member>IsPrintBooklet</member> is + <TRUE/>. If this property is also <TRUE/>, only the backs of + the pages of your booklet are printed. + + <p>This is especially useful, if your printer does not supply + duplex printing.</p> + */ + [optional, property] boolean IsPrintBookletBack; + + // Draw and Impress + //------------------------------------------------------------------------- + // Note: Define a constant group for that? + /** + */ + [optional, property] long PrintQuality; + + // Draw and Impress + //------------------------------------------------------------------------- + /** contains the URL that points to a color table (file extension + .soc) that will be used for showing a palette in dialogs using + colors. + */ + [optional, property] string ColorTableURL; + + // Draw and Impress + //------------------------------------------------------------------------- + /** + */ + [optional, property] string DashTableURL; + + // Draw and Impress + //------------------------------------------------------------------------- + /** + */ + [optional, property] string LineEndTableURL; + + // Draw and Impress + //------------------------------------------------------------------------- + /** + */ + [optional, property] string HatchTableURL; + + // Draw and Impress + //------------------------------------------------------------------------- + /** + */ + [optional, property] string GradientTableURL; + + // Draw and Impress + //------------------------------------------------------------------------- + /** + */ + [optional, property] string BitmapTableURL; + + // Calc + //------------------------------------------------------------------------- + /** + */ + [optional, property] boolean AutoCalculate; + + // Writer, later others + //------------------------------------------------------------------------- + /** forbid use of printer metrics for layout + + <p>For supported values see the constants group + <type>PrinterIndependentLayout</type>.</p> + */ + [optional, property] short PrinterIndependentLayout; + + // Writer, maybe later other applications, too + //------------------------------------------------------------------------- + /** layout engine should add value of a Font's 'external leading' + * attribute to the line spacing. + */ + [optional, property] boolean AddExternalLeading; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/StandaloneDocumentInfo.idl b/offapi/com/sun/star/document/StandaloneDocumentInfo.idl new file mode 100644 index 000000000000..a10515c7568b --- /dev/null +++ b/offapi/com/sun/star/document/StandaloneDocumentInfo.idl @@ -0,0 +1,79 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_StandaloneDocumentInfo_idl__ +#define __com_sun_star_document_StandaloneDocumentInfo_idl__ + +#ifndef __com_sun_star_document_DocumentInfo_idl__ +#include <com/sun/star/document/DocumentInfo.idl> +#endif + +#ifndef __com_sun_star_document_XStandaloneDocumentInfo_idl__ +#include <com/sun/star/document/XStandaloneDocumentInfo.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module document { + +//============================================================================= +/** extends the service <type>DocumentInfo</type> to have access on such + document properties without loading the whole document + + <p> + First action on this service must be to specify which document should be handled. + Otherwise all supported properties of <type>DocumentInfo</type> will be set to + void values. Loading of a document doesn't mean - loading all. It means reading + of special part only, which includes searched information. Same procedure for saving + of may changed values back to the document. + </p> + + @deprecated Use <type>DocumentProperties</type> instead. + + @see DocumentInfo + */ +published service StandaloneDocumentInfo +{ + //------------------------------------------------------------------------- + /** use it to specify ressource or target of document info data + + <p> + Must be the first action on this service. Otherwise all properties will be void. + </p> + */ + interface XStandaloneDocumentInfo; + + //------------------------------------------------------------------------- + /** access to document info data + */ + service DocumentInfo; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/TypeDetection.idl b/offapi/com/sun/star/document/TypeDetection.idl new file mode 100644 index 000000000000..eb754e62a12e --- /dev/null +++ b/offapi/com/sun/star/document/TypeDetection.idl @@ -0,0 +1,198 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_TypeDetection_idl__ +#define __com_sun_star_document_TypeDetection_idl__ + +#ifndef __com_sun_star_document_XTypeDetection_idl__ +#include <com/sun/star/document/XTypeDetection.idl> +#endif + +#ifndef __com_sun_star_container_XNameContainer_idl__ +#include <com/sun/star/container/XNameContainer.idl> +#endif + +#ifndef __com_sun_star_container_XContainerQuery_idl__ +#include <com/sun/star/container/XContainerQuery.idl> +#endif + +#ifndef __com_sun_star_util_XFlushable_idl__ +#include <com/sun/star/util/XFlushable.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** capsulate a type detection service and provide read/write access on it's configuration data. + + <p> + It's possible to make a "flat" detection wich may use internal configuration + data only - or a "deep" detection which use special <type>ExtendedTypeDetection</type> + services to look into the document stream. Last mode can be supressed to perform the operation. + Of course the results can't be guaranteed then. (e.g. in case the extension was changed) + </p> + */ +published service TypeDetection +{ + //------------------------------------------------------------------------- + /** can be used to make a flat or deep type detection. + + <p> + Use this interface to get information about the type of the given resource. + Return value will be always an internal name of a registered document type. + It can be used may on other services (e.g. <type scope="com::sun::star::frame">FrameLoaderFactory</type>) + to do further things, which base on it (e.g. to load it into a frame). + </p> + */ + interface XTypeDetection; + + //------------------------------------------------------------------------- + /** provides read access to the complete set of type configuration data. + + <p> + Every container item is specified as a set of properties and will be + represented by a sequence< <type scope="com::sun::star::beans">PropertyValue</type> > structure. + Follow properties are supported: + (But note: not all of them must be present everytimes!) + + <table border=1> + <tr> + <td><strong>Property Name</strong></td> + <td><strong>Value Type</strong></td> + <td><strong>Description</strong></td> + </tr> + <tr> + <td><em>Name</em></td> + <td>[string]</td> + <td>The internal name is the only value, which makes a container item unique.</td> + </tr> + <tr> + <td><em>UIName</em></td> + <td>[string]</td> + <td>It contains the localized name for this type for the current locale.</td> + </tr> + <tr> + <td><em>UINames</em></td> + <td>[sequence< string >]</td> + <td>It contains all available localized names for this type. The are organized + in pairs and represented as a structure of sequence< <type scope="com::sun::star::beans">PropertyValue</type> >. + The name of such property must be interpreted as locale; it's value as the localized + type name corresponding to this locale.</td> + </tr> + <tr> + <td><em>MediaType</em></td> + <td>[string]</td> + <td>It contains the MIME or content type descriptor. The differences between a MIME type and + an internal type name was made, to resolve existing ambigities.</td> + </tr> + <tr> + <td><em>ClipboardFormat</em><strong>deprecated!</strong></td> + <td>[string]</td> + <td>It was interepreted as an identifier inside clipboard. + Please use new property ContentFormat instead of this now.</td> + </tr> + <tr> + <td><em>ContentFormat</em></td> + <td>[string]</td> + <td>It's and identifier, which is used for a deep format detection. + An <type>ExtendedTypeDetection</type> use this value to match + a given content to this type. e.g. It's interpreted as the doc type + of an XML stream or as an identifier inside a file header. + </td> + </tr> + <tr> + <td><em>URLPattern</em></td> + <td>[sequence< string >]</td> + <td>This list contains different URL patterns, which identify this type. + E.g. data base contents can be described by an new defined protocol like "sql://select*". + In combination with a sutable <type scope="com::sun::star::frame">FrameLoader</type> or + <type>ImportFilter</type>/<type>ExportFilter</type> it woul be possible then, to + layout a sql query output into an office frame.</td> + </tr> + <tr> + <td><em>Extensions</em></td> + <td>[sequence< string >]</td> + <td>It contains a list of file extensions, which match this type. + They must be specified as pure extension, without any special signs. + E.g.: "doc", "html" ... but not ".doc". + Using of wildcards is allowed but not very usefull. The may resulting + ambigities with other type registrations can't be resolved anytimes.</td> + </tr> + <tr> + <td><em>DocumentIconID</em></td> + <td>[integer]</td> + <td>It's an ID, which present the number of a corresponding icon.</td> + </tr> + </table> + </p> + + <p> + Note:<br> + All elements of this container will be adressed by his internal name, + and it must be an unambigous value. + </p> + */ + interface com::sun::star::container::XNameAccess; + + //------------------------------------------------------------------------- + /** provides a write access to the configuration data. + */ + [optional] interface com::sun::star::container::XNameContainer; + + //------------------------------------------------------------------------- + /** provides search on the configuration data set. + + <p> + Against simple property search it provides some complex algorithms too. + For further informations please read the SDK documentation. + </p> + */ + [optional] interface com::sun::star::container::XContainerQuery; + + //------------------------------------------------------------------------- + /** can be used to perform container changes. + + <p> + Because the complexness of such configuration set can be very high, + it seams not very usefull to update the undelying configuration layer + on every container change request immediatly. Another strategy can be to + make all changes (adding/changing/removing of items) and call flush at the end. + That will validate the whole container and reject inconsistent data sets. + Only in case all made changes was correct, they will be written back to the + configuration. Further this interface provides the possibelity, that interested + changes listener can be registered too. + </p> + */ + [optional] interface com::sun::star::util::XFlushable; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/UndoContextNotClosedException.idl b/offapi/com/sun/star/document/UndoContextNotClosedException.idl new file mode 100755 index 000000000000..81eeca83c7ac --- /dev/null +++ b/offapi/com/sun/star/document/UndoContextNotClosedException.idl @@ -0,0 +1,51 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_UndoContextNotClosedException_idl__ +#define __com_sun_star_document_UndoContextNotClosedException_idl__ + +#include <com/sun/star/util/InvalidStateException.idl> + +//================================================================================================================== + +module com { module sun { module star { module document { + +//================================================================================================================== + +/** is thrown when an operation is attempted at an <type>XUndoManager</type> which requires all undo + contexts to be closed, but this requirement is not fullfilled. + */ +published exception UndoContextNotClosedException : ::com::sun::star::util::InvalidStateException +{ +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/document/UndoFailedException.idl b/offapi/com/sun/star/document/UndoFailedException.idl new file mode 100755 index 000000000000..65b23148ad37 --- /dev/null +++ b/offapi/com/sun/star/document/UndoFailedException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_UndoFailedException_idl__ +#define __com_sun_star_document_UndoFailedException_idl__ + +#include <com/sun/star/uno/Exception.idl> + +//================================================================================================================== + +module com { module sun { module star { module document { + +//================================================================================================================== + +/** thrown when reverting to re-applying an undoable action fails. + + @see XUndoAction::undo + @see XUndoManager::undo + */ +published exception UndoFailedException : ::com::sun::star::uno::Exception +{ + /** describes the reason why the operation failed. Usually, this member will carry an exception. + */ + any Reason; +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/document/UndoManagerEvent.idl b/offapi/com/sun/star/document/UndoManagerEvent.idl new file mode 100755 index 000000000000..163b9c6dd33d --- /dev/null +++ b/offapi/com/sun/star/document/UndoManagerEvent.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_UndoManagerEvent_idl__ +#define __com_sun_star_document_UndoManagerEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + +//================================================================================================================== + +module com { module sun { module star { module document { + +//================================================================================================================== + +/** is an event sent by an <type>XUndoManager</type> implementation when the Undo/Redo stacks of the manager are + modified. + @see XUndoManager + @see XUndoManagerListener + @see XUndoAction + */ +published struct UndoManagerEvent : ::com::sun::star::lang::EventObject +{ + /** the title of the undo action which is described by the event + @see XUndoAction::Title + */ + string UndoActionTitle; + + /** denotes the number of Undo contexts which are open, and not yet closed, at the time the event is fired. + @see XUndoManager::enterUndoContext + */ + long UndoContextDepth; +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/document/UpdateDocMode.idl b/offapi/com/sun/star/document/UpdateDocMode.idl new file mode 100644 index 000000000000..52e8a37cb011 --- /dev/null +++ b/offapi/com/sun/star/document/UpdateDocMode.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_UpdateDocMode_idl__ +#define __com_sun_star_document_UpdateDocMode_idl__ + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** Specify the way a document can be updated. + + @since OOo 1.1.2 +*/ +published constants UpdateDocMode +{ + //------------------------------------------------------------------------- + /** Do not update document. + */ + + const short NO_UPDATE = 0; + + //------------------------------------------------------------------------- + /** Update document if it does not require a dialog. + Otherwise do not update. For example a link to a database + can require a dialog to get password for an update. + */ + + const short QUIET_UPDATE = 1; + + //------------------------------------------------------------------------- + /** Produce update according to configuration settings. + If there are no settings use dialog. + */ + + const short ACCORDING_TO_CONFIG = 2; + + //------------------------------------------------------------------------- + /** Update document even if it does require a dialog. + */ + + const short FULL_UPDATE = 3; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XActionLockable.idl b/offapi/com/sun/star/document/XActionLockable.idl new file mode 100644 index 000000000000..62add1717cd8 --- /dev/null +++ b/offapi/com/sun/star/document/XActionLockable.idl @@ -0,0 +1,88 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XActionLockable_idl__ +#define __com_sun_star_document_XActionLockable_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** makes it possible to prevent object internal updates for a certain period + to be able to quickly change multiple parts of the objects, where the + updates would invalidate each other, anyway. + */ +published interface XActionLockable: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** @returns + <TRUE/> if at least one lock exists. + */ + boolean isActionLocked(); + + //------------------------------------------------------------------------- + /** increments the lock count of the object by one. + */ + void addActionLock(); + + //------------------------------------------------------------------------- + /** decrements the lock count of the object by one. + */ + void removeActionLock(); + + //------------------------------------------------------------------------- + /** sets the locking level. + + <p>This method is used for debugging purposes. The programming + environment can restore the locking after a break of a debug + session.</p> + */ + void setActionLocks( [in] short nLock ); + + //------------------------------------------------------------------------- + /** resets the locking level. + + <p>This method is used for debugging purposes. The debugging + environment of a programming language can reset the locks + to allow refreshing of the view if a breakpoint is reached or + step execution is used. </p> + */ + short resetActionLocks(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XBinaryStreamResolver.idl b/offapi/com/sun/star/document/XBinaryStreamResolver.idl new file mode 100644 index 000000000000..0f38a6d85606 --- /dev/null +++ b/offapi/com/sun/star/document/XBinaryStreamResolver.idl @@ -0,0 +1,84 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XBinaryStreamResolver_idl__ +#define __com_sun_star_document_XBinaryStreamResolver_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif +#ifndef __com_sun_star_io_XInputStream_idl__ +#include <com/sun/star/io/XInputStream.idl> +#endif +#ifndef __com_sun_star_io_XOututStream_idl__ +#include <com/sun/star/io/XOutputStream.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** + <p>This interface encapsulates functionality to get/resolve binary data streams. + It is used to transform binary data to an url or to transform an url to binary + data. The binary data is represented through input and output streams.</p> + + <p>In the case of transforming an url to binary data, the <code>getInputStream</code> + method is used. This returns a <type scope="com::sun::star::io">XInputStream</type> + from which the binary data, transformed from the given url, can be read.</p> + + <p>In the case of transforming binary data to an url, a + <type scope="com::sun::star::io">XOutputStream</type> is created first to write + the binary data to. After this, the <code>resolveOutputStream</code> method can + be used to transform the binary data, represented through the + <type scope="com::sun::star::io">XOutputStream</type> interface, to an url.</p> + */ +published interface XBinaryStreamResolver: com::sun::star::uno::XInterface +{ + /** converts the given URL from the source URL namespace to an input stream, + from which binary data can be read + */ + com::sun::star::io::XInputStream getInputStream( [in] string aURL ); + + /** creates an output stream, to which binary data can be written. + After writing, an URL can be retrieved by a call to + <method>XBinaryStreamResolver::resolveOutputStream</method>. + */ + com::sun::star::io::XOutputStream createOutputStream(); + + /** converts the output stream, data has been written to, to an URL in + source URL namespace. + */ + string resolveOutputStream( [in] com::sun::star::io::XOutputStream aBinaryStream ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XCodeNameQuery.idl b/offapi/com/sun/star/document/XCodeNameQuery.idl new file mode 100755 index 000000000000..948c86debf3a --- /dev/null +++ b/offapi/com/sun/star/document/XCodeNameQuery.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDocumentPropertiesSupplier.idl,v $ + * + * $Revision$ + * + * last change: $Author$ $Date$ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ +#ifndef __com_sun_star_document_XCodeNameQuery_idl__ +#define __com_sun_star_document_XCodeNameQuery_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { +//============================================================================= +interface XCodeNameQuery +{ + //------------------------------------------------------------------------- + string getCodeNameForObject( [in] com::sun::star::uno::XInterface aObj ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl b/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl new file mode 100644 index 000000000000..7274083fcf1e --- /dev/null +++ b/offapi/com/sun/star/document/XDocumentEventBroadcaster.idl @@ -0,0 +1,125 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * +************************************************************************/ + +#ifndef __com_sun_star_document_XDocumentEventBroadcaster_idl__ +#define __com_sun_star_document_XDocumentEventBroadcaster_idl__ + +#ifndef __com_sun_star_frame_XController2_idl__ +#include <com/sun/star/frame/XController2.idl> +#endif + +#ifndef __com_sun_star_document_DocumentEvent_idl__ +#include <com/sun/star/document/DocumentEvent.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_lang_NoSupportException_idl__ +#include <com/sun/star/lang/NoSupportException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +published interface XDocumentEventListener; + +//============================================================================= + +/** allows to be notified of events happening in an <type>OfficeDocument</type>, and to cause notification + of such events. + + <p>This interface is the successor of the XEventBroadcaster interface, which should not be used + anymore.</p> + + @see DocumentEvent + @since OOo 3.1 +*/ +published interface XDocumentEventBroadcaster +{ + /** registers a listener which is notified about document events + + @param _Listener + the listener to register. The behaviour of the method is undefined this listener + is <NULL/>. + */ + void addDocumentEventListener( [in] XDocumentEventListener _Listener ); + + /** revokes a listener which has previously been registered to be notified about document events. + + @param _Listener + the listener to revoke. The behaviour of the method is undefined this listener + is <NULL/>. + */ + void removeDocumentEventListener( [in] XDocumentEventListener _Listener ); + + /** causes the broadcaster to notify all registered listeners of the given event + + <p>The method will create a <type>DocumentEvent</type> instance with the given parameters, + and fill in the <code>Source</code> member (denoting the broadcaster) as appropriate.</p> + + <p>Whether the actual notification happens synchronously or asynchronously is up to the + implementator of this method. However, implementations are encouraged to specify this, for the + list of supported event types, in their service contract.</p> + + <p>Implementations might also decide to limit the list of allowed events (means event names) at + their own discretion. Again, in this case they're encouraged to document this in their service + contract.</p> + + @param _EventName + the name of the event to be notified. + @param _ViewController + the view/controller which the event applies to. May be <NULL/> + @param _Supplement + supplemental information related to the event. + + @throws ::com::sun::star::lang::IllegalArgumentException + if <arg>_EventName</arg> is empty, or if <arg>_EventName</arg> is not supported by the + document implementation. + + @throws ::com::sun::star::lang::NoSupportException + if the broadcaster implementation does not supported broadcasting events induced externally. + This is usually used for components which multiplex events from multiple sources, and thus would + be unable to fill in the <code>Source</code> member of the <type>DocumentEvent</type> instance. + */ + void notifyDocumentEvent( + [in] string _EventName, + [in] ::com::sun::star::frame::XController2 _ViewController, + [in] any _Supplement + ) + raises ( ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::lang::NoSupportException ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/document/XDocumentEventListener.idl b/offapi/com/sun/star/document/XDocumentEventListener.idl new file mode 100644 index 000000000000..94548e52b578 --- /dev/null +++ b/offapi/com/sun/star/document/XDocumentEventListener.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * +************************************************************************/ + +#ifndef __com_sun_star_document_XDocumentEventListener_idl__ +#define __com_sun_star_document_XDocumentEventListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_document_DocumentEvent_idl__ +#include <com/sun/star/document/DocumentEvent.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** allows to be notified of events happening in an <type>OfficeDocument</type> + + <p>This interface is the successor of the XEventListener interface, which should not be used + anymore.</p> + + @see XDocumentEventBroadcaster + @since OOo 3.1 + */ +published interface XDocumentEventListener : ::com::sun::star::lang::XEventListener +{ + /** is called whenever a document event occured + */ + void documentEventOccured( [in] DocumentEvent Event ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/document/XDocumentInfo.idl b/offapi/com/sun/star/document/XDocumentInfo.idl new file mode 100644 index 000000000000..ea67495f44b9 --- /dev/null +++ b/offapi/com/sun/star/document/XDocumentInfo.idl @@ -0,0 +1,147 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XDocumentInfo_idl__ +#define __com_sun_star_document_XDocumentInfo_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_ArrayIndexOutOfBoundsException_idl__ +#include <com/sun/star/lang/ArrayIndexOutOfBoundsException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** provides access to the user fields for the information regarding the + document + + <p> + These fields are special one of the set of available document properties. + Other ones are accessed as properties (by using the interface + <type scope="com::sun::star::beans">XPropertySet</type>) of service + <type>DocumentInfo</type>. + </p> + + @deprecated Use <type>XDocumentProperties</type> instead. + + @see DocumentInfo + @see StandaloneDocumentInfo + @see com::sun::star::beans::XPropertySet + */ +published interface XDocumentInfo: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** provides information about count of available fields + + <p> + This count marks the top range of possible requests for get/set + any of these fields. Range = [0..count-1] + </p> + + @returns + current count + */ + short getUserFieldCount(); + + //------------------------------------------------------------------------- + /** returns the name of an user field + + @param Index + specifies the position of requested field + Range = [0..count-1] + + @returns + the name of the requested field + + @throws com::sun::star::lang::ArrayIndexOutOfBoundsException + if <var>Index</var> don't fit range of [0..count-1] + */ + string getUserFieldName( [in] short Index ) + raises( com::sun::star::lang::ArrayIndexOutOfBoundsException ); + + //------------------------------------------------------------------------- + /** returns the value of an user field + + @param Index + specifies the position of requested field + Range = [0..count-1] + + @returns + the value of the requested field + + @throws com::sun::star::lang::ArrayIndexOutOfBoundsException + if <var>Index</var> don't fit range of [0..count-1] + */ + string getUserFieldValue( [in] short Index ) + raises( com::sun::star::lang::ArrayIndexOutOfBoundsException ); + + //------------------------------------------------------------------------- + /** changes the name of one of the user fields + + @param Index + specifies the position of requested field + Range = [0..count-1] + + @param Name + the new name for this field to be set + + @throws com::sun::star::lang::ArrayIndexOutOfBoundsException + if <var>Index</var> don't fit range of [0..count-1] + */ + void setUserFieldName( + [in] short Index , + [in] string Name ) + raises( com::sun::star::lang::ArrayIndexOutOfBoundsException ); + + //------------------------------------------------------------------------- + /** changes the value of one of the user fields + + @param Index + specifies the position of requested field + Range = [0..count-1] + + @param Value + the new value for this field to be set + + @throws com::sun::star::lang::ArrayIndexOutOfBoundsException + if <var>Index</var> don't fit range of [0..count-1] + */ + void setUserFieldValue( + [in] short Index , + [in] string Value ) + raises( com::sun::star::lang::ArrayIndexOutOfBoundsException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XDocumentInfoSupplier.idl b/offapi/com/sun/star/document/XDocumentInfoSupplier.idl new file mode 100644 index 000000000000..ceb17d1bcc5b --- /dev/null +++ b/offapi/com/sun/star/document/XDocumentInfoSupplier.idl @@ -0,0 +1,74 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XDocumentInfoSupplier_idl__ +#define __com_sun_star_document_XDocumentInfoSupplier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_document_XDocumentInfo_idl__ +#include <com/sun/star/document/XDocumentInfo.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** through this interface documents can provide a <type>DocumentInfo</type> + + <p> + A <type>DocumentInfo</type> is available on already opened documents only + and must be provides by this supplier interface. + Instead of that you can use the service <type>StandaloneDocumentInfo</type> + to have access to such informations without opening the whole file. + It read/write parts of the document, which include the required informations, + only. + </p> + + @deprecated Use <type>XDocumentPropertiesSupplier</type> instead. + + @see DocumentInfo + @see StandaloneDocumentInfo + */ +published interface XDocumentInfoSupplier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** provides the document information object + + @returns + an object of type <type>DocumentInfo</type> + */ + XDocumentInfo getDocumentInfo(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XDocumentInsertable.idl b/offapi/com/sun/star/document/XDocumentInsertable.idl new file mode 100644 index 000000000000..60208ee05014 --- /dev/null +++ b/offapi/com/sun/star/document/XDocumentInsertable.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XDocumentInsertable_idl__ +#define __com_sun_star_document_XDocumentInsertable_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** makes it possible to import a document from a given URL + into this document. + */ +published interface XDocumentInsertable: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** inserts the document that is specified by the URL. + */ + void insertDocumentFromURL( [in] string aURL, + [in] sequence<com::sun::star::beans::PropertyValue> aOptions ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::io::IOException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XDocumentLanguages.idl b/offapi/com/sun/star/document/XDocumentLanguages.idl new file mode 100644 index 000000000000..c6f17125d050 --- /dev/null +++ b/offapi/com/sun/star/document/XDocumentLanguages.idl @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XDocumentLanguages_idl__ +#define __com_sun_star_document_XDocumentLanguages_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_Locale_idl__ +#include <com/sun/star/lang/Locale.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +interface XDocumentLanguages: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** retrieve the list of languages already used in current document + + @returns + sequence + */ + sequence< com::sun::star::lang::Locale > getDocumentLanguages( [in] short nScriptTypes, [in] short nCount ) + raises( com::sun::star::lang::IllegalArgumentException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XDocumentProperties.idl b/offapi/com/sun/star/document/XDocumentProperties.idl new file mode 100755 index 000000000000..8a3b2c1843aa --- /dev/null +++ b/offapi/com/sun/star/document/XDocumentProperties.idl @@ -0,0 +1,460 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XDocumentProperties_idl__ +#define __com_sun_star_document_XDocumentProperties_idl__ + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +#ifndef __com_sun_star_util_DateTime_idl__ +#include <com/sun/star/util/DateTime.idl> +#endif + +#ifndef __com_sun_star_lang_Locale_idl__ +#include <com/sun/star/lang/Locale.idl> +#endif + +#ifndef __com_sun_star_beans_NamedValue_idl__ +#include <com/sun/star/beans/NamedValue.idl> +#endif + +#ifndef __com_sun_star_embed_XStorage_idl__ +#include <com/sun/star/embed/XStorage.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +#ifndef __com_sun_star_io_WrongFormatException_idl__ +#include <com/sun/star/io/WrongFormatException.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyContainer_idl__ +#include <com/sun/star/beans/XPropertyContainer.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** provides document-specific information such as the author, creation date, + and user-defined fields. + + <p> + This interface manages access to document meta-data properties. + Such properties may be set from the outside via the setter methods + (e.g. when importing arbitrary document formats that support + document properties), or imported from an ODF package via the methods + <member>loadFromStorage</member> and <member>loadFromMedium</member>. + The properties may also be stored via the methods + <member>storeToStorage</member> and <member>storeToMedium</member>. + </p> + + @since OOo 3.0 + + @see XDocumentPropertiesSupplier + for getting access to an instance from a loaded document + @see DocumentProperties for a service that implements this interface + */ +published interface XDocumentProperties +{ + //------------------------------------------------------------------------- + /** contains the initial author of the document. + */ + + [attribute] string Author; + + //------------------------------------------------------------------------- + /** identifies which application was used to create or last modify the + document. + <p> + The generating application will set this attribute when it creates a + new document or it saves a document. When a document is loaded that + itself contains such an attribute it will be preserved until the + document is saved again. + </p> + */ + + [attribute] string Generator; + + //------------------------------------------------------------------------- + /** contains the date and time when the document was created. + */ + + [attribute] com::sun::star::util::DateTime CreationDate; + + //------------------------------------------------------------------------- + /** contains the title of the document. + */ + + [attribute] string Title; + + //------------------------------------------------------------------------- + /** contains the subject of the document. + */ + + [attribute] string Subject; + + //------------------------------------------------------------------------- + /** contains a multi-line comment describing the document. + <p> + Line delimiters can be UNIX, Macintosh or DOS style. + </p> + */ + + [attribute] string Description; + + //------------------------------------------------------------------------- + /** contains a list of keywords for the document. + */ + + [attribute] sequence< string > Keywords; + + //------------------------------------------------------------------------- + /** contains the default language of the document. + */ + + [attribute] com::sun::star::lang::Locale Language; + + //------------------------------------------------------------------------- + /** contains the name of the person who most recently stored the document. + */ + + [attribute] string ModifiedBy; + + //------------------------------------------------------------------------- + /** contains the date and time of the last time the document was stored. + <p> + If the document has never been stored, contains a default value. + </p> + */ + + [attribute] com::sun::star::util::DateTime ModificationDate; + + //------------------------------------------------------------------------- + /** contains the name of the person who most recently printed the document. + */ + + [attribute] string PrintedBy; + + //------------------------------------------------------------------------- + /** contains the date and time when the document was last printed. + <p> + If the document has never been printed, contains a default value. + </p> + */ + + [attribute] com::sun::star::util::DateTime PrintDate; + + //------------------------------------------------------------------------- + /** contains the name of the template from which the document was created. + <p> + The value is an empty <atom>string</atom> if the document was not + created from a template or if it was detached from the template. + </p> + */ + + [attribute] string TemplateName; + + //------------------------------------------------------------------------- + /** contains the URL of the template from which the document was created. + <p> + The value is an empty <atom>string</atom> if the document was not + created from a template or if it was detached from the template. + </p> + */ + + [attribute] string TemplateURL; + + //------------------------------------------------------------------------- + /** contains the date and time of when the document + was created or updated from the template. + */ + + [attribute] com::sun::star::util::DateTime TemplateDate; + + //------------------------------------------------------------------------- + /** contains the URL to load automatically at a + specified time after the document is loaded into a desktop frame. + <p> + An empty URL is valid and describes a case where the document shall be + reloaded from its original loction after some time described by the + attribute <member>AutoloadSecs</member>. + An empty <atom>string</atom> together with an + <member>AutoloadSecs</member> value of 0 + describes a case where no autoload is specified. + </p> + + @see AutoloadSecs + */ + + [attribute] string AutoloadURL; + + //------------------------------------------------------------------------- + /** contains the number of seconds after which a specified + URL is to be loaded after the document is loaded into a desktop + frame. + <p> + A value of 0 is valid and describes a redirection. + A value of 0 together with an empty <atom>string</atom> as + <member>AutoloadURL</member> + describes a case where no autoload is specified. + </p> + + @throws com::sun::star::lang::IllegalArgumentException + if argument is negative + + @see AutoloadURL + */ + + [attribute] long AutoloadSecs { + set raises ( com::sun::star::lang::IllegalArgumentException ); + }; + + //------------------------------------------------------------------------- + /** contains the name of the default frame into which + links should be loaded if no target is specified. + <p> + This applies to the autoload feature too, but to others as well. + </p> + */ + + [attribute] string DefaultTarget; + + //------------------------------------------------------------------------- + /** contains some statistics about the document. + <p> + The contained statistics may be specific to the type of the document. + </p> + */ + + [attribute] + sequence< com::sun::star::beans::NamedValue > DocumentStatistics; + + //------------------------------------------------------------------------- + /** describes how often the document was edited and saved. + <p> + </p> + + @throws com::sun::star::lang::IllegalArgumentException + if argument is negative + */ + + [attribute] short EditingCycles { + set raises ( com::sun::star::lang::IllegalArgumentException ); + }; + + //------------------------------------------------------------------------- + /** contains the net time of editing the document (in seconds). + <p> + </p> + + @throws com::sun::star::lang::IllegalArgumentException + if argument is negative + */ + + [attribute] long EditingDuration { + set raises ( com::sun::star::lang::IllegalArgumentException ); + }; + + //------------------------------------------------------------------------- + /** resets all attributes that could identify the user. + <p> + Clears the document properties, such that it apperars the document + has just been created. + This is a convenience method which resets several attributes at once, + as follows: + <ul> + <li><member>Author</member> is set to the given parameter.</li> + <li><member>CreationDate</member> is set to the current date and time. + </li> + <li><member>ModifiedBy</member> is cleared.</li> + <li><member>ModificationDate</member> is cleared.</li> + <li><member>PrintedBy</member> is cleared.</li> + <li><member>PrintDate</member> is cleared.</li> + <li><member>EditingDuration</member> is cleared.</li> + <li><member>EditingCycles</member> is set to 1.</li> + </ul> + + @param Author + the new value of the <member>Author</member> attribute. + </p> + */ + void resetUserData( [in] string Author ); + + //------------------------------------------------------------------------- + /** provides access to a container for user-defined properties. + <p> + The returned object also implements the interface + <type>com::sun::star::beans::XPropertySet</type>. + </p> + @returns a container that provides access to user-defined properties + */ + + com::sun::star::beans::XPropertyContainer getUserDefinedProperties(); + + //------------------------------------------------------------------------- + /** loads document properties from an ODF package. + <p> + This method is used for accessing an ODF package that is owned by + someone else, e.g., a document. + </p> + + @param Storage + the <type>com::sun::star::embed::Storage</type> representing the + ODF package + + @param Medium + the <type>com::sun::star::document::MediaDescriptor</type> + representing the source + <p> + This is unfortunately necessary in order to properly resolve + relative URLs in the meta-data. + </p> + + @throws com::sun::star::lang::IllegalArgumentException + if argument is <NULL/> + @throws com::sun::star::io::WrongFormatException + if parsing the XML document fails + @throws com::sun::star::lang::WrappedTargetException + if thrown when trying to open a stream in the given storage + @throws com::sun::star::io::IOException + if thrown when trying to open a stream in the given storage + */ + + void loadFromStorage( [in] com::sun::star::embed::XStorage Storage, + [in] sequence < com::sun::star::beans::PropertyValue > Medium ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::io::WrongFormatException, + com::sun::star::lang::WrappedTargetException, + com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + /** loads document properties from an ODF package or an OLE container. + + @param URL + the URL of the source document + <p> + The URL could be part of the Medium parameter, but because often + no other parameters except the URL are needed, providing it + separately was added for convenience. + </p> + + @param Medium + the <type>com::sun::star::document::MediaDescriptor</type> + representing the source + + @throws com::sun::star::io::WrongFormatException + if parsing the XML document fails + @throws com::sun::star::lang::WrappedTargetException + if thrown when trying to open a stream in the given storage + @throws com::sun::star::io::IOException + if thrown when trying to open a stream in the given storage + */ + + void loadFromMedium( [in] string URL, + [in] sequence < com::sun::star::beans::PropertyValue > Medium ) + raises( com::sun::star::io::WrongFormatException, + com::sun::star::lang::WrappedTargetException, + com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + /** stores document properties to an ODF package. + <p> + This method is used for accessing an ODF package that is owned by + someone else, e.g., a document. + Note that the implementation may choose to store the meta-data + in either OOo or ODF format, depending on the MediaType property + of the given <type>Storage</type> argument. + </p> + + @param Storage + the <type>com::sun::star::embed::Storage</type> representing the + ODF package + + @param Medium + the <type>com::sun::star::document::MediaDescriptor</type> + representing the source + <p> + This is unfortunately necessary in order to properly resolve + relative URLs in the meta-data. + </p> + + @throws com::sun::star::lang::IllegalArgumentException + if argument is <NULL/> + @throws com::sun::star::lang::WrappedTargetException + if thrown when trying to open a stream in the given storage + @throws com::sun::star::io::IOException + if thrown when writing to the storage + */ + + void storeToStorage( [in] com::sun::star::embed::XStorage Storage, + [in] sequence < com::sun::star::beans::PropertyValue > Medium ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::lang::WrappedTargetException, + com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + /** stores document properties to an ODF package or an OLE container. + + @param URL + the URL of the target document + <p> + The URL could be part of the Medium parameter, but because often + no other parameters except the URL are needed, providing it + separately was added for convenience. + </p> + + @param Medium + the <type>com::sun::star::document::MediaDescriptor</type> + representing the target + + @throws com::sun::star::lang::WrappedTargetException + if thrown when trying to open a stream in the given storage + @throws com::sun::star::io::IOException + if thrown when writing to the storage + */ + + void storeToMedium( [in] string URL, + [in] sequence < com::sun::star::beans::PropertyValue > Medium ) + raises( com::sun::star::lang::WrappedTargetException, + com::sun::star::io::IOException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl b/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl new file mode 100644 index 000000000000..811513d7a026 --- /dev/null +++ b/offapi/com/sun/star/document/XDocumentPropertiesSupplier.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XDocumentPropertiesSupplier_idl__ +#define __com_sun_star_document_XDocumentPropertiesSupplier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_document_XDocumentProperties_idl__ +#include <com/sun/star/document/XDocumentProperties.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** provides access to the <type>XDocumentProperties</type> instance of a + document. + <p> + A <type>DocumentProperties</type> instance is available on loaded documents + via this supplier interface. + </p> + + @since OOo 3.0 + + @see XDocumentProperties + @see DocumentProperties + */ +published interface XDocumentPropertiesSupplier +{ + //------------------------------------------------------------------------- + /** provides the document properties object. + + @returns + an object of type <type>XDocumentProperties</type> + */ + XDocumentProperties getDocumentProperties(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XDocumentRecovery.idl b/offapi/com/sun/star/document/XDocumentRecovery.idl new file mode 100644 index 000000000000..e5bf521d07f0 --- /dev/null +++ b/offapi/com/sun/star/document/XDocumentRecovery.idl @@ -0,0 +1,127 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* This file is part of OpenOffice.org. +* +* OpenOffice.org is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License version 3 +* only, as published by the Free Software Foundation. +* +* OpenOffice.org is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License version 3 for more details +* (a copy is included in the LICENSE file that accompanied this code). +* +* You should have received a copy of the GNU Lesser General Public License +* version 3 along with OpenOffice.org. If not, see +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __offapcom_sun_star_document_XDocumentRecovery_idl__ +#define __offapcom_sun_star_document_XDocumentRecovery_idl__ + +#include <com/sun/star/beans/PropertyValue.idl> +#include <com/sun/star/io/IOException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** is the interface to be implemented by documents who wish to participate in + the document emergency-save / recovery process. + */ +interface XDocumentRecovery +{ + /** determines whether the document has been modified since the last call to <member>storeToRecoveryFile</member>. + + <p>If <code>storeToRecoveryFile</code> has not been called before, this method returns whether the document + has been modified since it has been loaded respectively created.</p> + + <p>When saving a session, either in case of a emergency (when OpenOffice.org crashed), or during a + periodic session save as configured by the user, <member>storeToRecoveryFile</member> is called for every + document where <code>wasModifiedSinceLastSave</code> returns <TRUE/>.</p> + + <p>It's allowed to implement this method sloppy, by returning <TRUE/> in cases where it is not sure whether + the document actually has been modified. So, the most simple implementation could simply delegate this call + to <member scope="com::sun::star::util">XModifiable::isModified</member>. (Well, actually that's the + second simple implementation, the <em>most</em> simple one would, still egitimately, always return <TRUE/>.)</p> + + <p>However, in such a case, the document might be saved more often than needed. In particular during the + periodic session save, this might become a problem when saving is expensive, for a single document + or the sum of all open documents.</p> + */ + boolean wasModifiedSinceLastSave(); + + /** does an emergency save of the document + + <p>A default implementation of this method could simply delegate this call to + <member scope="com::sun::star::frame">XStorable::storeToURL</member>.</p> + + @param TargetLocation + specifies the URL of the location to which the document should be emergency-saved. + + @param MediaDescriptor + contains additional arguments for the save process, for instance an StatusIndicator. + + @see MediaDescriptor + */ + void storeToRecoveryFile( + [in] string TargetLocation, + [in] sequence< ::com::sun::star::beans::PropertyValue > MediaDescriptor + ) + raises ( ::com::sun::star::io::IOException, + ::com::sun::star::lang::WrappedTargetException + ); + + /** recovers the document after a previous emergency or session save. + + <p>The document itself has previously been created, but <em>not</em> loaded + (via <member scope="com::sun::star::frame">XLoadable::load</member>) or initialized (via + <member scope="com::sun::star::frame">XLoadable::initNew</member>).</p> + + <p>Upon successful return, the document must be fully initialized. In particular, the + caller is not responsible for calling <member scope="com::sun::star::frame">XModel::attachResource</member>. + Instead, the implementation is responsible to do so, if required.</p> + + <p>A default implementation of this method could simply delegate this call to + <member scope="::com::sun::star::frame:">XLodable::load</member>, followed by + <member scope="com::sun::star::frame">XModel::attachResource</member>.</p> + + @param SourceLocation + specifies the URL of the location to which the document was previously emergency-saved. + + @param SalvagedFile + specifies the original URL of the file which had been emergency-saved. If this is empty, + then the file should be recovered from its original location. + + @param MediaDescriptor + contains additional arguments for the load process, for instance an StatusIndicator. + + @see MediaDescriptor + */ + void recoverFromFile( + [in] string SourceLocation, + [in] string SalvagedFile, + [in] sequence< ::com::sun::star::beans::PropertyValue > MediaDescriptor + ) + raises ( ::com::sun::star::io::IOException, + ::com::sun::star::lang::WrappedTargetException + ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl b/offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl new file mode 100644 index 000000000000..991b54fa84a9 --- /dev/null +++ b/offapi/com/sun/star/document/XDocumentRevisionListPersistence.idl @@ -0,0 +1,90 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XDocumentRevisionListPersistence_idl__ +#define __com_sun_star_document_XDocumentRevisionListPersistence_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_embed_XStorage_idl__ +#include <com/sun/star/embed/XStorage.idl> +#endif + +#ifndef __com_sun_star_util_RevisionTag_idl__ +#include <com/sun/star/util/RevisionTag.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +#ifndef __com_sun_star_container_NoSuchElementException_idl__ +#include <com/sun/star/io/NoSuchElementException.idl> +#endif + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** interface to load or store a list of document revisions from or to a document + using the packed XML file format + */ +interface XDocumentRevisionListPersistence: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** Loads a list of available revisions from a storage + <p> + This method does not load any revision itself + </p> + */ + sequence < ::com::sun::star::util::RevisionTag > load( [in] ::com::sun::star::embed::XStorage Storage) + raises( com::sun::star::container::NoSuchElementException, + com::sun::star::io::IOException, + com::sun::star::uno::Exception ); + + //------------------------------------------------------------------------- + /** Stores a list of available revisions to a storage + <p> + This method does not store revisions themselves + </p> + */ + void store( [in] ::com::sun::star::embed::XStorage Storage, [in] sequence < ::com::sun::star::util::RevisionTag > List ) + raises( com::sun::star::io::IOException, + com::sun::star::uno::Exception ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl b/offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl new file mode 100644 index 000000000000..69cbe1bbfb2e --- /dev/null +++ b/offapi/com/sun/star/document/XDocumentSubStorageSupplier.idl @@ -0,0 +1,87 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XDocumentSubStorageSupplier_idl__ +#define __com_sun_star_document_XDocumentSubStorageSupplier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_embed_XStorage_idl__ +#include <com/sun/star/embed/XStorage.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** through this interface documents can provide access to their substorages + + <p> + A temporary interface to get access to documents substorages. + </p> + + @see DocumentInfo + @see StandaloneDocumentInfo + */ +published interface XDocumentSubStorageSupplier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** provides the access to a substorage with specified name + + @param sStorageName + the name of requested substorage + + @param nMode + a mode the storage should be opened in can take value from ::com::sun::star::embed::ElementModes + + @returns + XStorage implementation that refers to specified substorage + */ + com::sun::star::embed::XStorage getDocumentSubStorage( + [in] string aStorageName, + [in] long nMode ); + + //------------------------------------------------------------------------- + /** provides the list of substorages + + @returns + sequence of substorages names + */ + sequence< string > getDocumentSubStoragesNames() + raises( ::com::sun::star::io::IOException ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl b/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl new file mode 100644 index 000000000000..f1b31dd21d90 --- /dev/null +++ b/offapi/com/sun/star/document/XEmbeddedObjectResolver.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XEmbeddedObjectResolver_idl__ +#define __com_sun_star_document_XEmbeddedObjectResolver_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** this interface converts embedded object URLs from one URL space to another. + */ +published interface XEmbeddedObjectResolver: com::sun::star::uno::XInterface +{ + /** converts the given URL from the source URL namespace to the destination + URL space of this instance. + */ + string resolveEmbeddedObjectURL( [in] string aURL ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl b/offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl new file mode 100644 index 000000000000..1885121705dd --- /dev/null +++ b/offapi/com/sun/star/document/XEmbeddedObjectSupplier.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XEmbeddedObjectSupplier_idl__ +#define __com_sun_star_document_XEmbeddedObjectSupplier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** represents something that provides an embedded object. + */ +published interface XEmbeddedObjectSupplier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** returns the object which is embedded into this object. + */ + com::sun::star::lang::XComponent getEmbeddedObject(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl b/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl new file mode 100644 index 000000000000..32d959cb3944 --- /dev/null +++ b/offapi/com/sun/star/document/XEmbeddedObjectSupplier2.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XEmbeddedObjectSupplier2_idl__ +#define __com_sun_star_document_XEmbeddedObjectSupplier2_idl__ + +#ifndef __com_sun_star_embed_XEmbeddedObject_idl__ +#include <com/sun/star/embed/XEmbeddedObject.idl> +#endif + +#ifndef __com_sun_star_graphic_XGraphic_idl__ +#include <com/sun/star/graphic/XGraphic.idl> +#endif + +#ifndef __com_sun_star_document_XEmbeddedObjectSupplier_idl__ +#include <com/sun/star/document/XEmbeddedObjectSupplier.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** represents something that provides an embedded object. + */ +interface XEmbeddedObjectSupplier2: com::sun::star::document::XEmbeddedObjectSupplier +{ + //------------------------------------------------------------------------- + /** returns the object which is embedded into this object. + + <p> + This method does not return the model that is controlled by the + embedded object, but the embedded object itself. + </p> + */ + com::sun::star::embed::XEmbeddedObject getExtendedControlOverEmbeddedObject(); + + //------------------------------------------------------------------------- + /** allows to control the aspect of the object. + */ + [attribute] hyper Aspect; + + //------------------------------------------------------------------------- + /** allows to get the replacement image of the object. + */ + [attribute,readonly] com::sun::star::graphic::XGraphic ReplacementGraphic; + +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/XEmbeddedScripts.idl b/offapi/com/sun/star/document/XEmbeddedScripts.idl new file mode 100644 index 000000000000..fba8541bafcb --- /dev/null +++ b/offapi/com/sun/star/document/XEmbeddedScripts.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_XEmbeddedScripts_idl__ +#define __com_sun_star_document_XEmbeddedScripts_idl__ + +#ifndef __com_sun_star_script_XStorageBasedLibraryContainer_idl__ +#include <com/sun/star/script/XStorageBasedLibraryContainer.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** is suppoerted by <type>OfficeDocument</type>s which allow to embed scripts + + @since OOo 2.4 + */ +interface XEmbeddedScripts +{ + /** is the container of <code>StarBasic</code> macro libraries contained in the document + */ + [attribute, readonly] ::com::sun::star::script::XStorageBasedLibraryContainer BasicLibraries; + + /** is the container of dialogs libraries contained in the document + */ + [attribute, readonly] ::com::sun::star::script::XStorageBasedLibraryContainer DialogLibraries; + + /** determines whether executing macros from this document is allowed. + + <p>Effectively, this attribute is an evaluation of the document's <type>MacroExecMode</type> + against possibly applicable configuration settings, the document location in relation to the + trusted location, and the like.</p> + + @see MacroExecMode + */ + [attribute, readonly] boolean AllowMacroExecution; +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/document/XEventBroadcaster.idl b/offapi/com/sun/star/document/XEventBroadcaster.idl new file mode 100644 index 000000000000..ff4240b028ee --- /dev/null +++ b/offapi/com/sun/star/document/XEventBroadcaster.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XEventBroadcaster_idl__ +#define __com_sun_star_document_XEventBroadcaster_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_document_XEventListener_idl__ +#include <com/sun/star/document/XEventListener.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** makes it possible to register listeners which are called whenever + a document event (see <type>EventObject</type>) occurs + + @deprecated + @see XDocumentEventBroadcaster + */ +published interface XEventBroadcaster: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** registers the given listener + + @param Listener + listener which is interested on such events + */ + [oneway] void addEventListener( [in] XEventListener Listener ); + + //------------------------------------------------------------------------- + /** unregisters the given listener + + @param Listener + listener which isn't interested on such events any longer + */ + [oneway] void removeEventListener( [in] XEventListener Listener ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XEventListener.idl b/offapi/com/sun/star/document/XEventListener.idl new file mode 100644 index 000000000000..d32b04ced66f --- /dev/null +++ b/offapi/com/sun/star/document/XEventListener.idl @@ -0,0 +1,66 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XEventListener_idl__ +#define __com_sun_star_document_XEventListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_document_EventObject_idl__ +#include <com/sun/star/document/EventObject.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** makes it possible to register listeners, which are called whenever + a document or document content event occurs + + <p>Such events will be broadcasted by a <type>XEventBroadcaster</type>.</p> + + @deprecated + @see XDocumentEventListener + */ +published interface XEventListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** is called whenever a document event (see <type>EventObject</type>) occurs + + @param Event + specifies the event type + */ + [oneway] void notifyEvent( [in] EventObject Event ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XEventsSupplier.idl b/offapi/com/sun/star/document/XEventsSupplier.idl new file mode 100644 index 000000000000..d5bd2b0d9aa9 --- /dev/null +++ b/offapi/com/sun/star/document/XEventsSupplier.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XEventsSupplier_idl__ +#define __com_sun_star_document_XEventsSupplier_idl__ + +#ifndef __com_sun_star_container_XNameReplace_idl__ +#include <com/sun/star/container/XNameReplace.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** gives access to a list of URLs bound to events of this object + */ +published interface XEventsSupplier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** offers a list of event handlers which are be bound to events of + this object + + @returns + an <type>Events</type> description object + */ + com::sun::star::container::XNameReplace getEvents(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XExporter.idl b/offapi/com/sun/star/document/XExporter.idl new file mode 100644 index 000000000000..a89017c248a1 --- /dev/null +++ b/offapi/com/sun/star/document/XExporter.idl @@ -0,0 +1,78 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XExporter_idl__ +#define __com_sun_star_document_XExporter_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** makes it possible to connect a document with an <type>ExportFilter</type> + + <p> + An <type>ExportFilter</type> must know the source of his filter operation. + To set this on a filter is part of this interface. + Same mechanism exist for import too. + </p> + + @see ExportFilter + @see ImportFilter + @see XImporter + */ +published interface XExporter: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** sets the source document for the exporter + + @param Document + the source document + + @throws com::sun::star::lang::IllegalArgumentException + if <var>Document</var> does not support any service which is + supported by this exporter + */ + void setSourceDocument( + [in] com::sun::star::lang::XComponent Document ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif + + diff --git a/offapi/com/sun/star/document/XExtendedFilterDetection.idl b/offapi/com/sun/star/document/XExtendedFilterDetection.idl new file mode 100644 index 000000000000..b5aae4930fd8 --- /dev/null +++ b/offapi/com/sun/star/document/XExtendedFilterDetection.idl @@ -0,0 +1,82 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XExtendedFilterDetection_idl__ +#define __com_sun_star_document_XExtendedFilterDetection_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================ + +module com { module sun { module star { module document { + +//============================================================================ +/** provides a "deep" filter detection + + <p> + A "deep" filter detection means looking into the document stream to detect + the format of it. Services of type <type>ExtendedTypeDetection</type> must support this + interface to be called from generic load mechanism of the office for that. + </p> + + @see DetectService + @see TypeDetection + @see FilterFactory + */ +published interface XExtendedFilterDetection: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** controls agreement of a "flat" <type>TypeDetection</type> + with given URL or arguments + + <p> + Registerd services in configuration, which support this interface for different mime types, + will be called automaticly to look into the document stream and cdecide wich format it represent. + Add the collected information about detected documents in given <type>MediaDescriptor</type> + <var>Descriptor</var>. The decision must be returned as any valid type name (which specifies + the detected format) or an empty value for unknown formats. + </p> + + @param Descriptor + represent a <type>MediaDescriptor</type> which can be used to get/set informations + about the detected document + + @returns + an internal type name if format was detected successfully + <br> + or an empty value for an unknown document format. + */ + string detect( [inout] sequence< com::sun::star::beans::PropertyValue > Descriptor ); + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XFilter.idl b/offapi/com/sun/star/document/XFilter.idl new file mode 100644 index 000000000000..24eab5fcde5a --- /dev/null +++ b/offapi/com/sun/star/document/XFilter.idl @@ -0,0 +1,88 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XFilter_idl__ +#define __com_sun_star_document_XFilter_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** interface to filter documents + + <p> + This interface will be used by service <type>ImportFilter</type> or + <type>ExportFilter</type> to support loading/saving of documents in + different formats. The target/source of such filter operations must + be known <em>before</em> filtering will be started. + (see <type>XImporter</type> and <type>XExporter</type> too) + Otherwise this interface can't work right. + <p> + + @see ImportFilter + @see ExportFilter + @see XImporter + @see XExporter + */ +published interface XFilter: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** filter the document. + + <p> + The given <type>MediaDescriptor</type> holds all neccessary information + about the document. + + Don't hold hard references to the descriptor items. You must copy needed information! + Otherwise we couldn't destroy (for example) an existing input stream! + </p> + @param aDescriptor + the MediaDescriptor describing the respective document. + @return a boolean value indicating whether the filter operation was successful or not. + */ + boolean filter( [in] sequence< com::sun::star::beans::PropertyValue > aDescriptor ); + + //------------------------------------------------------------------------- + /** cancel the process. + */ + void cancel(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XFilterAdapter.idl b/offapi/com/sun/star/document/XFilterAdapter.idl new file mode 100644 index 000000000000..877587aa0e26 --- /dev/null +++ b/offapi/com/sun/star/document/XFilterAdapter.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef _COM_SUN_STAR_DOCUMENT_XFILTERADAPTOR_IDL__ +#define _COM_SUN_STAR_DOCUMENT_XFILTERADAPTOR_IDL__ + +#ifndef __com_sun_star_uno_RuntimeException_idl__ +#include <com/sun/star/uno/RuntimeException.idl> +#endif + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/io/XInputStream.idl> +#include <com/sun/star/io/XOutputStream.idl> + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + + /** This is an interface that can be used to link a filter to the + FilterAdapter + + @throws com::sun::star::uno::RuntimeException + + @since OOo 1.1.2 + */ +published interface XFilterAdapter : com::sun::star::uno::XInterface + { + void convert( + [in] com::sun::star::io::XInputStream xml, + [in] com::sun::star::io::XOutputStream device, + [in] boolean convertToOffice, + [in] string pluginUrl, + [in] string fileName); + /*raises( com::sun::star::uno::RuntimeException );*/ + + }; + }; + }; + }; +}; + +#endif diff --git a/offapi/com/sun/star/document/XGraphicObjectResolver.idl b/offapi/com/sun/star/document/XGraphicObjectResolver.idl new file mode 100644 index 000000000000..50863b04f38c --- /dev/null +++ b/offapi/com/sun/star/document/XGraphicObjectResolver.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XGraphicObjectResolver_idl__ +#define __com_sun_star_document_XGraphicObjectResolver_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** this interface converts graphic object URLs from one URL space to another. + */ +published interface XGraphicObjectResolver: com::sun::star::uno::XInterface +{ + /** converts the given URL from the source URL namespace to the destination + URL space of this instance. + */ + string resolveGraphicObjectURL( [in] string aURL ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XImporter.idl b/offapi/com/sun/star/document/XImporter.idl new file mode 100644 index 000000000000..9a784aeae173 --- /dev/null +++ b/offapi/com/sun/star/document/XImporter.idl @@ -0,0 +1,78 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XImporter_idl__ +#define __com_sun_star_document_XImporter_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** makes it possible to connect a document with an <type>ImportFilter</type> + + <p> + An <type>ImportFilter</type> must know the target of his filter operation. + To set this on a filter is part of this interface. + Same mechanism exist for export too. + </p> + + @see ExportFilter + @see ImportFilter + @see XExporter + */ +published interface XImporter: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** sets the target document for the importer + + @param Document + the target document + + @throws com::sun::star::lang::IllegalArgumentException + if <var>Document</var> does not support any service which is + supported by this importer + */ + void setTargetDocument( + [in] com::sun::star::lang::XComponent Document ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif + + diff --git a/offapi/com/sun/star/document/XInteractionFilterOptions.idl b/offapi/com/sun/star/document/XInteractionFilterOptions.idl new file mode 100644 index 000000000000..b11749297e14 --- /dev/null +++ b/offapi/com/sun/star/document/XInteractionFilterOptions.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XInteractionFilterOptions_idl__ +#define __com_sun_star_document_XInteractionFilterOptions_idl__ + +#ifndef __com_sun_star_task_XInteractionContinuation_idl__ +#include <com/sun/star/task/XInteractionContinuation.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** A continuation to return filter options from interaction helper. + + @since OOo 1.1.2 +*/ +published interface XInteractionFilterOptions : ::com::sun::star::task::XInteractionContinuation +{ + //------------------------------------------------------------------------- + /** Store results to the continuation. + + @param rProperties the list of properties containing filter options. + + */ + void setFilterOptions( [in] sequence< com::sun::star::beans::PropertyValue > rProperties ); + + //------------------------------------------------------------------------- + /** Get results from the continuation. + + @returns the stored list of properties containing filter options. + */ + sequence< com::sun::star::beans::PropertyValue > getFilterOptions(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XInteractionFilterSelect.idl b/offapi/com/sun/star/document/XInteractionFilterSelect.idl new file mode 100644 index 000000000000..0aa7770af8a2 --- /dev/null +++ b/offapi/com/sun/star/document/XInteractionFilterSelect.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XInteractionFilterSelect_idl__ +#define __com_sun_star_document_XInteractionFilterSelect_idl__ + +#ifndef __com_sun_star_task_XInteractionContinuation_idl__ +#include <com/sun/star/task/XInteractionContinuation.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** continuation used by interaction mechanism at filter detection during + loading documents + + <p> + If during loading time the filter can't be detected and wasn't given at calling time, + a possible <type scope="com::sun::star::task">InteractionHandler</type> will be used. + (it's a a part of used <type>MediaDescriptor</type>) + A <type>NoSuchFilterRequest</type> will be used then to start right interaction on that to + get a decision wich filter should be used for given URL. A possible continiuation + of that can be this XInteractionFilterSelect. It will transport the decision back to + generic filter detection and force using of it. Of course it's possible to abort + the loading process by use another continuation <type scope="com::sun::star::task">XInteractionAbort</type>. + </p> + + @see MediaDescriptor + @see com::sun::star::task::InteractionHandler + @see NoSuchFilterRequest + @see com::sun::star::task::XInteractionAbort + */ +published interface XInteractionFilterSelect : com::sun::star::task::XInteractionContinuation +{ + //------------------------------------------------------------------------- + /** used by interaction to set selected filter + + <p> + This value must be save till another one will be set + and must be provided on getFilter() for interest users. + </p> + */ + void setFilter( [in] string Name ); + + //------------------------------------------------------------------------- + /** used by detection to get selected filter + */ + string getFilter(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XLinkTargetSupplier.idl b/offapi/com/sun/star/document/XLinkTargetSupplier.idl new file mode 100644 index 000000000000..f48a68f9d429 --- /dev/null +++ b/offapi/com/sun/star/document/XLinkTargetSupplier.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XLinkTargetSupplier_idl__ +#define __com_sun_star_document_XLinkTargetSupplier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_container_XNameAccess_idl__ +#include <com/sun/star/container/XNameAccess.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** interface is supplied by objects inside a document object model that have + children that can be the target of a link inside a document. + + <p>These targets implement the service <type>LinkTarget</type>. </p> + */ +published interface XLinkTargetSupplier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** @returns + the names of possible links to children of this object inside a + document object model. It implements the service <type>LinkTargets</type>. + */ + com::sun::star::container::XNameAccess getLinks(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XMLBasicExporter.idl b/offapi/com/sun/star/document/XMLBasicExporter.idl new file mode 100644 index 000000000000..7766282276dd --- /dev/null +++ b/offapi/com/sun/star/document/XMLBasicExporter.idl @@ -0,0 +1,84 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XMLBasicExporter_idl__ +#define __com_sun_star_document_XMLBasicExporter_idl__ + +#ifndef __com_sun_star_document_XExporter_idl__ +#include <com/sun/star/document/XExporter.idl> +#endif + +#ifndef __com_sun_star_document_XFilter_idl__ +#include <com/sun/star/document/XFilter.idl> +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** Filter for exporting Basic macros to the OpenOffice.org file format. + + <p>First the <method>XExporter::setSourceDocument</method> method must be + called in order to provide the export component with the source document + from which the data should be exported. After that, the export is started + by calling the <method>XFilter::filter</method> method.</p> + + @since OOo 2.0 + */ +published service XMLBasicExporter +{ + //------------------------------------------------------------------------- + + /** sets the source document for this filter. + */ + interface com::sun::star::document::XExporter; + + //------------------------------------------------------------------------- + + /** filters the document. + */ + interface com::sun::star::document::XFilter; + + //------------------------------------------------------------------------- + + /** initializes the component. + */ + [optional] interface com::sun::star::lang::XInitialization; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XMLBasicImporter.idl b/offapi/com/sun/star/document/XMLBasicImporter.idl new file mode 100644 index 000000000000..74b789c954ed --- /dev/null +++ b/offapi/com/sun/star/document/XMLBasicImporter.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XMLBasicImporter_idl__ +#define __com_sun_star_document_XMLBasicImporter_idl__ + +#ifndef __com_sun_star_document_XImporter_idl__ +#include <com/sun/star/document/XImporter.idl> +#endif + +#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__ +#include <com/sun/star/xml/sax/XDocumentHandler.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** Filter for importing Basic macros from the OpenOffice.org file format. + + <p>The <method>XImporter::setTargetDocument</method> method must be + called in order to provide the import component with the target document + to which the data should be imported. + The <type scope="com::sun::star::xml::sax">XDocumentHandler</type> + interface is used to stream the XML data into the filter.</p> + + @since OOo 2.0 + */ +published service XMLBasicImporter +{ + //------------------------------------------------------------------------- + + /** sets the target document for this filter. + */ + interface com::sun::star::document::XImporter; + + //------------------------------------------------------------------------- + + /** receives notification of general document events. + */ + interface com::sun::star::xml::sax::XDocumentHandler; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XMLOasisBasicExporter.idl b/offapi/com/sun/star/document/XMLOasisBasicExporter.idl new file mode 100644 index 000000000000..b5817e99e8ee --- /dev/null +++ b/offapi/com/sun/star/document/XMLOasisBasicExporter.idl @@ -0,0 +1,84 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XMLOasisBasicExporter_idl__ +#define __com_sun_star_document_XMLOasisBasicExporter_idl__ + +#ifndef __com_sun_star_document_XExporter_idl__ +#include <com/sun/star/document/XExporter.idl> +#endif + +#ifndef __com_sun_star_document_XFilter_idl__ +#include <com/sun/star/document/XFilter.idl> +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** Filter for exporting Basic macros to the OASIS Open Office file format. + + <p>First the <method>XExporter::setSourceDocument</method> method must be + called in order to provide the export component with the source document + from which the data should be exported. After that, the export is started + by calling the <method>XFilter::filter</method> method.</p> + + @since OOo 2.0 + */ +published service XMLOasisBasicExporter +{ + //------------------------------------------------------------------------- + + /** sets the source document for this filter. + */ + interface com::sun::star::document::XExporter; + + //------------------------------------------------------------------------- + + /** filters the document. + */ + interface com::sun::star::document::XFilter; + + //------------------------------------------------------------------------- + + /** initializes the component. + */ + [optional] interface com::sun::star::lang::XInitialization; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XMLOasisBasicImporter.idl b/offapi/com/sun/star/document/XMLOasisBasicImporter.idl new file mode 100644 index 000000000000..c77c6395a9be --- /dev/null +++ b/offapi/com/sun/star/document/XMLOasisBasicImporter.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XMLOasisBasicImporter_idl__ +#define __com_sun_star_document_XMLOasisBasicImporter_idl__ + +#ifndef __com_sun_star_document_XImporter_idl__ +#include <com/sun/star/document/XImporter.idl> +#endif + +#ifndef __com_sun_star_xml_sax_XDocumentHandler_idl__ +#include <com/sun/star/xml/sax/XDocumentHandler.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** Filter for importing Basic macros from the OASIS Open Office file format. + + <p>The <method>XImporter::setTargetDocument</method> method must be + called in order to provide the import component with the target document + to which the data should be imported. + The <type scope="com::sun::star::xml::sax">XDocumentHandler</type> + interface is used to stream the XML data into the filter.</p> + + @since OOo 2.0 + */ +published service XMLOasisBasicImporter +{ + //------------------------------------------------------------------------- + + /** sets the target document for this filter. + */ + interface com::sun::star::document::XImporter; + + //------------------------------------------------------------------------- + + /** receives notification of general document events. + */ + interface com::sun::star::xml::sax::XDocumentHandler; + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XMimeTypeInfo.idl b/offapi/com/sun/star/document/XMimeTypeInfo.idl new file mode 100644 index 000000000000..fd3345f75c48 --- /dev/null +++ b/offapi/com/sun/star/document/XMimeTypeInfo.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XMimeTypeInfo_idl__ +#define __com_sun_star_document_XMimeTypeInfo_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** provides information regarding which MIME types are supported by a filter. + */ +published interface XMimeTypeInfo: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + + /** asks whether a MIME type is supported or not. + */ + boolean supportsMimeType( [in] string MimeTypeName ); + + //------------------------------------------------------------------------- + + /** @returns + a sequence of the names of all supported MIME types. + */ + sequence<string> getSupportedMimeTypeNames(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl b/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl new file mode 100644 index 000000000000..23b29bcaca61 --- /dev/null +++ b/offapi/com/sun/star/document/XOOXMLDocumentPropertiesImporter.idl @@ -0,0 +1,105 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XOOXMLDocumentPropertiesImporter_idl__ +#define __com_sun_star_document_XOOXMLDocumentPropertiesImporter_idl__ + +#ifndef __com_sun_star_document_XDocumentProperties_idl__ +#include <com/sun/star/document/XDocumentProperties.idl> +#endif + +#ifndef __com_sun_star_embed_XStorage_idl__ +#include <com/sun/star/embed/XStorage.idl> +#endif + +#ifndef __com_sun_star_xml_sax_SAXException_idl__ +#include <com/sun/star/xml/sax/SAXException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** allows to import the document properties from OOXML fomat + */ +interface XOOXMLDocumentPropertiesImporter: com::sun::star::uno::XInterface +{ + // ----------------------------------------------------------------------- + /** allows to import the document properties from OOXML format + + <p> + The implementation should parse the document properties from OOXML + format storage and set them to the target + <type>XDocumentProperties</type> implementation. + </p> + + <p> + The storage must represent OOXML format and support + <type scope="com::sun::star::embed">XRelationshipAccess</type> + interface. Please see + <type scope="com::sun::star::embed">StorageFactory</type> for details + regarding creation of such a storage. + </p> + + @param xSource + the source storage representing OOXML document + + @param xDocumentProperties + the target <type>XDocumentProperties</type> interface implementation + + @throws ::com::sun::star::lang::IllegalArgumentException + the exception is thrown in case unexpected arguments are provided + + @throws ::com::sun::star::xml::sax::SAXException + the exception is thrown in case of parsing problems + + @throws ::com::sun::star::uno::Exception + the exception is thrown in case of other problems during the import + */ + + void importProperties( + [in] com::sun::star::embed::XStorage xSource, + [in] com::sun::star::document::XDocumentProperties xDocumentProperties ) + raises( com::sun::star::lang::IllegalArgumentException, + com::sun::star::xml::sax::SAXException, + com::sun::star::uno::Exception ); +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/XRedlinesSupplier.idl b/offapi/com/sun/star/document/XRedlinesSupplier.idl new file mode 100644 index 000000000000..9ca883b140d4 --- /dev/null +++ b/offapi/com/sun/star/document/XRedlinesSupplier.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XRedlinesSupplier_idl__ +#define __com_sun_star_document_XRedlinesSupplier_idl__ + +#ifndef __com_sun_star_container_XEnumerationAccess_idl__ +#include <com/sun/star/container/XEnumerationAccess.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** provides access to a container of the redline objects of the document. + */ +published interface XRedlinesSupplier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** @returns + an enumeration access that provides access to the redline objects of the document. + + <p>The returned objects implent at least the interface + <type scope="com::sun::star::beans">XPropertySet</type>. + Specific objects may support other interfaces as well.</p> + */ + com::sun::star::container::XEnumerationAccess getRedlines(); +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/XScriptInvocationContext.idl b/offapi/com/sun/star/document/XScriptInvocationContext.idl new file mode 100644 index 000000000000..68f5cd883410 --- /dev/null +++ b/offapi/com/sun/star/document/XScriptInvocationContext.idl @@ -0,0 +1,73 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_XScriptInvocationContext_idl__ +#define __com_sun_star_document_XScriptInvocationContext_idl__ + + +#ifndef __com_sun_star_document_XEmbeddedScripts_idl__ +#include <com/sun/star/document/XEmbeddedScripts.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** indicates support for executing scripts contained in a, possibly foreign, document. + + <p>If the component implementing it is a document, which supports embedding scripts into + itself, then <member>ScriptContainer</member> refers to the document itself. Implementing this + interface is unnecessary then, instead the document should simply implement <type>XEmbeddedScripts</type> directly.</p> + + <p>If the interface is implemented by a document which does not itself support embedding + scripts into it, but which is associated unambiguously with a document which does, + then this other document is denoted by <member>ScriptContainer</member>.</p> + + <p>If the interface is implemented by a controller, then <member>ScriptContainer</member> + refers to the document which supports embedding scripts, and which is unambiguosly + associated with the controller. This must not necessarily be the model returned by + <member scope="com::sun::star::frame">XController::getModel</member>.</p> + + @since OOo 2.4 + */ +interface XScriptInvocationContext +{ + /** denotes the document which contains the scripts which are to be invoked from + the component implementing the XScriptInvocationContext inteface. + */ + [attribute, readonly] XEmbeddedScripts ScriptContainer; +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/document/XStandaloneDocumentInfo.idl b/offapi/com/sun/star/document/XStandaloneDocumentInfo.idl new file mode 100644 index 000000000000..51a0cd7fa289 --- /dev/null +++ b/offapi/com/sun/star/document/XStandaloneDocumentInfo.idl @@ -0,0 +1,105 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XStandaloneDocumentInfo_idl__ +#define __com_sun_star_document_XStandaloneDocumentInfo_idl__ + +#ifndef __com_sun_star_document_XDocumentInfo_idl__ +#include <com/sun/star/document/XDocumentInfo.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** makes it possible to load document information from + a resource specified by a URL and to store it into a resource also + specified by a URL + + <p> + Only the document information part of the resource is transferred. + Instead of <type>DocumentInfo</type> not the whole document will be opened. + Note: Without specifying the source or target of this info (the document) + nothing can work and will be handled as void (for reading) or ignored (for writing). + After specigiying the source/target by using this interface, + the interface <type>XDocumentInfo</type> (which must be implemented on same + object then this one!) provides access to the info properties. + </p> + + @deprecated Use <type>XDocumentProperties</type> instead. + + @see DocumentInfo + @see StandaloneDocumentInfo + @see XDocumentInfo + */ +published interface XStandaloneDocumentInfo: XDocumentInfo +{ + //------------------------------------------------------------------------- + /** loads the document information from a file referred by an URL + + <p> + After an unsuccessful call the contents of the document + information are undefined (void). + This method only works for storage file formats. + </p> + + @param URL + specifies the source of information + + @throws com::sun::star::io::IOException + if storage couldn't be found or opened + */ + void loadFromURL( [in] string URL ) + raises( com::sun::star::io::IOException ); + + //------------------------------------------------------------------------- + /** stores the document information into a file referred by a URL + + <p> + Only the document information part of the document is overwritten. + This method only works for storage file formats. + </p> + + @param URL + specifies the target for saving + + @throws com::sun::star::io::IOException + if storage couldn't be found or opened + */ + void storeIntoURL( [in] string URL ) + raises( com::sun::star::io::IOException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XStorageBasedDocument.idl b/offapi/com/sun/star/document/XStorageBasedDocument.idl new file mode 100644 index 000000000000..a352d36110a2 --- /dev/null +++ b/offapi/com/sun/star/document/XStorageBasedDocument.idl @@ -0,0 +1,123 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_embed_XStorageBasedDocument_idl__ +#define __com_sun_star_embed_XStorageBasedDocument_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_embed_XStorage_idl__ +#include <com/sun/star/embed/XStorage.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +#ifndef __com_sun_star_frame_DoubleInitializationException_idl__ +#include <com/sun/star/frame/DoubleInitializationException.idl> +#endif + +#ifndef __com_sun_star_document_XStorageChangeListener_idl__ +#include <com/sun/star/document/XStorageChangeListener.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================ + + module com { module sun { module star { module document { + +//============================================================================ +/** allows to initialize document with a storage, to store document to + a storage, and to set document to be based on provided storage. + */ +published interface XStorageBasedDocument: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------ + /** lets the document load itself using provided storage. + */ + void loadFromStorage( + [in] ::com::sun::star::embed::XStorage xStorage, + [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaDescriptor ) + raises( ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::frame::DoubleInitializationException, + ::com::sun::star::io::IOException, + ::com::sun::star::uno::Exception ); + + //------------------------------------------------------------------------ + /** lets the document store itself to the provided storage. + */ + void storeToStorage( + [in] ::com::sun::star::embed::XStorage xStorage, + [in] sequence< ::com::sun::star::beans::PropertyValue > aMediaDescriptor ) + raises( ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::io::IOException, + ::com::sun::star::uno::Exception ); + + //------------------------------------------------------------------------ + /** allows to switch the document to the provided storage. + */ + void switchToStorage( [in] ::com::sun::star::embed::XStorage xStorage ) + raises( ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::io::IOException, + ::com::sun::star::uno::Exception ); + + + //------------------------------------------------------------------------ + /** allows to get the storage the document is based on. + */ + ::com::sun::star::embed::XStorage getDocumentStorage() + raises( ::com::sun::star::io::IOException, + ::com::sun::star::uno::Exception ); + + //------------------------------------------------------------------------ + /** allows to register a listener that will be notified when another + storage is set to the document. + */ + void addStorageChangeListener( [in] XStorageChangeListener xListener ); + + //------------------------------------------------------------------------ + /** allows to deregister the listener. + */ + void removeStorageChangeListener( [in] XStorageChangeListener xListener ); + +}; + +//============================================================================ + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/XStorageChangeListener.idl b/offapi/com/sun/star/document/XStorageChangeListener.idl new file mode 100644 index 000000000000..6ed36735a1c1 --- /dev/null +++ b/offapi/com/sun/star/document/XStorageChangeListener.idl @@ -0,0 +1,70 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XStorageChangeListener_idl__ +#define __com_sun_star_document_XStorageChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_embed_XStorage_idl__ +#include <com/sun/star/embed/XStorage.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** allows to be notified when a document is switched to a new storage. + */ +published interface XStorageChangeListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** is called when document switches to another storage. + + @param xDocument + the document that has changed the storage it is based on + + @param xStorage + the new storage the document is based on + */ + [oneway] void notifyStorageChange( + [in] ::com::sun::star::uno::XInterface xDocument, + [in] ::com::sun::star::embed::XStorage xStorage ); +}; + +//============================================================================= + +}; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/document/XTypeDetection.idl b/offapi/com/sun/star/document/XTypeDetection.idl new file mode 100644 index 000000000000..5fc14f65ebd9 --- /dev/null +++ b/offapi/com/sun/star/document/XTypeDetection.idl @@ -0,0 +1,124 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XTypeDetection_idl__ +#define __com_sun_star_document_XTypeDetection_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================ + +module com { module sun { module star { module document { + +//============================================================================ +/** support "flat" and "deep" type detection of a given document + + <p> + A "flat" detection means specifying the document format by using + the URL and some configuration data only. That will perform but produce + may invalid results if e.g., the extension of the document is wrong. + A "deep" detection means looking into the document stream to be right + which format it supports. Of course that includes a "flat" detection before. + The combination of both ones should produce stable results everytime. + </p> + + @see TypeDetection + */ +published interface XTypeDetection: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** make a "flat" detection by using the URL of the document + + <p> + It use given URL in combination with the internal configuration of well known + types only to specify the format of given document. + </p> + + @param URL + specify the document by name + + @returns + an internal type name which represent the detected format + <br> + or an empty value for unknown ones + */ + string queryTypeByURL( [in] string URL ); + + //------------------------------------------------------------------------- + /** make a "deep" detection or optional a "flat" detection by using a + <type>MediaDescriptor</type> + + <p> + Instead of <member>XTypeDetection::queryTypeByURL()</member> this function + use a <type>MediaDescriptor</type> to specify the document for detection. + Such descriptor hold different informations about the document. + He will be passed to any part of made detection process and every part + can change it to actualize it. + The property <member>MediaDescriptor::URL</member> should be set on + this descriptor as minimum. It specifies the location of the document. + If this parameter is missing another one is required: <member>MediaDescriptor::InputStream</member>. + This can be usefull to prevent operaton against multiple opening of the stream + and perform the operation. If this stream isn't already included the detection + will open it (if allowed!) and add it to the descriptor so it will be available for + all following parts. + A combination of both parameters can be usefull to perform the operation + and make results more stable; but only one of them is required. + Of course its possible to specify more document properties (e.g. + <member>MediaDescriptor::ReadOnly</member>). + <br> + As an additional feature it's possible to suppress "deep" detection by using argument + <var>AllowDeep</var>. + </p> + + @param Descriptor + means the <type>MediaDescriptor</type> which specify the ressource for detection + + @param AllowDeep + if it is set to <TRUE/> a "deep" detection will be follow a "flat" detection + <br> + if it is set to <FALSE/> a "flat" detection will be made only + + @returns + an internal type name which represent the detected format + <br> + or an empty value for unknown ones + */ + string queryTypeByDescriptor( + [inout] sequence< com::sun::star::beans::PropertyValue > Descriptor, + [in] boolean AllowDeep ); +}; + +//============================================================================ + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XUndoAction.idl b/offapi/com/sun/star/document/XUndoAction.idl new file mode 100755 index 000000000000..e65354013499 --- /dev/null +++ b/offapi/com/sun/star/document/XUndoAction.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_XUndoAction_idl__ +#define __com_sun_star_document_XUndoAction_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/document/UndoFailedException.idl> + +//================================================================================================================== + +module com { module sun { module star { module document { + +//================================================================================================================== + +/** represents a single (undoable) action on a document + */ +published interface XUndoAction +{ + /** reverts the action represented by the instance + + @throws UndoFailedException + if reverting the action failed. In this case, the caller should assume that this is a permanent failure, + and take appropriate action, such as discarding the <code>XUndoAction</code> instance, and any possibly + depending instances. + */ + void undo() + raises ( ::com::sun::star::document::UndoFailedException + ); + + /** repeats the action represented by the instance, after it had previously been reverted. + + @throws UndoFailedException + if repeating the action failed. In this case, the caller should assume that this is a permanent failure, + and take appropriate action, such as discarding the <code>XUndoAction</code> instance, and any possibly + depending instances. + */ + void redo() + raises ( ::com::sun::star::document::UndoFailedException + ); + + /** is the human-readable, localized description of the action. + */ + [attribute, readonly] string Title; +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/document/XUndoManager.idl b/offapi/com/sun/star/document/XUndoManager.idl new file mode 100755 index 000000000000..74aa4de0cf70 --- /dev/null +++ b/offapi/com/sun/star/document/XUndoManager.idl @@ -0,0 +1,337 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_XUndoManager_idl__ +#define __com_sun_star_document_XUndoManager_idl__ + +#include <com/sun/star/document/EmptyUndoStackException.idl> +#include <com/sun/star/document/UndoContextNotClosedException.idl> +#include <com/sun/star/document/UndoFailedException.idl> +#include <com/sun/star/util/InvalidStateException.idl> +#include <com/sun/star/util/XLockable.idl> +#include <com/sun/star/container/XChild.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/WrappedTargetException.idl> + +//================================================================================================================== + +module com { module sun { module star { module document { + +published interface XUndoAction; +published interface XUndoManagerListener; + +//================================================================================================================== + +/** provides access to the undo/redo stacks of a document + + <h3>Undo</h3> + <p>Changes to a document usually result in recording of information how to undo those changes, if desired. A so-called + undo action records the information how to undo a single change. Undo actions are maintained in a stack, so that + the changes they represent can be undo in the reverse order they have originally been applied.</p> + + <h3>Redo</h3> + <p>Additionally, the Undo manager manages a Redo stack: Actions which are undone are moved from the Undo to the Redo + stack, so it is possible to re-apply the changes to the document.</p> + + <h3>Undo contexts</h3> + <p>For collecting multiple changes in a single undo action, so-called Undo contexts are provided. When an Undo + context is entered, all subsequently added Undo actions are not pushed onto the undo stack directly, but considered + a sub action of the Undo context. Once the Undo context is left, a single undo action is pushed onto the undo stack, + which comprises all those single Undo actions.<br/> + Undo contexts can be arbitrarily nested.</p> + + <h3>Hidden Undo actions</h3> + <p>Hidden Undo actions are those which in no observable way contribute to the undo stack. That is, + any method retrieving information about the stack will behave as if the undo action does not exist. Nonetheless, + calling <member>undo</member> respectively <member>redo</member> will include those actions.<br/> + Hidden Undo actions can be created by calling <member>enterHiddenUndoContext</member>, following by + <member>leaveUndoContext</member>.</p> + + <a name="locking"></a> + <h3>Locking</h3> + <p>An Undo manager can be locked and unlocked, using the <member>XLockable::lock</member> and + <member>XLockable::unlock</member> methods. When it is locked, then every attempt to add an undo action, or to + enter or leave an Undo context, will be silently ignored.</p> + */ +published interface XUndoManager +{ + /** allows <a href="#locking">locking</a> the undo manager. + */ + interface ::com::sun::star::util::XLockable; + + /** allows accessing the component, usually a document, which the undo manager works for. + + <p><member scope="com::sun::star::container">XChild::setParent</member> is not supported, and will throw + an <type scope="com::sun::star::lang">NoSupportException</type>.</p> + */ + interface ::com::sun::star::container::XChild; + + /** enters a new undo context. + + <p>A new undo action will be added to the undo stack, with the title given as <code>i_title</code>. As long + as the context is not left, every undo action added to the stack will be treated as sub action. This means + it will not be directly accessible at the Undo manager, not appear in any user interface, and cannot be + separately undone or re-done.</p> + + <p>Each call to <code>enterUndoContext</code> must be paired by a call to <member>leaveUndoContext</member>, + otherwise, the document's undo stack is left in an inconsistent state.</p> + + <p>Undo contexts can be nested, i.e. it is legitimate to call <code>enterUndoContext</code> and + <member>enterHiddenUndoContext</member> multiple times without calling <member>leaveUndoContext</member> inbetween.</p> + + @see leaveUndoContext + */ + void enterUndoContext( + [in] string i_title + ); + + /** enters a new undo context, creating a hidden undo action. + + <p>A hidden undo action does not, in any visible way, contribute to the undo stack. This means + that + <ul><li>Calling <member>undo</member> when the top-element is a hidden undo action will transparently + undo this action, and also undo the new top element of the stack.</li> + <li>Calling <member>redo</member> when the top-element is a hidden action will transparently + redo this action, and also redo the new top element of the stack.</li> + <li>In any user interface presenting the current Undo or Redo actions to the user, a hidden + action will not be listed.</p> + </ul> + + <p>A new undo action will be added to the undo stack. As long as the context is not left, every undo action + added to the stack will be treated as sub action. This means it will not be directly accessible at the undo + manager, not appear in any user interface, and cannot be separately undone or re-done.</p> + + <p>Each call to <code>enterHiddenUndoContext</code> must be paired by a call to <member>leaveUndoContext</member>, + otherwise, the document's undo stack is left in an inconsistent state.</p> + + <p>Undo contexts can be nested, i.e. it is legitimate to call <member>enterUndoContext</member> and + <code>enterHiddenUndoContext</code> multiple times without calling <member>leaveUndoContext</member> inbetween.</p> + + @throws EmptyUndoStackException + if the undo stack is currently empty, in which case it is impossible to push a hidden undo action onto + it. + + @see enterUndoContext + @see leaveUndoContext + */ + void enterHiddenUndoContext() + raises( EmptyUndoStackException ); + + /** leaves the undo context previously opened via <member>enterUndoContext</member> respectively + <member>enterHiddenUndoContext</member>. + + <p>If no undo action has been added since the context has been opened, the context is not only left, + but silently removed, and does not contribute to the undo stack at all. In this case, possible + listeners will be notified via <member>XUndoManagerListener::cancelledContext</member>.</p> + + <p>Otherwise, the undo context will be closed, and added to the Undo stack; the redo stack will be cleared, + and listeners will be notified via <member>XUndoManagerListener::leftContext</member> resp. + <member>XUndoManagerListener::leftHiddenContext</member></p> + + @throws ::com::sun::star::util::InvalidStateException + if no undo context is currently open. + + @see enterUndoContext + @see enterHiddenUndoContext + */ + void leaveUndoContext() + raises( ::com::sun::star::util::InvalidStateException ); + + /** adds the given undo action to the undo stack. + + <p>The redo stack is cleared when a new action is pushed onto the undo stack.</p> + + <p>The Undo manager takes ownership of any actions pushed onto the undo stack. This means that if the + action is finally removed from the Undo manager's control (e.g. by calling <member>clear</member> resp. + <member>clearRedo</member>), it will be disposed, as long as it supports the <member scope="com::sun::star::lang">XComponent</member> + interface.</p> + + <p>If the Undo manager is <a href="#locking">locked</a> at the moment the method is called, the call will be ignored, and the undo action + will immediately be disposed, if applicable.</p> + + @throws ::com::sun::star::lang::IllegalArgumentException + if the given undo action is <NULL/>. + */ + void addUndoAction( + [in] XUndoAction i_action + ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + + /** reverts the most recent action on the document. + + <p>Effectively, invoking this method will + <ul><li>invoke <member>XUndoAction::undo</member> on the top-most action of the undo stack</li> + <li>move this undo action from the undo stack to the redo stack</li> + </ul></p> + + @throws EmptyUndoStackException + if the undo stack is currently empty + + @throws UndoContextNotClosedException + if there currently is an open undo context + + @throws UndoFailedException + if the invocation of <member>XUndoAction::undo</member> raised this exception. In this case, the undo stack + of the undo manager will have been cleared. + + @see redo + @see enterUndoContext + */ + void undo() + raises( ::com::sun::star::document::EmptyUndoStackException, + ::com::sun::star::document::UndoContextNotClosedException, + ::com::sun::star::document::UndoFailedException ); + + /** replays the action on the document which has most recently been undone + + <p>Effectively, invoking this method will + <ul><li>invoke <member>XUndoAction::redo</member> on the top-most action of the redo stack</li> + <li>move this action from the redo stack to the undo stack</li> + </ul></p> + + @throws EmptyUndoStackException + when the Redo stack is currently empty + + @throws UndoContextNotClosedException + if there currently is an open undo context + + @throws UndoFailedException + if the invocation of <member>XUndoAction::redo</member> raised this exception. In this case, the redo stack + of the undo manager will have been cleared. + + @see undo + */ + void redo() + raises( ::com::sun::star::document::EmptyUndoStackException, + ::com::sun::star::document::UndoContextNotClosedException, + ::com::sun::star::document::UndoFailedException ); + + /** determines whether <member>undo</member> can reasonably be expected to succeed. + + @return + <FALSE/> if and only if the undo stack is currently empty, or there is an open and not-yet-closed + undo context. + */ + boolean isUndoPossible(); + + /** determines whether <member>redo</member> can reasonably be expected to succeed. + + @return + <FALSE/> if and only if the redo stack is currently empty, or there is an open and not-yet-closed + undo context. + */ + boolean isRedoPossible(); + + /** returns the title of the top-most action on the undo stack + + @throws EmptyUndoStackException + when the undo stack is currently empty + + @see XUndoAction::Title + */ + string getCurrentUndoActionTitle() + raises( ::com::sun::star::document::EmptyUndoStackException ); + + /** returns the title of the top-most action on the Redo stack + + @throws EmptyUndoStackException + when the Redo stack is currently empty + @see XUndoAction::Title + */ + string getCurrentRedoActionTitle() + raises( ::com::sun::star::document::EmptyUndoStackException ); + + /** returns the titles of all actions currently on the undo stack, from top to bottom + @see XUndoAction::Title + */ + sequence< string > + getAllUndoActionTitles(); + + /** returns the titles of all actions currently on the Redo stack, from top to bottom + + @see XUndoAction::Title + */ + sequence< string > + getAllRedoActionTitles(); + + /** clears the undo and the redo stack. + + <p>All actions will be removed from both the Undo and the Redo stack. Actions which implement the + <type scope="com::sun::star::lang">XComponent</type> interface will be disposed.</p> + + @throws UndoContextNotClosedException + if the method is invoked while an undo context is still open + */ + void clear() + raises( ::com::sun::star::document::UndoContextNotClosedException ); + + /** clears the redo stack. + + <p>All actions will be removed from the Redo stack. Actions which implement the <type scope="com::sun::star::lang">XComponent</type> + interface will be disposed.</p> + + @throws UndoContextNotClosedException + if the method is invoked while an undo context is still open + */ + void clearRedo() + raises( ::com::sun::star::document::UndoContextNotClosedException ); + + /** resets the Undo manager + + <p>In particular, this method will + <ul><li>remove all locks from the undo manager</li> + <li>close all open undo contexts</li> + <li>clear the undo stack</li> + <li>clear the redo stack</li> + </ul></p> + + <p>Note that possible listeners will not get notifications for the single parts of the reset, i.e. there + will be no single <member>XUndoManagerListener::allActionsCleared</member>, + <member>XUndoManagerListener::leftContext</member>, etc., notifications. Instead, listeners will be + notified of the reset by calling their <member>XUndoManagerListener::resetAll</member> method.</p> + */ + void reset(); + + /** adds a listener to be notified of changes in the Undo/Redo stacks. + */ + void addUndoManagerListener( + [in] XUndoManagerListener i_listener + ); + + /** removes a previously added listener + */ + void removeUndoManagerListener( + [in] XUndoManagerListener i_listener + ); +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/document/XUndoManagerListener.idl b/offapi/com/sun/star/document/XUndoManagerListener.idl new file mode 100755 index 000000000000..045e74761794 --- /dev/null +++ b/offapi/com/sun/star/document/XUndoManagerListener.idl @@ -0,0 +1,144 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_XUndoManagerListener_idl__ +#define __com_sun_star_document_XUndoManagerListener_idl__ + +#include <com/sun/star/document/UndoManagerEvent.idl> +#include <com/sun/star/lang/XEventListener.idl> + +//================================================================================================================== + +module com { module sun { module star { module document { + +//================================================================================================================== + +/** implemented by components which want to be notified of changes in the Undo/Redo stacks of an Undo manager. + + @see XUndoManager + */ +published interface XUndoManagerListener : ::com::sun::star::lang::XEventListener +{ + /** is called when an undo action is added to the undo stack. + + <p>Note that the action must not necessarily be the new top element of the stack: In case there's an + open Undo context, <member>UndoManagerEvent::UndoContextDepth</member> will be greater <code>0</code>, + and the newly added action will be subordinate of the context action.</p> + + @see XUndoManager::addUndoAction + */ + void undoActionAdded( [in] UndoManagerEvent i_event ); + + /** is called when the top-most action of the undo stack has been undone. + + @see XUndoManager::undo + */ + void actionUndone( [in] UndoManagerEvent i_event ); + + /** is called when the top-most action of the Redo stack has been re-applied. + + @see XUndoManager::redo + */ + void actionRedone( [in] UndoManagerEvent i_event ); + + /** is called when both the Undo and the Redo stack have been cleared from all Undo actions. + + @see XUndoManager::clear + */ + void allActionsCleared( [in] ::com::sun::star::lang::EventObject i_event ); + + /** is called when the the Redo stack has been cleared. + + @see XUndoManager::clearRedo + */ + void redoActionsCleared( [in] ::com::sun::star::lang::EventObject i_event ); + + /** called when the complete undo manager has been reset + */ + void resetAll( [in] ::com::sun::star::lang::EventObject i_event ); + + /** is called when a new Undo context has been entered. + + <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and + <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, including the + one just entered.</p> + + @see XUndoManager::enterUndoContext + */ + void enteredContext( [in] UndoManagerEvent i_event ); + + /** is called when a new hidden Undo context has been entered. + + <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and + <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, including the + one just entered.</p> + + @see XUndoManager::enterUndoContext + */ + void enteredHiddenContext( [in] UndoManagerEvent i_event ); + + /** is called when an Undo context has been left. + + <p><member>UndoManagerEvent::UndoActionTitle</member> carries the title of the Undo context, and + <member>UndoManagerEvent::UndoContextDepth</member> the number of open Undo contexts, exluding the + one just left.</p> + + @see XUndoManager::leaveUndoContext + @see leftHiddenUndocontext + @see cancelledContext + */ + void leftContext( [in] UndoManagerEvent i_event ); + + /** is calledn when a hidden Undo context has been left. + + <p><member>UndoManagerEvent::UndoActionTitle</member> is empty, as hidden Undo contexts don't have + a title.</p> + + @see XUndoManager::leaveHiddenUndoContext + @see leftContext + @see cancelledContext + */ + void leftHiddenContext( [in] UndoManagerEvent i_event ); + + /** is called when an Undo context has been left, but no actions have been added within this context. + + <p>In such a case, the context which has just been left will not contribute to the undo stack, but instead + be silently removed. Consequently, the <member>UndoManagerEvent::UndoActionTitle</member> is empty.</p> + + @see XUndoManager::leaveUndoContext + @see leftContext + @see leftHiddenContext + */ + void cancelledContext( [in] UndoManagerEvent i_event ); +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/document/XUndoManagerSupplier.idl b/offapi/com/sun/star/document/XUndoManagerSupplier.idl new file mode 100755 index 000000000000..211dd151ecad --- /dev/null +++ b/offapi/com/sun/star/document/XUndoManagerSupplier.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_document_XUndoManagerSupplier_idl__ +#define __com_sun_star_document_XUndoManagerSupplier_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +//================================================================================================================== + +module com { module sun { module star { module document { + +published interface XUndoManager; + +//================================================================================================================== + +/** provides access to an XUndoManager. + */ +published interface XUndoManagerSupplier +{ + /** returns the Undo manager associated with the component. + */ + XUndoManager getUndoManager(); +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/document/XViewDataSupplier.idl b/offapi/com/sun/star/document/XViewDataSupplier.idl new file mode 100644 index 000000000000..0a27b906f358 --- /dev/null +++ b/offapi/com/sun/star/document/XViewDataSupplier.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_document_XViewDataSupplier_idl__ +#define __com_sun_star_document_XViewDataSupplier_idl__ + +#ifndef __com_sun_star_container_XIndexAccess_idl__ +#include <com/sun/star/container/XIndexAccess.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= +/** gives access to some properties describing all open views to a document + + <p> + Each view is described by a sequence< ::com::sun::star::beans::PropertyValue >. + Through this interface the state of all open views can be retrieved and restored + later. These states can also be made persistent so that a document loader can create + all views of the correct types and restore their state to the state when the document was + saved. + </p> + */ +published interface XViewDataSupplier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** retrieve informations about currently opened view to restore it later + + @returns + a <type scope="com::sun::star::container">XIndexAccess</type>, + that gives access to a list of <type scope="com::sun::star::beans">PropertyValue</type> + for every open view. May <NULL/> if no view is currently available. + */ + ::com::sun::star::container::XIndexAccess getViewData(); + + //------------------------------------------------------------------------- + /** restore all views which will be represented by given data argument + + @param Data + a list of <type scope="com::sun::star::beans">PropertyValue</type>s + with information about last opened views to restore it + <NULL/> isn't allowed here. + */ + void setViewData( [in] com::sun::star::container::XIndexAccess Data ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/makefile.mk b/offapi/com/sun/star/document/makefile.mk new file mode 100644 index 000000000000..1521e6b9513c --- /dev/null +++ b/offapi/com/sun/star/document/makefile.mk @@ -0,0 +1,131 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/..$/..$/.. + +PRJNAME=offapi + +TARGET=cssdocument +PACKAGE=com$/sun$/star$/document + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + AmbigousFilterRequest.idl\ + BrokenPackageRequest.idl\ + CorruptedFilterConfigurationException.idl\ + ChangedByOthersRequest.idl\ + DocumentEvent.idl\ + DocumentInfo.idl\ + DocumentProperties.idl\ + EventDescriptor.idl\ + EventObject.idl\ + Events.idl\ + ExportFilter.idl\ + ExtendedTypeDetection.idl\ + ExtendedTypeDetectionFactory.idl\ + FilterAdapter.idl\ + FilterFactory.idl\ + FilterOptionsRequest.idl\ + HeaderFooterSettings.idl\ + ImportFilter.idl\ + LinkTarget.idl\ + LinkTargets.idl\ + LockFileIgnoreRequest.idl\ + LockedDocumentRequest.idl\ + LockedOnSavingRequest.idl\ + MacroExecMode.idl\ + MediaDescriptor.idl\ + NoSuchFilterRequest.idl\ + OfficeDocument.idl\ + OleEmbeddedServerRegistration.idl\ + OwnLockOnDocumentRequest.idl\ + PDFDialog.idl\ + PrinterIndependentLayout.idl\ + RedlineDisplayType.idl \ + Settings.idl\ + StandaloneDocumentInfo.idl\ + TypeDetection.idl\ + UpdateDocMode.idl\ + XActionLockable.idl\ + XBinaryStreamResolver.idl\ + XDocumentEventBroadcaster.idl\ + XDocumentEventListener.idl\ + XDocumentInfo.idl\ + XDocumentInfoSupplier.idl\ + XDocumentInsertable.idl\ + XDocumentProperties.idl\ + XDocumentPropertiesSupplier.idl\ + XDocumentRecovery.idl\ + XDocumentSubStorageSupplier.idl\ + XEmbeddedObjectResolver.idl\ + XEmbeddedObjectSupplier.idl\ + XEmbeddedObjectSupplier2.idl\ + XEmbeddedScripts.idl\ + XEventBroadcaster.idl\ + XEventListener.idl\ + XEventsSupplier.idl\ + XExporter.idl\ + XExtendedFilterDetection.idl\ + XFilter.idl\ + XFilterAdapter.idl\ + XGraphicObjectResolver.idl\ + XImporter.idl\ + XInteractionFilterOptions.idl\ + XInteractionFilterSelect.idl\ + XLinkTargetSupplier.idl\ + XMimeTypeInfo.idl\ + XOOXMLDocumentPropertiesImporter.idl\ + XRedlinesSupplier.idl \ + XScriptInvocationContext.idl\ + XStandaloneDocumentInfo.idl\ + XStorageBasedDocument.idl\ + XStorageChangeListener.idl\ + XTypeDetection.idl\ + XViewDataSupplier.idl\ + LinkUpdateModes.idl\ + XDocumentRevisionListPersistence.idl\ + DocumentRevisionListPersistence.idl \ + XDocumentLanguages.idl \ + XCodeNameQuery.idl \ + XUndoAction.idl \ + XUndoManager.idl \ + XUndoManagerListener.idl \ + XUndoManagerSupplier.idl \ + UndoManagerEvent.idl \ + EmptyUndoStackException.idl \ + UndoContextNotClosedException.idl \ + UndoFailedException.idl \ + + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk |