summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/frame
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/frame')
-rw-r--r--offapi/com/sun/star/frame/BorderWidths.idl71
-rw-r--r--offapi/com/sun/star/frame/CommandGroup.idl182
-rw-r--r--offapi/com/sun/star/frame/Components.idl64
-rw-r--r--offapi/com/sun/star/frame/ContentHandler.idl73
-rw-r--r--offapi/com/sun/star/frame/ContentHandlerFactory.idl114
-rw-r--r--offapi/com/sun/star/frame/ControlCommand.idl70
-rw-r--r--offapi/com/sun/star/frame/ControlEvent.idl77
-rw-r--r--offapi/com/sun/star/frame/Controller.idl133
-rw-r--r--offapi/com/sun/star/frame/Desktop.idl103
-rw-r--r--offapi/com/sun/star/frame/DesktopTask.idl112
-rw-r--r--offapi/com/sun/star/frame/DesktopTasks.idl53
-rw-r--r--offapi/com/sun/star/frame/DispatchDescriptor.idl96
-rw-r--r--offapi/com/sun/star/frame/DispatchHelper.idl70
-rw-r--r--offapi/com/sun/star/frame/DispatchInformation.idl70
-rw-r--r--offapi/com/sun/star/frame/DispatchProvider.idl89
-rw-r--r--offapi/com/sun/star/frame/DispatchRecorder.idl78
-rw-r--r--offapi/com/sun/star/frame/DispatchRecorderSupplier.idl71
-rw-r--r--offapi/com/sun/star/frame/DispatchResultEvent.idl76
-rw-r--r--offapi/com/sun/star/frame/DispatchResultState.idl62
-rw-r--r--offapi/com/sun/star/frame/DispatchStatement.idl108
-rw-r--r--offapi/com/sun/star/frame/DocumentTemplates.idl58
-rw-r--r--offapi/com/sun/star/frame/DoubleInitializationException.idl57
-rw-r--r--offapi/com/sun/star/frame/FeatureStateEvent.idl98
-rw-r--r--offapi/com/sun/star/frame/Frame.idl209
-rw-r--r--offapi/com/sun/star/frame/FrameAction.idl154
-rw-r--r--offapi/com/sun/star/frame/FrameActionEvent.idl72
-rw-r--r--offapi/com/sun/star/frame/FrameControl.idl83
-rw-r--r--offapi/com/sun/star/frame/FrameLoader.idl102
-rw-r--r--offapi/com/sun/star/frame/FrameLoaderFactory.idl113
-rw-r--r--offapi/com/sun/star/frame/FrameSearchFlag.idl133
-rw-r--r--offapi/com/sun/star/frame/FramesContainer.idl64
-rw-r--r--offapi/com/sun/star/frame/GlobalEventBroadcaster.idl69
-rw-r--r--offapi/com/sun/star/frame/IllegalArgumentIOException.idl57
-rw-r--r--offapi/com/sun/star/frame/LayoutManager.idl135
-rw-r--r--offapi/com/sun/star/frame/LayoutManagerEvents.idl136
-rw-r--r--offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl64
-rw-r--r--offapi/com/sun/star/frame/ModuleManager.idl81
-rw-r--r--offapi/com/sun/star/frame/PopupMenuController.idl156
-rw-r--r--offapi/com/sun/star/frame/PopupMenuControllerFactory.idl88
-rw-r--r--offapi/com/sun/star/frame/ProtocolHandler.idl100
-rw-r--r--offapi/com/sun/star/frame/SessionManager.idl87
-rw-r--r--offapi/com/sun/star/frame/Settings.idl53
-rw-r--r--offapi/com/sun/star/frame/StatusbarController.idl145
-rw-r--r--offapi/com/sun/star/frame/StatusbarControllerFactory.idl94
-rw-r--r--offapi/com/sun/star/frame/SynchronousFrameLoader.idl102
-rw-r--r--offapi/com/sun/star/frame/Task.idl81
-rw-r--r--offapi/com/sun/star/frame/TemplateAccess.idl65
-rw-r--r--offapi/com/sun/star/frame/TerminationVetoException.idl64
-rw-r--r--offapi/com/sun/star/frame/TitleChangedEvent.idl57
-rw-r--r--offapi/com/sun/star/frame/ToolbarController.idl149
-rw-r--r--offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl59
-rw-r--r--offapi/com/sun/star/frame/UnknownModuleException.idl54
-rw-r--r--offapi/com/sun/star/frame/WindowArrange.idl77
-rw-r--r--offapi/com/sun/star/frame/XBorderResizeListener.idl69
-rw-r--r--offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl69
-rw-r--r--offapi/com/sun/star/frame/XComponentLoader.idl195
-rw-r--r--offapi/com/sun/star/frame/XComponentRegistry.idl63
-rw-r--r--offapi/com/sun/star/frame/XConfigManager.idl121
-rw-r--r--offapi/com/sun/star/frame/XControlNotificationListener.idl68
-rw-r--r--offapi/com/sun/star/frame/XController.idl128
-rw-r--r--offapi/com/sun/star/frame/XController2.idl73
-rw-r--r--offapi/com/sun/star/frame/XControllerBorder.idl94
-rw-r--r--offapi/com/sun/star/frame/XDesktop.idl168
-rw-r--r--offapi/com/sun/star/frame/XDesktopTask.idl72
-rw-r--r--offapi/com/sun/star/frame/XDispatch.idl167
-rw-r--r--offapi/com/sun/star/frame/XDispatchHelper.idl99
-rw-r--r--offapi/com/sun/star/frame/XDispatchInformationProvider.idl94
-rw-r--r--offapi/com/sun/star/frame/XDispatchProvider.idl112
-rw-r--r--offapi/com/sun/star/frame/XDispatchProviderInterception.idl93
-rw-r--r--offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl103
-rw-r--r--offapi/com/sun/star/frame/XDispatchRecorder.idl149
-rw-r--r--offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl133
-rw-r--r--offapi/com/sun/star/frame/XDispatchResultListener.idl67
-rw-r--r--offapi/com/sun/star/frame/XDocumentTemplates.idl218
-rw-r--r--offapi/com/sun/star/frame/XExtendedFilterDetection.idl68
-rw-r--r--offapi/com/sun/star/frame/XFilterDetect.idl61
-rw-r--r--offapi/com/sun/star/frame/XFrame.idl391
-rw-r--r--offapi/com/sun/star/frame/XFrameActionListener.idl73
-rw-r--r--offapi/com/sun/star/frame/XFrameLoader.idl112
-rw-r--r--offapi/com/sun/star/frame/XFrameLoaderQuery.idl85
-rw-r--r--offapi/com/sun/star/frame/XFrameSetModel.idl61
-rw-r--r--offapi/com/sun/star/frame/XFrames.idl105
-rw-r--r--offapi/com/sun/star/frame/XFramesSupplier.idl109
-rw-r--r--offapi/com/sun/star/frame/XInplaceLayout.idl70
-rw-r--r--offapi/com/sun/star/frame/XInterceptorInfo.idl76
-rw-r--r--offapi/com/sun/star/frame/XLayoutManager.idl513
-rw-r--r--offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl71
-rw-r--r--offapi/com/sun/star/frame/XLayoutManagerListener.idl75
-rw-r--r--offapi/com/sun/star/frame/XLoadEventListener.idl71
-rw-r--r--offapi/com/sun/star/frame/XLoadable.idl88
-rw-r--r--offapi/com/sun/star/frame/XMenuBarAcceptor.idl71
-rw-r--r--offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl85
-rw-r--r--offapi/com/sun/star/frame/XModel.idl239
-rw-r--r--offapi/com/sun/star/frame/XModel2.idl155
-rw-r--r--offapi/com/sun/star/frame/XModule.idl82
-rw-r--r--offapi/com/sun/star/frame/XModuleManager.idl118
-rw-r--r--offapi/com/sun/star/frame/XNotifyingDispatch.idl76
-rw-r--r--offapi/com/sun/star/frame/XPopupMenuController.idl84
-rw-r--r--offapi/com/sun/star/frame/XRecordableDispatch.idl117
-rw-r--r--offapi/com/sun/star/frame/XSessionManagerClient.idl109
-rw-r--r--offapi/com/sun/star/frame/XSessionManagerListener.idl106
-rw-r--r--offapi/com/sun/star/frame/XStatusListener.idl73
-rw-r--r--offapi/com/sun/star/frame/XStatusbarController.idl175
-rw-r--r--offapi/com/sun/star/frame/XStorable.idl179
-rw-r--r--offapi/com/sun/star/frame/XStorable2.idl95
-rw-r--r--offapi/com/sun/star/frame/XSubToolbarController.idl105
-rw-r--r--offapi/com/sun/star/frame/XSynchronousDispatch.idl80
-rw-r--r--offapi/com/sun/star/frame/XSynchronousFrameLoader.idl98
-rw-r--r--offapi/com/sun/star/frame/XTask.idl76
-rw-r--r--offapi/com/sun/star/frame/XTasksSupplier.idl73
-rw-r--r--offapi/com/sun/star/frame/XTerminateListener.idl92
-rw-r--r--offapi/com/sun/star/frame/XTerminateListener2.idl72
-rw-r--r--offapi/com/sun/star/frame/XTitle.idl66
-rw-r--r--offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl66
-rw-r--r--offapi/com/sun/star/frame/XTitleChangeListener.idl61
-rw-r--r--offapi/com/sun/star/frame/XToolbarController.idl113
-rw-r--r--offapi/com/sun/star/frame/XToolbarControllerListener.idl67
-rw-r--r--offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl95
-rw-r--r--offapi/com/sun/star/frame/XUIControllerRegistration.idl110
-rw-r--r--offapi/com/sun/star/frame/XUntitledNumbers.idl122
-rw-r--r--offapi/com/sun/star/frame/XUrlList.idl55
-rw-r--r--offapi/com/sun/star/frame/XWindowArranger.idl62
-rw-r--r--offapi/com/sun/star/frame/makefile.mk169
-rw-r--r--offapi/com/sun/star/frame/status/ClipboardFormats.idl66
-rw-r--r--offapi/com/sun/star/frame/status/FontHeight.idl73
-rw-r--r--offapi/com/sun/star/frame/status/ItemState.idl88
-rw-r--r--offapi/com/sun/star/frame/status/ItemStatus.idl65
-rw-r--r--offapi/com/sun/star/frame/status/LeftRightMargin.idl61
-rw-r--r--offapi/com/sun/star/frame/status/Template.idl63
-rw-r--r--offapi/com/sun/star/frame/status/UpperLowerMargin.idl61
-rw-r--r--offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl73
-rw-r--r--offapi/com/sun/star/frame/status/Verb.idl75
-rw-r--r--offapi/com/sun/star/frame/status/Visibility.idl56
-rw-r--r--offapi/com/sun/star/frame/status/makefile.mk59
134 files changed, 13358 insertions, 0 deletions
diff --git a/offapi/com/sun/star/frame/BorderWidths.idl b/offapi/com/sun/star/frame/BorderWidths.idl
new file mode 100644
index 000000000000..15bf22f673ea
--- /dev/null
+++ b/offapi/com/sun/star/frame/BorderWidths.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: BorderWidths.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_BorderWidths_idl__
+#define __com_sun_star_frame_BorderWidths_idl__
+
+
+//============================================================================
+
+ module com { module sun { module star { module frame {
+
+//============================================================================
+
+/** specifies a border area by offsets from each side.
+ */
+struct BorderWidths
+{
+ //------------------------------------------------------------------------
+ /** specifies the offset from left border.
+ */
+ long Left;
+
+ //------------------------------------------------------------------------
+ /** specifies the offset from top border.
+ */
+ long Top;
+
+ //------------------------------------------------------------------------
+ /** specifies the offset from right border.
+ */
+ long Right;
+
+ //------------------------------------------------------------------------
+ /** specifies the offset from bottom border.
+ */
+ long Bottom;
+
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/frame/CommandGroup.idl b/offapi/com/sun/star/frame/CommandGroup.idl
new file mode 100644
index 000000000000..43a58da2b166
--- /dev/null
+++ b/offapi/com/sun/star/frame/CommandGroup.idl
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: CommandGroup.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_CommandGroup_idl__
+#define __com_sun_star_frame_CommandGroup_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides information about a supported command
+
+ @see XDispatchInformationProvider
+ @see Controller
+
+ @since OOo 2.0.0
+ */
+published constants CommandGroup
+{
+ //-------------------------------------------------------------------------
+ /** specifies interal commands.
+ */
+ const short INTERNAL = 0;
+
+ //-------------------------------------------------------------------------
+ /** specifies application based commands.
+ */
+ const short APPLICATION = 1;
+
+ //-------------------------------------------------------------------------
+ /** specifies view specific commands.
+ */
+ const short VIEW = 2;
+
+ //-------------------------------------------------------------------------
+ /** specifies document specific commands.
+ */
+ const short DOCUMENT = 3;
+
+ //-------------------------------------------------------------------------
+ /** specifies edit specific commands.
+ */
+ const short EDIT = 4;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands used by the built-in Basic.
+ */
+ const short MACRO = 5;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands to change options.
+ */
+ const short OPTIONS = 6;
+
+ //-------------------------------------------------------------------------
+ /** specifies math specific commands.
+ */
+ const short MATH = 7;
+
+ //-------------------------------------------------------------------------
+ /** specifies navigate commands.
+ */
+ const short NAVIGATOR = 8;
+
+ //-------------------------------------------------------------------------
+ /** specifies insert commands.
+ */
+ const short INSERT = 9;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands that are related to formats.
+ */
+ const short FORMAT = 10;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands that are related to templates.
+ */
+ const short TEMPLATE = 11;
+
+ //-------------------------------------------------------------------------
+ /** specifies text specific commands.
+ */
+ const short TEXT = 12;
+
+ //-------------------------------------------------------------------------
+ /** specifies frame specific commands.
+ */
+ const short FRAME = 13;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands that are related to graphical data.
+ */
+ const short GRAPHIC = 14;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands that are related to tables.
+ */
+ const short TABLE = 15;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands that are related to bullets and numbering.
+ */
+ const short ENUMERATION = 16;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands that are related to data.
+ */
+ const short DATA = 17;
+
+ //-------------------------------------------------------------------------
+ /** specifies special commands.
+ */
+ const short SPECIAL = 18;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands that are related to images.
+ */
+ const short IMAGE = 19;
+
+ //-------------------------------------------------------------------------
+ /** specifies chart specific commands.
+ */
+ const short CHART = 20;
+
+ //-------------------------------------------------------------------------
+ /** specifies explorer specific commands.
+ */
+ const short EXPLORER = 21;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands that are related to connectors.
+ */
+ const short CONNECTOR = 22;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands that are related to modifications.
+ */
+ const short MODIFY = 23;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands that are related to drawing.
+ */
+ const short DRAWING = 24;
+
+ //-------------------------------------------------------------------------
+ /** specifies commands that are related to controls.
+ */
+ const short CONTROLS = 25;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/Components.idl b/offapi/com/sun/star/frame/Components.idl
new file mode 100644
index 000000000000..6e2535b37150
--- /dev/null
+++ b/offapi/com/sun/star/frame/Components.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: Components.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_Components_idl__
+#define __com_sun_star_frame_Components_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** specifies a collection of components
+
+ <p>
+ One important instance of this service is available from the
+ <type>Desktop</type> object via the <type>XDesktop</type> interface.
+ </p>
+
+ @see com::sun::star::lang::XComponent
+ @see XDesktop
+ */
+published service Components
+{
+ //-------------------------------------------------------------------------
+ /** use it to get snapshot of current avaliable components as an enumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/ContentHandler.idl b/offapi/com/sun/star/frame/ContentHandler.idl
new file mode 100644
index 000000000000..11557e5ace52
--- /dev/null
+++ b/offapi/com/sun/star/frame/ContentHandler.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ContentHandler.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_ContentHandler_idl__
+#define __com_sun_star_frame_ContentHandler_idl__
+
+#ifndef __com_sun_star_frame_XNotifyingDispatch_idl__
+#include <com/sun/star/frame/XNotifyingDispatch.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** special dispatcher for non visible contents, e.g. sounds
+
+ <p>
+ This handler doesn't need any frame as target for loading components.
+ Content handler are registered for content types.
+ (See type/filter configuration of <type scope="com::sun::star::document">TypeDetection</type>
+ for further informations) If generic load mechanism found such documents which
+ can be handled by a ContentHandler it will create and use it.
+ </p>
+
+ @see com::sun::star::document::TypeDetection
+ */
+published service ContentHandler
+{
+ //-------------------------------------------------------------------------
+ /** provides handling of dispatches with defined result state
+
+ <p>
+ Base interface of <type>XNotifyingDispatch</type> is <type>XDispatch</type>
+ and can be called for requests if result isn't neccessary for dispatch operation.
+ </p>
+
+ @see XDispatch
+ */
+ interface XNotifyingDispatch;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/ContentHandlerFactory.idl b/offapi/com/sun/star/frame/ContentHandlerFactory.idl
new file mode 100644
index 000000000000..3f6552476192
--- /dev/null
+++ b/offapi/com/sun/star/frame/ContentHandlerFactory.idl
@@ -0,0 +1,114 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ContentHandlerFactory.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_ContentHandlerFactory_idl__
+#define __com_sun_star_frame_ContentHandlerFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerQuery_idl__
+#include <com/sun/star/container/XContainerQuery.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** factory to create content loader
+
+ <p>
+ With this factory it's possible to
+ <ul>
+ <li>have access on configuration of set of registered content handler objects</li>
+ <li>create a content handler by his internal name</li>
+ <li>query for a content handler by using special query or property description.</li>
+ </ul>
+ </p>
+ */
+published service ContentHandlerFactory
+{
+ //-------------------------------------------------------------------------
+ /** interface to create handler objects by using his internal name
+
+ <p>
+ Returned objects must support the service specification of a <type>ContentHandler</type>.
+ They can be created by using of his internal name, which must be unambigous everytime, only.
+ To get this name use further specified interfaces of this factory for access on
+ the flat configuration.
+ </p>
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ //-------------------------------------------------------------------------
+ /** provides access to the whole content handler configuration
+
+ <p>
+ This interface supports an access to the internal configuration
+ of all accessible handler objects. The return value of
+ <member scope="com::sun::star::container">XNameAccess::getByName()</member> is a property sequence
+ packed in an any.
+ </p>
+ <table border=1>
+ <tr>
+ <td><b>Types<b></td>
+ <td>[string]</td>
+ <td>file types for which handler is registered</td>
+ </tr>
+ <tr>
+ <td><b>UIName<b></td>
+ <td>[string]</td>
+ <td>UI representable and localized name</td>
+ </tr>
+ </table>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ //-------------------------------------------------------------------------
+ /** supports query mode for configuration access
+
+ <p>
+ This interface can be used to get sub sets of current configuration entries
+ which represent given search parameters.
+ </p>
+ */
+ interface com::sun::star::container::XContainerQuery;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/ControlCommand.idl b/offapi/com/sun/star/frame/ControlCommand.idl
new file mode 100644
index 000000000000..684ff4e50897
--- /dev/null
+++ b/offapi/com/sun/star/frame/ControlCommand.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ControlCommand.idl,v $
+ * $Revision: 1.3 $
+ *
+ * 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_frame_ControlCommand_idl__
+#define __com_sun_star_frame_ControlCommand_idl__
+
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** describes a command which can be send to a generic toolbar control.
+
+ @since OOo 2.0.3
+ */
+struct ControlCommand
+{
+ //-------------------------------------------------------------------------
+
+ /** specifies the command which should be processed by the toolbar
+ control.
+ */
+ string Command;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a sequence of named values which are used as argument
+ for the command. The number and type of arguments depend on the
+ the command and control.
+ */
+ sequence< com::sun::star::beans::NamedValue > Arguments;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/ControlEvent.idl b/offapi/com/sun/star/frame/ControlEvent.idl
new file mode 100644
index 000000000000..293aec4f5b49
--- /dev/null
+++ b/offapi/com/sun/star/frame/ControlEvent.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ControlEvent.idl,v $
+ * $Revision: 1.3 $
+ *
+ * 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_frame_ControlEvent_idl__
+#define __com_sun_star_frame_ControlEvent_idl__
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_beans_NamedValue_idl__
+#include <com/sun/star/beans/NamedValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** describes a control event send by extended user interface
+ controls.
+
+ @since OOo 2.0.3
+ */
+struct ControlEvent
+{
+ //-------------------------------------------------------------------------
+ /** fully parsed URL describing the control that sends this
+ notification.
+ */
+ ::com::sun::star::util::URL aURL;
+
+ /** specifies the event which has occured.
+ */
+ string Event;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a sequence of named values which are used as
+ additional values for the event. The number and types of
+ named values depent on the event.
+ */
+ sequence< com::sun::star::beans::NamedValue > aInformation;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/Controller.idl b/offapi/com/sun/star/frame/Controller.idl
new file mode 100644
index 000000000000..28730a34d774
--- /dev/null
+++ b/offapi/com/sun/star/frame/Controller.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: Controller.idl,v $
+ * $Revision: 1.13 $
+ *
+ * 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_frame_Controller_idl__
+#define __com_sun_star_frame_Controller_idl__
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XContextMenuInterception_idl__
+#include <com/sun/star/ui/XContextMenuInterception.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XUserInputInterception_idl__
+#include <com/sun/star/awt/XUserInputInterception.idl>
+#endif
+
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_datatransfer_XTransferableSupplier_idl__
+#include <com/sun/star/datatransfer/XTransferableSupplier.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** is an abstract service for a component which offers a deeper integration of
+ desktop components than a <type scope="com::sun::star::awt">XWindow</type>
+ can offer
+
+ <p>
+ Such components can be loaded into a <type>Frame</type> inside a <type>Desktop</type>
+ environment. A controller is a richer component then a pure window, but full featured
+ components need a <type>XModel</type> interface too.
+ <br>
+ (see service <type scope="com::sun::star::document">OfficeDocument</type> for further information)
+ <p>
+
+ @see com::sun::star::document::OfficeDocument
+ */
+published service Controller
+{
+ //-------------------------------------------------------------------------
+ /** with this interface, components viewed in a <type>Frame</type> can serve
+ events (by supplying dispatches)
+ */
+ interface XController;
+
+ //-------------------------------------------------------------------------
+ /** for certain functions which are useful at the UI
+
+ <p>
+ Mostly used by the <type>Frame</type> service, which contains this
+ controller object. There will be an interception mechanism for dispatches
+ available too.
+ </p>
+
+ @see XDispatch
+ @see XDispatchProviderInterception
+ */
+ interface XDispatchProvider;
+
+ //-------------------------------------------------------------------------
+ /** this interface enables the controller to get interceptors registered that
+ change context menue or prevent them from beeing executed
+
+ <p>
+ Don't mix it with <type>XDispatchProviderInterception</type> which
+ intercept calls of <member>XDispatch::dispatch()</member>.
+ </p>
+ */
+ [optional] interface com::sun::star::ui::XContextMenuInterception;
+
+ //-------------------------------------------------------------------------
+ /** makes it possible to intercept keyboard and mouse input.
+ */
+ [optional] interface com::sun::star::awt::XUserInputInterception;
+
+ //-------------------------------------------------------------------------
+ /** makes it possible to access and change the selection in a view
+ */
+ [optional] interface com::sun::star::view::XSelectionSupplier;
+
+ //-------------------------------------------------------------------------
+ /** makes it possible to work with clipboard data
+ */
+ [optional] interface com::sun::star::datatransfer::XTransferableSupplier;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/Desktop.idl b/offapi/com/sun/star/frame/Desktop.idl
new file mode 100644
index 000000000000..c71557371f5a
--- /dev/null
+++ b/offapi/com/sun/star/frame/Desktop.idl
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: Desktop.idl,v $
+ * $Revision: 1.12 $
+ *
+ * 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_frame_Desktop_idl__
+#define __com_sun_star_frame_Desktop_idl__
+
+#ifndef __com_sun_star_frame_Frame_idl__
+#include <com/sun/star/frame/Frame.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDesktop_idl__
+#include <com/sun/star/frame/XDesktop.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XComponentLoader_idl__
+#include <com/sun/star/frame/XComponentLoader.idl>
+#endif
+
+#ifndef __com_sun_star_document_XEventBroadcaster_idl__
+#include <com/sun/star/document/XEventBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** is the environment for components which can instantiate within frames
+
+ <p>
+ A desktop environment contains tasks with one or more frames
+ in which components can be loaded. The term "task" or naming a frame as a
+ "task frame" is not in any way related to any additional implemented
+ interfaces, it's just because these frames use task windows.
+ </p>
+ */
+published service Desktop
+{
+ //-------------------------------------------------------------------------
+ /** make it possible to be the global root of different seperated frame trees
+
+ <p>
+ It's not a must for a frame (neither a frame tree) to be a part of this
+ global tree. But such outstanding frames won't be accessible by the normal
+ frame api.
+ </p>
+ */
+ service Frame;
+
+ //-------------------------------------------------------------------------
+ /** regulate life time of desktop environment and support high level
+ access to components of sub frame tree
+ */
+ interface XDesktop;
+
+ //-------------------------------------------------------------------------
+ /** supports simple api for loading components into the frame environment
+ */
+ interface XComponentLoader;
+
+ //-------------------------------------------------------------------------
+ /** @deprecated This interface is a documentation error. It was never thought to be supported
+ by this service. Please use the service <type cope="com::sun::star::frame">GlobalEventBroadcaster</type>
+ instead of this interface.
+ */
+ interface com::sun::star::document::XEventBroadcaster;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DesktopTask.idl b/offapi/com/sun/star/frame/DesktopTask.idl
new file mode 100644
index 000000000000..80e9f195d7f3
--- /dev/null
+++ b/offapi/com/sun/star/frame/DesktopTask.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DesktopTask.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_DesktopTask_idl__
+#define __com_sun_star_frame_DesktopTask_idl__
+
+#ifndef __com_sun_star_frame_XDesktopTask_idl__
+#include <com/sun/star/frame/XDesktopTask.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XWindowArranger_idl__
+#include <com/sun/star/frame/XWindowArranger.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFramesSupplier_idl__
+#include <com/sun/star/frame/XFramesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use the <type>Frame</type> service instead of this
+ @deprecated
+ */
+published service DesktopTask
+{
+ /** use <type>Frame</type> service */
+ interface com::sun::star::frame::XDesktopTask;
+
+ /** use the same interface at the <type>Frame</type> service */
+ interface com::sun::star::frame::XFrame;
+
+ /** use the same interface at the <type>Frame</type> service */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** - */
+ interface com::sun::star::frame::XWindowArranger;
+
+ /** use the same interface at the <type>Desktop</type> or
+ <type>Frame</type> service */
+ interface com::sun::star::frame::XFramesSupplier;
+
+ /** use property <member>Frame::Title</member> instead of that */
+ [readonly, property] string Title;
+
+ /** - */
+ [readonly, property] boolean IsDesktop;
+
+ /** use th visible state of the frame container window instead of this */
+ [property] boolean IsVisible;
+
+ /** - */
+ [property] boolean IsFloating;
+ /** - */
+ [property] boolean IsAlwaysVisible;
+
+ /** use the position of the frame container window instead of this */
+ [property] com::sun::star::awt::Point Position;
+
+ /** use the size of the frame container window instead of this */
+ [property] com::sun::star::awt::Size Size;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DesktopTasks.idl b/offapi/com/sun/star/frame/DesktopTasks.idl
new file mode 100644
index 000000000000..ddf9a52e974e
--- /dev/null
+++ b/offapi/com/sun/star/frame/DesktopTasks.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DesktopTasks.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_DesktopTasks_idl__
+#define __com_sun_star_frame_DesktopTasks_idl__
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** @deprecated
+ */
+published service DesktopTasks
+{
+ interface com::sun::star::container::XEnumerationAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchDescriptor.idl b/offapi/com/sun/star/frame/DispatchDescriptor.idl
new file mode 100644
index 000000000000..7ff80bd7d0ee
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchDescriptor.idl
@@ -0,0 +1,96 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DispatchDescriptor.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_DispatchDescriptor_idl__
+#define __com_sun_star_frame_DispatchDescriptor_idl__
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** describes a feature to be retrieved by a URL that
+ has to be loaded into a specified frame
+
+ <p>
+ For a normal dispatch calls all needed parameters are seperated.
+ For optimized remote functionality <member>XDispatch::queryDispatches()</member>
+ it's neccessary to pack these parameters in a flat structure wich can be used
+ in a simple manner.
+ </p>
+
+ @see XDispatchProvider::queryDispatches()
+ */
+published struct DispatchDescriptor
+{
+ //-------------------------------------------------------------------------
+ /** specifies the URL of the resource/function
+
+ <p>
+ Must be a full parsed URL. Use service <type scope="com::sun::star::util">URLTransformer</type>
+ for that.
+ </p>
+
+ @see com::sun::star::util::URLTransformer
+ */
+ com::sun::star::util::URL FeatureURL;
+
+ //-------------------------------------------------------------------------
+ /** name of the target frame
+
+ <p>
+ Special targets (e.g. "_blank", "_self") or realy existing target names can be used.
+ </p>
+
+ @see XDispatchProvider::queryDispatch()
+ */
+ string FrameName;
+
+ //-------------------------------------------------------------------------
+ /** describes how the target frame is to be searched
+
+ <p>
+ This optional parameter is used if <var>FrameName</var> isn't a special target only.
+ </p>
+
+ @see FrameSearchFlag
+ */
+ long SearchFlags;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchHelper.idl b/offapi/com/sun/star/frame/DispatchHelper.idl
new file mode 100644
index 000000000000..a92d0432fa21
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchHelper.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DispatchHelper.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_DispatchHelper_idl__
+#define __com_sun_star_frame_DispatchHelper_idl__
+
+#ifndef __com_sun_star_frame_XDispatchHelper_idl__
+#include <com/sun/star/frame/XDispatchHelper.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides an easy way to dispatch an URL using one call instead of multiple ones.
+
+ <p>
+ Normaly a complete dispatch is splitted into different parts:
+ - converting and parsing the URL
+ - searching for a valid dispatch object available on a dispatch provider
+ - dispatching of the URL and it's parameters
+ </p>
+
+ @see DispatchProvider
+
+ @since OOo 1.1.2
+ */
+published service DispatchHelper
+{
+ //-------------------------------------------------------------------------
+ /** provides the easy way for dispatch requests.
+
+ @see XDispatchProvider
+ @see XDispatch
+ */
+ interface XDispatchHelper;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchInformation.idl b/offapi/com/sun/star/frame/DispatchInformation.idl
new file mode 100644
index 000000000000..ad174f30849c
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchInformation.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DispatchInformation.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_DispatchInformation_idl__
+#define __com_sun_star_frame_DispatchInformation_idl__
+
+#ifndef __com_sun_star_frame_CommandGroup_idl__
+#include <com/sun/star/frame/CommandGroup.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides information about a supported command
+
+ @see XDispatchInformationProvider
+ @see Controller
+
+ @since OOo 2.0.0
+ */
+published struct DispatchInformation
+{
+ //-------------------------------------------------------------------------
+ /** command URL of a supported command.
+ */
+ string Command;
+
+ //-------------------------------------------------------------------------
+ /** group identifier to which the supported command belong.
+
+ <p>
+ @see CommandGroup
+ </p>
+ */
+ short GroupId;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchProvider.idl b/offapi/com/sun/star/frame/DispatchProvider.idl
new file mode 100644
index 000000000000..5fda63ea869d
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchProvider.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DispatchProvider.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_DispatchProvider_idl__
+#define __com_sun_star_frame_DispatchProvider_idl__
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides <type>XDispatch</type> objects for certain functions which
+ are useful at the UI
+
+ <p>
+ Such dispatch objects must be queried explicitly and used for
+ queried purposes only. They can handle requests with guaranteed
+ notifications (<type>XNotifyingDispatch</type>) or with possible
+ (but not guaranteed) notifications (<type>XDispatch</type>).
+ </p>
+
+ @see XNotifyingDispatch
+ @see XDispatch
+ @see XControlNotificationListener
+ */
+published service DispatchProvider
+{
+ //-------------------------------------------------------------------------
+ /** provides handling of dispatches with defined result state
+
+ <p>
+ Base interface of <type>XNotifyingDispatch</type> is <type>XDispatch</type>
+ and can be called for requests if result isn't neccessary for dispatch operation.
+ </p>
+
+ @see XDispatch
+ */
+ interface XDispatchProvider;
+
+ //-------------------------------------------------------------------------
+ /** provides dispatch interception
+
+ <p>
+ It makes it possible to register an <type>XDispatchProvider</type> which
+ intercepts all requests of <type>XDispatch</type> to this instance.
+ </p>
+ */
+ [optional] interface XDispatchProviderInterception;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchRecorder.idl b/offapi/com/sun/star/frame/DispatchRecorder.idl
new file mode 100644
index 000000000000..209398c2a36f
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchRecorder.idl
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DispatchRecorder.idl,v $
+ * $Revision: 1.11 $
+ *
+ * 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_frame_DispatchRecorder_idl__
+#define __com_sun_star_frame_DispatchRecorder_idl__
+
+#ifndef __com_sun_star_frame_XDispatchRecorder_idl__
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexReplace_idl__
+#include <com/sun/star/container/XIndexReplace.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides functionality to record <member>XDispatch::dispatch()</member> requests
+
+ <p>
+ It records all neccessary parameters of a call <member>XDispatch::dispatch()</member>
+ and generate code which can be executed at later time to run same operations
+ again. Which code will be generated depends from real implementation. So it's
+ possible to generate e.g. Java/Basic or may Perl code.
+ By using of a <type>DispatchRecorderSupplier</type>, which is available on
+ a property of a <member>Frame::DispatchRecorderSupplier</member>, it's possible to change such code generation
+ for further requests or disable it in general by setting this property to <NULL/>.
+ </p>
+
+ @see DispatchRecorderSupplier
+ @see Frame::RecorderSupplier
+
+ @since OOo 1.1.2
+ */
+published service DispatchRecorder
+{
+ //-------------------------------------------------------------------------
+ /** provides the record functionality and access on the generated code
+ */
+ interface com::sun::star::frame::XDispatchRecorder;
+ /** provides replacement capability of recorded statements
+ */
+ interface com::sun::star::container::XIndexReplace;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl b/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl
new file mode 100644
index 000000000000..8cbe4af925d5
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DispatchRecorderSupplier.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_DispatchRecorderSupplier_idl__
+#define __com_sun_star_frame_DispatchRecorderSupplier_idl__
+
+#ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__
+#include <com/sun/star/frame/XDispatchRecorderSupplier.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides a <type>DispatchRecorder</type>
+
+ <p>
+ This supplier regulate macro recording of <member>XDispatch::dispatch()</member>
+ calls. For that it capsulate a reference to a <type>DispatchRecorder</type>.
+ Such recorder is used internaly and can be used externaly too.
+ A supplier will be available on a <type>Frame</type> if recording was enabled,
+ otherwise not. A frame supports a special property for that.
+ This modular concept of recorder, supplier and frame makes it possible to
+ implement local recording on one frame; global recording by using all currently
+ opened frames or only some of them; and so on.
+ </p>
+
+ @see DispatchRecorder
+ @see Frame
+ @since OOo 1.1.2
+ */
+published service DispatchRecorderSupplier
+{
+ //-------------------------------------------------------------------------
+ /** provides access to a <type>DispatchRecorder</type> and helps on recording
+ */
+ interface com::sun::star::frame::XDispatchRecorderSupplier;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchResultEvent.idl b/offapi/com/sun/star/frame/DispatchResultEvent.idl
new file mode 100644
index 000000000000..77fc388a045d
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchResultEvent.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DispatchResultEvent.idl,v $
+ * $Revision: 1.6 $
+ *
+ * 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_frame_DispatchResultEvent_idl__
+#define __com_sun_star_frame_DispatchResultEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** contains the result of the dispatch action, if State is set to SUCCESS
+
+ <p>
+ The type of the result is dispatch action dependend. The member State
+ can be set to one of the values defined in <type>DispatchResultState</type>.
+ If State is set to <const>DispatchResultState::FAILURE</const>, Result may
+ specify the reason (or is empty). The type is also dispatch action dependend.
+ If State is set to <const>DispatchResultState::DONTKNOW</const>, Result is empty.
+ </p>
+
+ @see DispatchResultState
+*/
+published struct DispatchResultEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** describes state of dispatch
+ */
+ short State;
+
+ //-------------------------------------------------------------------------
+ /** describes result for given <var>State</var>
+ */
+ any Result;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchResultState.idl b/offapi/com/sun/star/frame/DispatchResultState.idl
new file mode 100644
index 000000000000..5009a390c868
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchResultState.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DispatchResultState.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_DispatchResultState_idl__
+#define __com_sun_star_frame_DispatchResultState_idl__
+
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** possible values for <type>DispatchResultEvent</type>
+ */
+published constants DispatchResultState
+{
+ //-------------------------------------------------------------------------
+ /** indicates: dispatch failed
+ */
+ const short FAILURE = 0;
+
+ //-------------------------------------------------------------------------
+ /** indicates: dispatch was successfully
+ */
+ const short SUCCESS = 1;
+
+ //-------------------------------------------------------------------------
+ /** indicates: result isn't defined
+ */
+ const short DONTKNOW = 2;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DispatchStatement.idl b/offapi/com/sun/star/frame/DispatchStatement.idl
new file mode 100644
index 000000000000..f3455bbcebe1
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchStatement.idl
@@ -0,0 +1,108 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DispatchStatement.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_DispatchStatement_idl__
+#define __com_sun_star_frame_DispatchStatement_idl__
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+
+// DocMerge from xml: struct com::sun::star::frame::DispatchStatement
+/** represents a dispatch statement from a recorded macro
+
+ @since OOo 1.1.2
+ */
+published struct DispatchStatement
+{
+ // DocMerge from xml: field com::sun::star::frame::DispatchStatement::aCommand
+ /** specifies the dispatch command
+
+ <p>
+ That means the <var>URL</var> parameter of a corresponding <member>XDispatchProvider::queryDispatch()</member> request.
+ </p>
+ */
+ string aCommand;
+
+ //-------------------------------------------------------------------------
+
+
+ // DocMerge from xml: field com::sun::star::frame::DispatchStatement::aTarget
+ /** specifies the frame target
+
+ <p>
+ That means the <var>TargetFrameName</var> parameter of a corresponding <member>XDispatchProvider::queryDispatch()</member> request.
+ </p>
+ */
+ string aTarget;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::frame::DispatchStatement::aArgs
+ /** specifies the dispatch command arguments
+
+ <p>
+ That means the <var>Arguments</var> parameter of a corresponding <member>XDispatch::dispatch()</member> request.
+ </p>
+ */
+ sequence < com::sun::star::beans::PropertyValue > aArgs;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::frame::DispatchStatement::nFlags
+ /** specifies the optional search flags
+ <p>
+ That means the <var>SearchFlags</var> parameter of a corresponding <member>XDispatchProvider::queryDispatch()</member> request.
+ </p>
+ */
+ long nFlags;
+
+ //-------------------------------------------------------------------------
+
+ // DocMerge from xml: field com::sun::star::frame::DispatchStatement::bIsComment
+ /** specifies if this statement should be recorded as commented out or not
+
+ @see XDispatchRecorder::recordDispatchAsComment()
+ */
+ boolean bIsComment;
+
+ //-------------------------------------------------------------------------
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DocumentTemplates.idl b/offapi/com/sun/star/frame/DocumentTemplates.idl
new file mode 100644
index 000000000000..f86fe4d50ac6
--- /dev/null
+++ b/offapi/com/sun/star/frame/DocumentTemplates.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DocumentTemplates.idl,v $
+ * $Revision: 1.6 $
+ *
+ * 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_frame_DocumentTemplates_idl__
+#define __com_sun_star_frame_DocumentTemplates_idl__
+
+#ifndef __com_sun_star_frame_XDocumentTemplates_idl__
+#include <com/sun/star/frame/XDocumentTemplates.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** is an abstract service for accessing the document templates of the office
+ and manipulate them ( add or rename or remove templates )
+*/
+published service DocumentTemplates
+{
+ //-------------------------------------------------------------------------
+ /** implements a high level interface on top of an ucb content provider
+ which is used for template configuration
+ */
+ interface XDocumentTemplates;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/DoubleInitializationException.idl b/offapi/com/sun/star/frame/DoubleInitializationException.idl
new file mode 100644
index 000000000000..97c7dbd3c656
--- /dev/null
+++ b/offapi/com/sun/star/frame/DoubleInitializationException.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: DoubleInitializationException.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_TerminationVetoException_idl__
+#define __com_sun_star_frame_TerminationVetoException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::frame::DoubleInitializationException
+/** This exception can be thrown in case an object is initialized second time.
+
+ @since OOo 1.1.2
+ */
+published exception DoubleInitializationException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FeatureStateEvent.idl b/offapi/com/sun/star/frame/FeatureStateEvent.idl
new file mode 100644
index 000000000000..1270fa37d100
--- /dev/null
+++ b/offapi/com/sun/star/frame/FeatureStateEvent.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: FeatureStateEvent.idl,v $
+ * $Revision: 1.12 $
+ *
+ * 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_frame_FeatureStateEvent_idl__
+#define __com_sun_star_frame_FeatureStateEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** This event is broadcast by a <type>Controller</type> whenever the state of
+ the feature changes
+
+ @see XController
+ @see XStatusListener
+ */
+published struct FeatureStateEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** contains the URL of the feature.
+ */
+ com::sun::star::util::URL FeatureURL;
+
+ //-------------------------------------------------------------------------
+ /** contains a descriptor of the feature for the user interface.
+ */
+ string FeatureDescriptor;
+
+ //-------------------------------------------------------------------------
+ /** specifies whether the feature is currently enabled or disabled.
+ */
+ boolean IsEnabled;
+
+ //-------------------------------------------------------------------------
+ /** specifies whether the <type>XDispatch</type> has to be requeried.
+
+ <p>
+ Interest code should listen for <type>FrameActionEvent</type>
+ too, to update own feature states and dispatch listener on
+ <const>FrameAction::CONTEXT_CHANGED</const>.
+ </p>
+ */
+ boolean Requery;
+
+ //-------------------------------------------------------------------------
+ /** contains the state of the feature in this dispatch.
+
+ <p>
+ This can be, for example, simply <TRUE/> for a boolean feature like
+ underline on/off. Some simple types like <code>string</code> or
+ <atom>boolean</atom> are useful here for generic UI elements, like
+ a checkmark in a menu.
+ </p>
+ */
+ any State;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/Frame.idl b/offapi/com/sun/star/frame/Frame.idl
new file mode 100644
index 000000000000..59bd421e2209
--- /dev/null
+++ b/offapi/com/sun/star/frame/Frame.idl
@@ -0,0 +1,209 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: Frame.idl,v $
+ * $Revision: 1.22 $
+ *
+ * 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_frame_Frame_idl__
+#define __com_sun_star_frame_Frame_idl__
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__
+#include <com/sun/star/frame/XDispatchRecorderSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFramesSupplier_idl__
+#include <com/sun/star/frame/XFramesSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_task_XStatusIndicatorFactory_idl__
+#include <com/sun/star/task/XStatusIndicatorFactory.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchInformationProvider_idl__
+#include <com/sun/star/frame/XDispatchInformationProvider.idl>
+#endif
+
+#ifndef _com_sun_star_xml_UserDefinedAttributesSupplier_idl_
+#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** represents the environment for a desktop component
+
+ <p>
+ Frames are the anchors for the office components and they are the components' link
+ to the outside world. They create a skeleton for the whole office api infrastructure
+ by building frame hierarchys. These hierarchies contains all currently loaded
+ documents and make it possible to walk during these trees.
+ A special service <type>Desktop</type> can(!) combine different of such trees
+ to a global one which life time will be controlled by it.
+ </p>
+
+ @see Desktop
+ */
+published service Frame
+{
+ //-------------------------------------------------------------------------
+ /** contains user defined attributes.
+
+ @see <type scope="com::sun::star::xml">UserDefinedAttributesSupplier</type>
+ */
+ [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;
+
+ //-------------------------------------------------------------------------
+ /** allows the component to be loaded and accessed
+ within the frame; it is the main connection to the
+ environment of the component.
+ */
+ interface XFrame;
+
+ //-------------------------------------------------------------------------
+ /** provides access to dispatchers for the frame.
+
+ <p>
+ What kind of URLs a frame accepts in the calls to <member>XDispatchProvider::queryDispatch()</member>,
+ and how the returned dispatcher handles dispatches is completely implementation dependent
+ (though of course the restrictions of <type>XDispatchProvider</type> must be met).
+ Frame implementations may (optionally) support special targets in the call to
+ <member>XDispatchProvider::queryDispatch()</member>.
+ Such special targets are passed as target frame name. They may, in addition,
+ require special frame search flags (see <type>FrameSearchFlag</type>), or,
+ in opposite, limit the set of allowed flags.<br>
+ Common special targets include:
+ <ul>
+ <li><b>_blank</b><br> is used to create a new frame when dispatching the URL.</li>
+ <li><b>_default</b><br> is used to recycle empty or create a new frame when dispatching the URL.</li>
+ <li><b>_self</b><br> forces the frame to dispatch the URL into itself. ("" means the same)</li>
+ <li><b>_parent</b><br> dispatches the URL into the parent frame.</li>
+ <li><b>_top</b><br> dispatches the URL into the top level frame, the frame where this is invoked belongs to.</li>
+ </ul>
+ </p>
+
+ @see XDispatch
+ @see XFrame::findFrame()
+ */
+ interface XDispatchProvider;
+
+ //-------------------------------------------------------------------------
+ /** provides information about supported commands
+
+ @since OOo 2.0.0
+ */
+ [optional] interface XDispatchInformationProvider;
+
+ //-------------------------------------------------------------------------
+ /** supports interception mechanism for dispatched URLs
+
+ <p>
+ Registered objects can intercept, supress or deroute dispatched URLs.
+ If they support another interface too (<type>XInterceptorInfo</type>)
+ it's possible to perform it by directly calling of right interceptor without
+ using list of all registered ones.
+ </p>
+ */
+ interface XDispatchProviderInterception;
+
+ //-------------------------------------------------------------------------
+ /** provides access to sub frames within this frame
+ */
+ interface XFramesSupplier;
+
+ //-------------------------------------------------------------------------
+ /** supplies access to <type scope="com::sun::star::task">XStatusIndicator</type> objects
+ for the component within the frame to show progresses
+ */
+ [optional] interface com::sun::star::task::XStatusIndicatorFactory;
+
+ //-------------------------------------------------------------------------
+ /** if possible it sets/gets the UI title on/from the frame container window
+
+ <p>
+ It depends from the type of the frame container window. If it is a system
+ task window all will be OK. Otherwise the title can't be set.
+ Setting/getting of the pure value of this property must be possible in every
+ case. Only showing on the UI can be fail.
+ </p>
+ */
+ [property] string Title;
+
+ //-------------------------------------------------------------------------
+ /** provides access to the dispatch recorder of the frame
+
+ <p>
+ Such recorder can be used to record dispatch requests.
+ The supplier contains a dispatch recorder and provide the functionality
+ to use it for any dispatch object from outside which supports the interface
+ <type>XDispatch</type>. A supplier is available only, if recording was enabled.
+ That means: if somewhere whish to enable recoding on a frame he must set
+ a supplier with a recorder object inside of it. Every user of dispatches
+ has to check then if such supplier is available at this frame property.
+ If value of this property is <NULL/> he must call <member>XDispatch::dispatch()</member>
+ on the original dispatch object. If it's a valid value he must use the supplier
+ by calling his method <member>XDispatchRecorderSupplier::dispatchAndRecord()</member>
+ with the original dispatch object as argument.
+ </p>
+
+ <p>
+ Note:<br>
+ It's not recommended to cache an already getted supplier. Because there exist
+ no possibility to check for enabled/disabled recording then.
+ </p>
+
+ @since OOo 1.1.2
+ */
+ [optional, property] XDispatchRecorderSupplier RecorderSupplier;
+
+ //-------------------------------------------------------------------------
+ /** provides access to the <type>LayoutManager</type> of the frame.
+ */
+ [optional, property] com::sun::star::uno::XInterface LayoutManager;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FrameAction.idl b/offapi/com/sun/star/frame/FrameAction.idl
new file mode 100644
index 000000000000..e9c130923821
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameAction.idl
@@ -0,0 +1,154 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: FrameAction.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_FrameAction_idl__
+#define __com_sun_star_frame_FrameAction_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** these are the events which can happen to the components in frames
+ of the desktop
+
+ <p>
+ Interest listener can get informations about loaded/realoed or unloaded
+ components into a <type>Frame</type>.
+ </p>
+
+ @see XFrame
+ @see XFrameActionListener
+ @see FrameActionEvent
+ */
+published enum FrameAction
+{
+ //-------------------------------------------------------------------------
+ /** an event of this kind is broadcast whenever a component is
+ attached to a frame
+
+ <p>
+ This is almost the same as the instantiation of the component
+ within that frame. The component is attached to the frame
+ immediately before this event is broadcast.
+ </p>
+
+ @see XFrame::setComponent()
+ */
+ COMPONENT_ATTACHED,
+
+ //-------------------------------------------------------------------------
+ /** an event of this kind is broadcast whenever a component is
+ detaching from a frame
+
+ <p>
+ This is quite the same as the destruction of the component
+ which was in that frame. At the moment when the event is broadcast
+ the component is still attached to the frame but in the next
+ moment it won't.
+ </p>
+
+ @see XFrame::setComponent()
+ */
+ COMPONENT_DETACHING,
+
+ //-------------------------------------------------------------------------
+ /** an event of this kind is broadcast whenever a component is
+ attached to a new model.
+
+ <p>
+ In this case the component remains the same but operates
+ on a new model component.
+ </p>
+ */
+ COMPONENT_REATTACHED,
+
+ //-------------------------------------------------------------------------
+ /** an event of this kind is broadcast whenever a component gets
+ activated
+
+ <p>
+ Activations are broacast from the top component which was
+ not active before, down to the inner most component.
+ </p>
+
+ @see XFrame::activate()
+ */
+ FRAME_ACTIVATED,
+
+ //-------------------------------------------------------------------------
+ /** an event of this kind is broadcasted immediately before the
+ component is deactivated
+
+ <p>
+ Deactivations are broadcast from the innermost component which
+ does not stay active up to the outer most component which does not
+ stay active.
+ </p>
+
+ @see XFrame::deactivate()
+ */
+ FRAME_DEACTIVATING,
+
+ //-------------------------------------------------------------------------
+ /** an event of this kind is broadcast whenever a component changes
+ its internal context (i.e., the selection).
+
+ <p>
+ If the activation status within a frame changes, this counts as
+ a context change too.
+ </p>
+
+ @see XFrame::contextChanged()
+ */
+ CONTEXT_CHANGED,
+
+ //-------------------------------------------------------------------------
+ /** an event of this kind is broadcast by an active frame when it
+ is getting UI control (tool control).
+
+ @see XFrame::activate()
+ */
+ FRAME_UI_ACTIVATED,
+
+ //-------------------------------------------------------------------------
+ /** an event of this kind is broadcast by an active frame when it
+ is losing UI control (tool control).
+
+ @see XFrame::deactivate()
+ */
+ FRAME_UI_DEACTIVATING
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FrameActionEvent.idl b/offapi/com/sun/star/frame/FrameActionEvent.idl
new file mode 100644
index 000000000000..6043b5e2306f
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameActionEvent.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: FrameActionEvent.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_FrameActionEvent_idl__
+#define __com_sun_star_frame_FrameActionEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_frame_FrameAction_idl__
+#include <com/sun/star/frame/FrameAction.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** this event struct is broadcast for actions which can happen to
+ components within frames
+
+ @see XFrameActionListener
+ */
+published struct FrameActionEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** contains the frame in which the event occured
+ */
+ XFrame Frame;
+
+ //-------------------------------------------------------------------------
+ /** specifies the concrete event
+ */
+ FrameAction Action;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FrameControl.idl b/offapi/com/sun/star/frame/FrameControl.idl
new file mode 100644
index 000000000000..7ab327d01713
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameControl.idl
@@ -0,0 +1,83 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: FrameControl.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_FrameControl_idl__
+#define __com_sun_star_frame_FrameControl_idl__
+
+#ifndef __com_sun_star_awt_UnoControl_idl__
+#include <com/sun/star/awt/UnoControl.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** contains a frame with a desktop component
+
+ <p>
+ If the control is visible and has a valid (loadable) component URL,
+ then the <member>FrameControl::Frame</member> property is set.
+ Normaly this control can be used for preview functionality inside
+ any UI.
+ </p>
+ */
+published service FrameControl
+{
+ //-------------------------------------------------------------------------
+ /** the base service of all controls
+ */
+ service com::sun::star::awt::UnoControl;
+
+ //-------------------------------------------------------------------------
+ /** contains the type of the component which is loaded into the frame,
+ or the document which implicitly specifies the type
+ */
+ [property] string ComponentUrl;
+
+ //-------------------------------------------------------------------------
+ /** the frame held by this control
+
+ <p>
+ The <type>Frame</type> is created if the control
+ is shown and the <member>ComponentUrl</member> is set.
+ </p>
+ */
+ [property, readonly] string Frame;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FrameLoader.idl b/offapi/com/sun/star/frame/FrameLoader.idl
new file mode 100644
index 000000000000..00ca6855ba30
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameLoader.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: FrameLoader.idl,v $
+ * $Revision: 1.11 $
+ *
+ * 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_frame_FrameLoader_idl__
+#define __com_sun_star_frame_FrameLoader_idl__
+
+#ifndef __com_sun_star_frame_XFrameLoader_idl__
+#include <com/sun/star/frame/XFrameLoader.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 frame {
+
+//=============================================================================
+/** derivations of this abstract service are used to load components
+ into <type>Frame</type>s of the environment
+
+ <p>
+ Concrete implementations of this service register, for example,
+ for file name extensions or MIME types to load appropriate
+ components. The components loaded are at least <type>Controller</type>.
+ Instead of <type>SynchronousFrameLoader</type> this one use asynchronous
+ processes to load the component.
+ </p>
+
+ @see SynchronousFrameLoader
+ */
+published service FrameLoader
+{
+ //-------------------------------------------------------------------------
+ /** support asynchronous loading of the component
+ */
+ interface XFrameLoader;
+
+ //-------------------------------------------------------------------------
+ /** support initialization of loader with its own configuration!
+
+ <p>
+ Concrete implementations should use it to get her own configuration data
+ directly after creation by the <type>FrameLoaderFactory</type>.
+ Otherwhise they must use normal configuration api to do so.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** provides access to the internal name of this frame loader
+
+ <p>
+ The internal name is a part of his configuration and will be passed by
+ the <type>FrameLoaderFactory</type> after creation
+ if optional interface <type scope="com::sun::star::lang">XInitialization</type>
+ is supported. Value of function <member scope="com::sun::star::container">XNamed::getName()</member>
+ can be used on service <type>FrameLoaderFactory</type> to get further informations about this loader.
+ Setting of this name by calling <member scope="com::sun::star::container">XNamed::setName()</member>
+ must be forwarded to same factory service. He should decide, if it's allowed or not.
+ The reason: prevent code against name ambigities.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FrameLoaderFactory.idl b/offapi/com/sun/star/frame/FrameLoaderFactory.idl
new file mode 100644
index 000000000000..6d768e35c8c1
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameLoaderFactory.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: FrameLoaderFactory.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_FrameLoaderFactory_idl__
+#define __com_sun_star_frame_FrameLoaderFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_XContainerQuery_idl__
+#include <com/sun/star/container/XContainerQuery.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** factory to create frame loader
+
+ <p>
+ With this factory it's possible to
+ <ul>
+ <li>have access on configuration of set of registered frame laoder objects</li>
+ <li>create a frame laoder by his internal name</li>
+ <li>query for a frame laoder by using special query or property description.</li>
+ </ul>
+ </p>
+ */
+published service FrameLoaderFactory
+{
+ //-------------------------------------------------------------------------
+ /** interface to create loader objects by using his internal name
+
+ <p>
+ Returned objects must support the service specification of a <type>FrameLoader</type>
+ or <type>SynchronousFrameLoader</type>. (Note: last one will be prefered if both ones
+ are available)
+ They can be created by using of his internal name, which must be unambigous everytime, only.
+ To get this name use further specified interfaces of this factory for access on
+ the flat configuration.
+ </p>
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ //-------------------------------------------------------------------------
+ /** provides access to the whole frame loader configuration
+
+ <p>This interface supports an access to the internal configuration of all accessible loader objects.
+ The return value of <member scope="com::sun::star::container">XNameAccess::getByName()</member>
+ is a property sequence packed in an any. </p>
+ <table border=1>
+ <tr>
+ <td><b>Types<b></td>
+ <td>[string]</td>
+ <td>file types which loader is registered for</td>
+ </tr>
+ <tr>
+ <td><b>UIName<b></td>
+ <td>[string]</td>
+ <td>UI representable and localized name</td>
+ </tr>
+ </table>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+ //-------------------------------------------------------------------------
+ /** supports query mode for configuration access
+
+ <p>
+ This interface can be used to get sub sets of current configuration entries
+ which represent given search parameters.
+ </p>
+ */
+ interface com::sun::star::container::XContainerQuery;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FrameSearchFlag.idl b/offapi/com/sun/star/frame/FrameSearchFlag.idl
new file mode 100644
index 000000000000..14e79caf600c
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameSearchFlag.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: FrameSearchFlag.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_FrameSearchFlag_idl__
+#define __com_sun_star_frame_FrameSearchFlag_idl__
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** these types describe the algorithm to be used to search a frame
+
+ <p>
+ Such flags will be used on methods <member>XFrame::findFrame()</member>,
+ <member>XDispatchProvider::queryDispatch()</member> or
+ <member>XComponentLoader::loadComponentFromURL()</member> if no special target
+ frame name (e.g. "_blank", "_self") is used.
+ </p>
+
+ @see XFrame::findFrame()
+ @see XDispatchProvider::queryDispatch()
+ @see XComponentLoader::loadComponentFromURL()
+ */
+published constants FrameSearchFlag
+{
+ //-------------------------------------------------------------------------
+ /** no longer supported
+
+ <p>
+ Using of this flag will do nothing. Use right combination of other flags
+ instead of this one.
+ </p>
+
+ @deprecated
+ */
+ const long AUTO = 0;
+
+ //-------------------------------------------------------------------------
+ /** allows search on the parent frames
+ */
+ const long PARENT = 1;
+
+ //-------------------------------------------------------------------------
+ /** includes the start frame himself
+ */
+ const long SELF = 2;
+
+ //-------------------------------------------------------------------------
+ /** includes all child frames of the start frame
+
+ <p>
+ Note: That means all direct children and of course her childrens too.
+ Search doesn't stop at the next level inside the tree!
+ </p>
+ */
+ const long CHILDREN = 4;
+
+ //-------------------------------------------------------------------------
+ /** frame will be created if not found
+ */
+ const long CREATE = 8;
+
+ //-------------------------------------------------------------------------
+ /** includes the direct siblings of the start frame
+
+ <p>
+ Normaly it's interpreted as search on the direct childs of the parent
+ only. But in combination with e.g. the CHILDREN flag it can include all
+ children of it too.
+ </p>
+ */
+ const long SIBLINGS = 16;
+
+ //-------------------------------------------------------------------------
+ /** allow the search outside the current sub task tree of the whole possible frame tree
+
+ <p>
+ If this flag isn't present, any search from bottom to top has to stop, if a top frame
+ will be reached. It doesn't influence a search from top to bottom.
+ But it can be used at the root of the frame tree to search on direct childrens of it only.
+ Because the direct children of the root node are the root's of the task sub trees, which
+ are top frames too. Instead of using the CHILDREN flag there, it's possible so to supress
+ a deeper search so.
+ </p>
+ */
+ const long TASKS = 32;
+
+ //-------------------------------------------------------------------------
+ /** includes all frames except frames in other tasks sub trees
+ but doesn't create any new frame
+ */
+ const long ALL = 23;
+
+ //-------------------------------------------------------------------------
+ /** searches in the whole hierarchy of frames
+ but doesn't create any new frame
+ */
+ const long GLOBAL = 55;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/FramesContainer.idl b/offapi/com/sun/star/frame/FramesContainer.idl
new file mode 100644
index 000000000000..19d38bcce2aa
--- /dev/null
+++ b/offapi/com/sun/star/frame/FramesContainer.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: FramesContainer.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_FramesContainer_idl__
+#define __com_sun_star_frame_FramesContainer_idl__
+
+#ifndef __com_sun_star_frame_XFrames_idl__
+#include <com/sun/star/frame/XFrames.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** this is a special container which can contain frames
+
+ <p>
+ All elements in this container support the service frame.
+ Implementations of this service are available by interface
+ <type>XFramesSupplier</type>.
+ </p>
+
+ @see XFramesSupplier
+ */
+published service FramesContainer
+{
+ //-------------------------------------------------------------------------
+ /** access to frame collection by reference
+ */
+ interface XFrames;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl b/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl
new file mode 100644
index 000000000000..b6048e1cda4f
--- /dev/null
+++ b/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: GlobalEventBroadcaster.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_GlobalEventBroadcaster_idl__
+#define __com_sun_star_frame_GlobalEventBroadcaster_idl__
+
+#ifndef __com_sun_star_document_XEventBroadcaster_idl__
+#include <com/sun/star/document/XEventBroadcaster.idl>
+#endif
+
+#ifndef __com_sun_star_document_XEventsSupplier_idl__
+#include <com/sun/star/document/XEventsSupplier.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/**
+ This service offers the document event functionality that can be found at any
+ <type scope="com::sun::star::document">OfficeDocument</type>, but it does it for all existing documents.
+ So it is a single place where a listener can be registered for all events in all
+ documents.
+ */
+
+service GlobalEventBroadcaster
+{
+ /** makes it possible to register listeners which are called whenever
+ a document event occurs in any document
+ */
+ interface ::com::sun::star::document::XEventsSupplier;
+
+ /** access to bound event handlers
+ */
+ interface ::com::sun::star::document::XEventBroadcaster;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/IllegalArgumentIOException.idl b/offapi/com/sun/star/frame/IllegalArgumentIOException.idl
new file mode 100644
index 000000000000..559dc7fcacdd
--- /dev/null
+++ b/offapi/com/sun/star/frame/IllegalArgumentIOException.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: IllegalArgumentIOException.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_TerminationVetoException_idl__
+#define __com_sun_star_frame_TerminationVetoException_idl__
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+
+// DocMerge from xml: exception com::sun::star::frame::IllegalArgumentIOException
+/** This exception can be thrown in case arguments are wrong.
+
+ @since OOo 1.1.2
+ */
+published exception IllegalArgumentIOException: com::sun::star::io::IOException
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/LayoutManager.idl b/offapi/com/sun/star/frame/LayoutManager.idl
new file mode 100644
index 000000000000..5734e8764fee
--- /dev/null
+++ b/offapi/com/sun/star/frame/LayoutManager.idl
@@ -0,0 +1,135 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: LayoutManager.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_LayoutManager_idl__
+#define __com_sun_star_frame_LayoutManager_idl__
+
+#ifndef __com_sun_star_frame_XLayoutManager_idl__
+#include <com/sun/star/frame/XLayoutManager.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrameActionListener_idl__
+#include <com/sun/star/frame/XFrameActionListener.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XInplaceLayout_idl__
+#include <com/sun/star/frame/XInplaceLayout.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XMenuBarMergingAcceptor_idl__
+#include <com/sun/star/frame/XMenuBarMergingAcceptor.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__
+#include <com/sun/star/frame/XLayoutManagerEventBroadcaster.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** controls the layout of user interface elements which are part of a frame.
+
+ <p>
+ Layout management is the process of determining the size and position of
+ user interface elements. By default, each <type>Frame</type> has a layout
+ manager -- it performs layout management for the user interface elements
+ within the frame. User interface elements can provide size and alignment
+ hints to layout managers, but layout managers have the final decision on
+ the size and position of those user interface elements.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service LayoutManager
+{
+ /** central interface to query for, create, destroy and manipulate user
+ interface elements which are bound to a frame.
+
+ @see ::com::sun::star::frame::XLayoutManager;
+ */
+ interface ::com::sun::star::frame::XLayoutManager;
+
+ /** notification interface to receive status information about the state
+ of the connected frame.
+
+ <p>
+ E.g., you can receive events of instantiation/destruction and
+ activation/deactivation of a frame.
+ </p>
+
+ @see XFrame::addFrameActionListener()
+ @see XFrame::removeFrameActionListener()
+ */
+ interface ::com::sun::star::frame::XFrameActionListener;
+
+ /** notification interface to receive change messages of user interface
+ elements which are part of the layout manager.
+
+ <p>
+ E.g., you can receive events of insertion/replacing and
+ removing of settings data of user interface elements.
+ </p>
+
+ @see com::sun::star::ui::XUIConfiguration
+ */
+ interface ::com::sun::star::ui::XUIConfigurationListener;
+
+ /** provides functions to merge menus for inplace editing of components
+ inside OpenOffice.org.
+ */
+ interface ::com::sun::star::frame::XMenuBarMergingAcceptor;
+
+ /** registers listeners that want to receive layout manager
+ events.
+ */
+ [optional] interface ::com::sun::star::frame::XLayoutManagerEventBroadcaster;
+
+ /** interface to support settings a menu bar for inplace editing of
+ components inside OpenOffice.org.
+
+ @deprecated
+ */
+ [optional] interface ::com::sun::star::frame::XInplaceLayout;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/LayoutManagerEvents.idl b/offapi/com/sun/star/frame/LayoutManagerEvents.idl
new file mode 100644
index 000000000000..4d9d8f31525e
--- /dev/null
+++ b/offapi/com/sun/star/frame/LayoutManagerEvents.idl
@@ -0,0 +1,136 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: LayoutManagerEvents.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_LayoutManagerEvents_idl__
+#define __com_sun_star_frame_LayoutManagerEvents_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides information about layout manager events
+
+ <p>Events are provided <strong>only</strong> for notification
+ purposes only.</p>
+
+ @see com::sun::star::frame::LayoutManager
+ @see com::sun::star::frame::XLayoutManagerEventBroadcaster
+
+ @since OOo 2.0.0
+ */
+constants LayoutManagerEvents
+{
+ //-------------------------------------------------------------------------
+ /** specifies that the layout manager processed a lock call, which
+ prevents it from doing layouts.
+
+ <p>
+ This event sends the current lock count as additional
+ information.
+ </p>
+ */
+ const short LOCK = 0;
+
+ //-------------------------------------------------------------------------
+ /** specifies that the layout manager processed an unlock call, which
+ admit layouts when the lock count is zero.
+
+ <p>
+ This event sends the current lock count as additional
+ information.
+ </p>
+ */
+ const short UNLOCK = 1;
+
+ //-------------------------------------------------------------------------
+ /** specifies that the layout manager refreshed the layout of
+ the frame.
+
+ <p>
+ This event sends no additional information.
+ </p>
+ */
+ const short LAYOUT = 2;
+
+ //-------------------------------------------------------------------------
+ /** specifies that the layout manager container frame window
+ becomes visible.
+
+ <p>
+ This event sends no additional information.
+ </p>
+ */
+ const short VISIBLE = 3;
+
+ //-------------------------------------------------------------------------
+ /** specifies that the layout manager container frame window
+ becomes invisible.
+
+ <p>
+ This event sends no additional information.
+ </p>
+ */
+ const short INVISIBLE = 4;
+
+ //-------------------------------------------------------------------------
+ /** A merged menu bar has been set at the layout manager.
+
+ <p>
+ This event sends no additional information.
+ </p>
+ */
+ const short MERGEDMENUBAR = 5;
+
+ //-------------------------------------------------------------------------
+ /** specifies that a certain user interface element has been made
+ visible
+
+ <p>
+ This event sends the resource url of the newly visible user
+ interface element.
+ </p>
+ */
+ const short UIELEMENT_VISIBLE = 6;
+
+ //-------------------------------------------------------------------------
+ /** specifies that a certain user interface element has been made
+ invisible
+
+ <p>
+ This event sends the resource url of the invisible user
+ interface element.
+ </p>
+ */
+ const short UIELEMENT_INVISIBLE = 7;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl b/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl
new file mode 100644
index 000000000000..49d72fc88de5
--- /dev/null
+++ b/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: MediaTypeDetectionHelper.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_MediaTypeDetectionHelper_idl__
+#define __com_sun_star_frame_MediaTypeDetectionHelper_idl__
+
+#ifndef __com_sun_star_util_XStringMapping_idl__
+#include <com/sun/star/util/XStringMapping.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides for mapping a given sequence of content identifier strings
+ to a sequence of respective media (mime) types
+ */
+published service MediaTypeDetectionHelper
+{
+ //-------------------------------------------------------------------------
+ /** provides a mapping from <atom>string<atom> to <atom>string<atom>
+
+ <p>
+ Order of given and their returned coressponding strings is important.
+ Don't pack or optimize it. Every item of [in] list must match
+ to an item of [out] list.
+ </p>
+ */
+ interface com::sun::star::util::XStringMapping;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/frame/ModuleManager.idl b/offapi/com/sun/star/frame/ModuleManager.idl
new file mode 100644
index 000000000000..6b0138b88445
--- /dev/null
+++ b/offapi/com/sun/star/frame/ModuleManager.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ModuleManager.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_ModuleManager_idl__
+#define __com_sun_star_frame_ModuleManager_idl__
+
+#ifndef __com_sun_star_frame_XModuleManager_idl__
+#include <com/sun/star/frame/XModuleManager.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//===============================================
+
+module com { module sun { module star { module frame {
+
+//===============================================
+/** can be used to identify office modules.
+
+ <p>
+ Further it provides read access to the configuration
+ of office modules.
+ </p>
+
+ @since OOo 2.0.0
+ */
+
+service ModuleManager
+{
+ //-------------------------------------------
+ /** provides functions to identify office modules.
+ */
+ interface XModuleManager;
+
+ //-------------------------------------------
+ /** provides read access to the configuration of office modules.
+
+ <p>
+ Every module is referenced by an unique service name
+ (which is used inside configuration as set node name too)
+ and is further represented by a sequence of elements of type
+ <type scope="com::sun::star::beans">PropertyValue</type>.
+ A list of properties can be getted from the configuration template
+ org.openoffice.Setup/Factory.
+ </p>
+ */
+ interface ::com::sun::star::container::XNameAccess;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/PopupMenuController.idl b/offapi/com/sun/star/frame/PopupMenuController.idl
new file mode 100644
index 000000000000..2cbfdf927172
--- /dev/null
+++ b/offapi/com/sun/star/frame/PopupMenuController.idl
@@ -0,0 +1,156 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: PopupMenuController.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_PopupMenuController_idl__
+#define __com_sun_star_frame_PopupMenuController_idl__
+
+#ifndef __com_sun_star_frame_XPopupMenuController_idl__
+#include <com/sun/star/frame/XPopupMenuController.idl>
+#endif
+
+#ifndef _com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XStatusListener_idl__
+#include <com/sun/star/frame/XStatusListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** provides access to a popup menu controller.
+
+ <p>
+ A popup menu controller is used to make special functions available to
+ users, which depend on runtime or context specific conditions.<br/>
+ A typical example for a popup menu controller can be a recent file list
+ implementation which provides a list of latest files that a user has
+ worked on. This list gets changes consistently during a work session.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service PopupMenuController
+{
+ //-------------------------------------------------------------------------
+ /** supports functions to initialize and update a popup menu controller
+ implementation.
+
+ <p>
+ A popup menu controller implementation gets initialized with a
+ <type scope="com::sun::star::awt">XPopupMenu</type> object. This assures
+ that a popup menu controller can be implemented with any UNO based
+ language.
+ </p>
+ */
+ interface com::sun::star::frame::XPopupMenuController;
+
+ //-------------------------------------------------------------------------
+ /** provides functions to initialize a popup menu controller with
+ specific data which are needed.
+
+ <p>
+ This interface should not directly used. A factory service is responsible to
+ initialize every controller correctly.<br/>
+
+ A popup menu controller needs at least two additional arguments
+ provided as <type scope="com::sun::star::beans">PropertyValue</type>:
+ <ul>
+ <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type>
+ instance to which the popup menu controller belongs to.</li>
+ <li><b>CommandURL</b><br>specifies which popup menu controller should be created.</li>
+ </ul>
+ </p>
+
+ @see PopupMenuControllerFactory
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** used to brief the popup menu controller with new status information.
+
+ <p>
+ A popup menu controller makes special functions available to users which
+ normally depend on the state of other data. This interface is used to
+ send this data to a controller implementation.
+ </p>
+ */
+ interface com::sun::star::frame::XStatusListener;
+
+ //-------------------------------------------------------------------------
+ /** used to query for commands supported by the popup menu controller to
+ execute them directly.
+
+ <p>
+ A popup menu controller provides special functions which should be
+ available by the normal dispatch API. This optional interface enables
+ popup menu controller to be normal dispatch providers.<br/>
+ <b>Attention:</b><br/>
+ Popup menu controller functions must be specified using the following
+ the dispatch URL scheme: "vnd.sun.star.popup:" opaque_part [ "?" query ].
+ </p>
+
+ @since OOo 2.2
+ */
+ [optional] interface com::sun::star::frame::XDispatchProvider;
+
+ //-------------------------------------------------------------------------
+ /** used to dispose popup menu controller by the owner instance.
+
+ <p>
+ A popup menu controller resides in a menu which has a limited
+ life-time. For correct life-time handling a popup menu
+ controller should support this interface.
+ </p>
+
+ @since OOo 2.2
+ */
+ [optional] interface com::sun::star::lang::XComponent;
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl
new file mode 100644
index 000000000000..067df2684863
--- /dev/null
+++ b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: PopupMenuControllerFactory.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_PopupMenuControllerFactory_idl__
+#define __com_sun_star_frame_PopupMenuControllerFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XUIControllerRegistration_idl__
+#include <com/sun/star/frame/XUIControllerRegistration.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** specifies a factory that creates instances of registered popup menu controller.
+
+ <p>
+ A popup menu controller can be registered for a command URL and a model service name.
+ A menu bar or context menu will automatically create a popup menu controller if
+ it contains a registered command URL.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service PopupMenuControllerFactory
+{
+ /** this interface provides functions to create new instances of a registered popup menu controller.
+
+ <p>
+ Use <member scope="com.sun.star.lang">XMultiComponentFactory::createInstanceWithArguments()</member> to create
+ a new popup menu controller instance. Use the CommandURL as the service specifier.
+
+ This call supports the following arguments provided as <type scope="com::sun::star::beans">PropertyValue</type>:
+ <ul>
+ <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type>
+ instance to which the popup menu controller belongs to. This property must be provided to
+ the popup menu controller, otherwise it cannot dispatch its internal commands.</li>
+ <li><b>ModuleIdentifier</b><br>optional string that specifies in which module context the popup menu
+ controller should be created.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XMultiComponentFactory;
+
+ /** provides functions to query for, register and deregister a popup menu controller.
+ */
+ interface com::sun::star::frame::XUIControllerRegistration;
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/frame/ProtocolHandler.idl b/offapi/com/sun/star/frame/ProtocolHandler.idl
new file mode 100644
index 000000000000..aeca321392c7
--- /dev/null
+++ b/offapi/com/sun/star/frame/ProtocolHandler.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ProtocolHandler.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_ProtocolHandler_idl__
+#define __com_sun_star_frame_ProtocolHandler_idl__
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** special dispatch provider registered for URL protocols
+
+ <p>
+ The generic dispatch mechanism on a <type>Frame</type>
+ search for such registered protocol handler and use it if it agrees with
+ the dispatched URL.
+ </p>
+
+ <p>
+ Supported URLs must match follow format: <protocol scheme>:<protocol specific part>
+ If a handler provides optional arguments ("?") or jump marks ("#") depends from his
+ defintion and implementation. The generic dispatch provider will use registered
+ URL pattern to detect right handler.
+ </p>
+ */
+published service ProtocolHandler
+{
+ //-------------------------------------------------------------------------
+ /** used from the generic dispatch mechanism of the frame, to ask ProtocolHandler
+ for his agreement for the dispatched URL
+
+ <p>
+ Such asked handler can agree by returning itself or a special sub dispatch object, which
+ can handle the given URL. Of course he can disagree with it by returning an empty reference.
+ </p>
+ */
+ interface XDispatchProvider;
+
+ //-------------------------------------------------------------------------
+ /** initialize the new handler instance with some context informations
+
+ <p>
+ Sometimes it can be usefull for a handler object, to know something about the
+ environment, in which it runs - especily the frame. For this case the generic
+ code (which uses the handler) will ask for this optional interface and use it, if it exist.
+ Following parameters are passed to the service:
+ <ul>
+ <li>sequence< any >[0] => the frame for which this ProtocolHandler was created [com.sun.star.frame.XFrame]</li>
+ </ul>
+ </p>
+
+ <p>
+ Please note: if this mechanism is used it seams not usefull (nor possible) to implement a ProtocolHandler
+ as a singleton. Otherwhise the implementation can't distinguish between different environments
+ and her corresponding dispatch requests.
+ </p>
+ */
+ [optional] interface ::com::sun::star::lang::XInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/SessionManager.idl b/offapi/com/sun/star/frame/SessionManager.idl
new file mode 100644
index 000000000000..7abd162e508b
--- /dev/null
+++ b/offapi/com/sun/star/frame/SessionManager.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: SessionManager.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_SessionManager_idl__
+#define __com_sun_star_frame_SessionManager_idl__
+
+#ifndef __com_sun_star_frame_XSessionManagerClient_idl__
+#include <com/sun/star/frame/XSessionManagerClient.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** The SessionManager service provides an interface to the session manager
+ of the desktop. A session manager keeps track of applications that are
+ running when the desktop shuts down and starts them again in the same
+ state they were left when the desktop starts up the next time. To be able
+ to do this the session manager needs cooperation from applications;
+ applications have to provide sufficient information to be started again as
+ well as restore the state they were left in. The normal flow of operation
+ looks like this:
+
+ <ol>
+ <li>The user starts the desktop shutdown.</li>
+ <li>The session manager informs all its connected applications
+ about the pending shutdown.</li>
+ <li>Each application saves its current state; while doing this it may
+ <ul>
+ <li>The application may request to interact with the user (e.g. to ask
+ where to save documents). This request is necessary because at any one
+ time only one application can iteract with the user. The session manager
+ coordinates these requests and grants every application in need of user
+ interaction a timeslot in which it may interact with the user</li>
+ <li>try to cancel the whole shutdown; the session manager may or may
+ not honor that request.</li>
+ </ul>
+ </li>
+ <li>After saving is done the session manager signals all applications
+ to exit.</li>
+ <li>Applications answer the exit message by disconnecting from the
+ session manager.</li>
+ <li>After all applications have exited or a reasonable timeout the
+ session manager kills all remaining applications and finally lets the
+ desktop shut down.</li>
+*/
+service SessionManager
+{
+ /** XSessionManagerClient (of which there can only be one instance per
+ process) provides an application's interface to the session manager.
+ It keeps track of every listener inside the application and multiplexes
+ the session manager's signals as well as requests to the session manager.
+ */
+ interface XSessionManagerClient;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/Settings.idl b/offapi/com/sun/star/frame/Settings.idl
new file mode 100644
index 000000000000..e54c7ba4476f
--- /dev/null
+++ b/offapi/com/sun/star/frame/Settings.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: Settings.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_Settings_idl__
+#define __com_sun_star_frame_Settings_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** @deprecated
+ */
+published service Settings
+{
+ interface com::sun::star::container::XNameAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/StatusbarController.idl b/offapi/com/sun/star/frame/StatusbarController.idl
new file mode 100644
index 000000000000..7fc4572cfce5
--- /dev/null
+++ b/offapi/com/sun/star/frame/StatusbarController.idl
@@ -0,0 +1,145 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: StatusbarController.idl,v $
+ * $Revision: 1.6 $
+ *
+ * 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_frame_StatusbarController_idl__
+#define __com_sun_star_frame_StatusbarController_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_util_XUpdatable_idl__
+#include <com/sun/star/util/XUpdatable.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XStatusListener_idl__
+#include <com/sun/star/frame/XStatusListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XStatusbarController_idl__
+#include <com/sun/star/frame/XStatusbarController.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** is an abstract service for a component which offers a more complex user
+ interface to users within a status bar.
+
+ <p>
+ A generic status bar function is represented as a text field which
+ provides status information to the user. A status bar controller can be
+ added to a status bar and provides information or functions with a more
+ sophisticated user interface.<br/>
+ A typical example for a status bar controller is the zoom level chooser
+ within the statusbar. It provides an option to change the zoom level of
+ an application.
+ <p>
+
+ @see com::sun::star::frame::XDispatchProvider
+ @see com::sun::star::frame::XStatusbarController
+
+ @since OOo 2.0.0
+ */
+
+service StatusbarController
+{
+ //-------------------------------------------------------------------------
+ /** with this interface a component can receive events if a feature has
+ changed.
+
+ <p>
+ The status bar controller implementation should register itself as a
+ listener when its <member scope="com::sun::star::util">XUpdatable</member>
+ interface has been called.
+ </p>
+ */
+ interface com::sun::star::frame::XStatusListener;
+
+ /** used to initialize a component with required arguments.
+
+ <b>A status bar controller needs at least three additional arguments
+ provided as <type scope="com::sun::star::beans">PropertyValue</type>:
+ <ul>
+ <li><b>Frame</b><br>a
+ <type scope="com::sun::star::frame">XFrame</type> instance
+ to which the status bar controller belongs.</li>
+ <li><b>CommandURL</b><br>a string which specifies the command
+ associated with the statusbar controller. The command is
+ used to identify the status bar controller
+ implementation.</li>
+ <li><b>ServiceManager</b><br>a <type scope="com::sun::star::lang">
+ XMultiServiceFactory</type> instance which can be used to
+ create additional UNO services.</li>
+ <li><b>Parent</b><br>a <type scope="com::sun::star::awt">Window</type>
+ instance which represents the parent window (status bar
+ window).</li>
+ <li><b>Identifier</b><br>an integer value which is the unique id
+ used by the status bar implementation to identify a status
+ bar entry. This value is currently only used by internal
+ OpenOffice.org status bar controller implementations.</li>
+ </ul>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** used to notify an implementation that it needs to add its listener or
+ remove and add them again.
+
+ <p>
+ A status bar controller instance is ready for use after this call has
+ been made the first time. The status bar implementation guarentees that
+ the controller's item window has been added to the status bar and its
+ reference is held by it.
+ </p>
+ */
+ interface com::sun::star::util::XUpdatable;
+
+ //-------------------------------------------------------------------------
+ /** used to notify changed features and requests for additional user
+ interface items.
+
+ <p>
+ Mostly used by a status bar implementation to forward information to
+ and request services from a status bar controller component. This
+ interface must be useable after
+ <member scope="com::sun::star::lang">XInitialitation::initialize</member>
+ has been called. The behavior of the interface is undefined if the
+ controller component hasn't been initialized.
+ </p>
+ */
+ interface com::sun::star::frame::XStatusbarController;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/StatusbarControllerFactory.idl b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl
new file mode 100644
index 000000000000..3ebee0595574
--- /dev/null
+++ b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: StatusbarControllerFactory.idl,v $
+ * $Revision: 1.6 $
+ *
+ * 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_frame_StatusbarControllerFactory_idl__
+#define __com_sun_star_frame_StatusbarControllerFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XUIControllerRegistration_idl__
+#include <com/sun/star/frame/XUIControllerRegistration.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** specifies a factory that creates instances of registered status bar
+ controller.
+
+ <p>
+ A status bar controller can be registered for a command URL and a model
+ service name. A status bar will automatically create a status bar controller
+ if it contains a registered command URL.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service StatusbarControllerFactory
+{
+ /** this interface provides functions to create new instances of a registered
+ status bar controller.
+
+ <p>
+ Use <member scope="com.sun.star.lang">XMultiComponentFactory::createInstanceWithArguments()</member>
+ to create a new status bar controller instance. Use the CommandURL as the
+ service specifier.
+
+ This call supports the following arguments provided as
+ <type scope="com::sun::star::beans">PropertyValue</type>:
+ <ul>
+ <li><b>Frame</b><br>specifies the <type scope="com::sun::star::frame">XFrame</type>
+ instance to which the status bar controller belongs to. This
+ property must be provided to the status bar controller, otherwise it
+ cannot dispatch its internal commands.</li>
+ <li><b>ModuleIdentifier</b><br>optional string that specifies in which module
+ context the status bar controller should be created.</li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XMultiComponentFactory;
+
+ /** provides functions to query for, register and deregister a status bar
+ controller.
+ */
+ interface com::sun::star::frame::XUIControllerRegistration;
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/frame/SynchronousFrameLoader.idl b/offapi/com/sun/star/frame/SynchronousFrameLoader.idl
new file mode 100644
index 000000000000..aea3af8694aa
--- /dev/null
+++ b/offapi/com/sun/star/frame/SynchronousFrameLoader.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: SynchronousFrameLoader.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_SynchronousFrameLoader_idl__
+#define __com_sun_star_frame_SynchronousFrameLoader_idl__
+
+#ifndef __com_sun_star_frame_XSynchronousFrameLoader_idl__
+#include <com/sun/star/frame/XSynchronousFrameLoader.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 frame {
+
+//=============================================================================
+/** derivations of this abstract service are used to load components
+ into <type>Frame</type>s of the environment
+
+ <p>
+ Concrete implementations of this service register, for example,
+ for file name extensions or MIME types to load appropriate
+ components. The components loaded are at least <type>Controller</type>.
+ Instead of service <type>FrameLoader</type> this one use synchronous
+ processes to load the component.
+ </p>
+
+ @see FrameLoader
+ */
+published service SynchronousFrameLoader
+{
+ //-------------------------------------------------------------------------
+ /** support synchronous loading of component
+ */
+ interface XSynchronousFrameLoader;
+
+ //-------------------------------------------------------------------------
+ /** support initialization of loader with its own configuration!
+
+ <p>
+ Concrete implementations should use it to get her own configuration data
+ directly after creation by the <type>FrameLoaderFactory</type>.
+ Otherwhise they must use normal configuration api to do so.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** provides access to the internal name of this frame loader
+
+ <p>
+ The internal name is a part of his configuration and will be passed by
+ the <type>FrameLoaderFactory</type> after creation
+ if optional interface <type scope="com::sun::star::lang">XInitialization</type>
+ is supported. Value of function <member scope="com::sun::star::container">XNamed::getName()</member> can be
+ used on service <type>FrameLoaderFactory</type> to get further informations about this loader.
+ Setting of this name by calling <member scope="com::sun::star::container">XNamed::setName()</member> must be
+ forwarded to same factory service. He should decide, if it's allowed or not.
+ The reason: prevent code against name ambigities.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/Task.idl b/offapi/com/sun/star/frame/Task.idl
new file mode 100644
index 000000000000..a75611c3e6dc
--- /dev/null
+++ b/offapi/com/sun/star/frame/Task.idl
@@ -0,0 +1,81 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: Task.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_Task_idl__
+#define __com_sun_star_frame_Task_idl__
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XTask_idl__
+#include <com/sun/star/frame/XTask.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** represents a top level frame in the frame hierarchy with the desktop as root
+
+ <p>
+ Please use the service Frame instead of this deprecated Task. If it's
+ method <member>XFrame.isTop()</member> returns <TRUE/>, it's the same
+ as a check for the Task service.
+ </p>
+
+ @see Frame
+
+ @deprecated
+
+ @since OOo 1.1.2
+ */
+published service Task
+{
+ //-------------------------------------------------------------------------
+ /**
+ @deprecated
+ */
+ interface XFrame;
+
+ //-------------------------------------------------------------------------
+ /**
+ @deprecated
+ use <type scope="com::sun::star::util">XCloseable</type> instead.
+
+ */
+ interface XTask;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/TemplateAccess.idl b/offapi/com/sun/star/frame/TemplateAccess.idl
new file mode 100644
index 000000000000..32fd31895a8e
--- /dev/null
+++ b/offapi/com/sun/star/frame/TemplateAccess.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: TemplateAccess.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_TemplateAccess_idl__
+#define __com_sun_star_frame_TemplateAccess_idl__
+
+#ifndef __com_sun_star_lang_XLocalizable_idl__
+#include <com/sun/star/lang/XLocalizable.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDocumentTemplates_idl__
+#include <com/sun/star/frame/XDocumentTemplates.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides a high level api to organize document templates
+ */
+published service TemplateAccess
+{
+ //-------------------------------------------------------------------------
+ /** used to organize document templates
+ */
+ interface XDocumentTemplates;
+
+ //-------------------------------------------------------------------------
+ /** provides selection of sets of localized templates
+ */
+ interface com::sun::star::lang::XLocalizable;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/TerminationVetoException.idl b/offapi/com/sun/star/frame/TerminationVetoException.idl
new file mode 100644
index 000000000000..bbd0661ac6be
--- /dev/null
+++ b/offapi/com/sun/star/frame/TerminationVetoException.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: TerminationVetoException.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_TerminationVetoException_idl__
+#define __com_sun_star_frame_TerminationVetoException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** can be thrown by a <type>XTerminateListener</type> to prevent the environment
+ (e.g., desktop) from terminating
+
+ <p>
+ If a <type>XTerminateListener</type> use this exception for a veto against
+ the termination of the office, he will be the new "owner" of it.
+ After his own operation will be finished, he MUST try to terminate the
+ office again. Any other veto listener can intercept that again or office
+ will die realy.
+ </p>
+
+ @see XDesktop::terminate()
+ @see XTerminateListener
+ */
+published exception TerminationVetoException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/TitleChangedEvent.idl b/offapi/com/sun/star/frame/TitleChangedEvent.idl
new file mode 100644
index 000000000000..6ac9cfbd7628
--- /dev/null
+++ b/offapi/com/sun/star/frame/TitleChangedEvent.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: TitleChangedEvent.idl,v $
+ *
+ * $Revision: 1.3 $
+ *
+ * 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_frame_TitleChangedEvent_idl__
+#define __com_sun_star_frame_TitleChangedEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** todo document me
+ */
+struct TitleChangedEvent : com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ string Title;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/ToolbarController.idl b/offapi/com/sun/star/frame/ToolbarController.idl
new file mode 100644
index 000000000000..6e05613ade1d
--- /dev/null
+++ b/offapi/com/sun/star/frame/ToolbarController.idl
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ToolbarController.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_ToolbarController_idl__
+#define __com_sun_star_frame_ToolbarController_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_util_XUpdatable_idl__
+#include <com/sun/star/util/XUpdatable.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XStatusListener_idl__
+#include <com/sun/star/frame/XStatusListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XToolbarController_idl__
+#include <com/sun/star/frame/XToolbarController.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XSubToolbarController_idl__
+#include <com/sun/star/frame/XSubToolbarController.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** is an abstract service for a component which offers a more complex user
+ interface to users within a toolbar.
+
+ <p>
+ A generic toolbar function is represented as a button which has a state
+ (enabled,disabled and selected, not selected). A toolbar controller can
+ be added to a toolbar and provide information or functions within a more
+ sophisticated user interface.<br/> A typical example for toolbar controller
+ is the font chooser within the toolbar. It provides all available fonts in
+ a dropdown box and shows the current chosen font.
+ <p>
+
+ @see com::sun::star::frame::XDispatchProvider
+
+ @since OOo 2.0.0
+ */
+
+service ToolbarController
+{
+ //-------------------------------------------------------------------------
+ /** with this interface a component can receive events if a feature has
+ changed.
+
+ <p>
+ The toolbar controller implementation should register itself as a
+ listener when its <member scope="com::sun::star::util">XUpdatable</member>
+ interface has been called.
+ </p>
+ */
+ interface com::sun::star::frame::XStatusListener;
+
+ /** used to initialize a component with required arguments.
+
+ A toolbar controller needs at least three additional arguments
+ provided as <type scope="com::sun::star::beans">PropertyValue</type>:
+ <ul>
+ <li><b>Frame</b><br>a <type scope="com::sun::star::frame">XFrame</type>
+ instance to which the toolbar controller belongs.</li>
+ <li><b>CommandURL</b><br>a string which specifies the command a
+ toolbar controller is bound.</li>
+ <li><b>ServiceManager</b><br>a
+ <type scope="com::sun::star::lang">XMultiServiceFactory</type>
+ instance which can be used to create additional UNO services.</li>
+ </ul>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** used to notify an implementation that it needs to add its listener or remove
+ and add them again.
+
+ <p>
+ A toolbar controller instance is ready for use after this call has been made
+ the first time. The toolbar implementation guarentees that the controller's
+ item window has been added to the toolbar and its reference is held by it.
+ </p>
+ */
+ interface com::sun::star::util::XUpdatable;
+
+ //-------------------------------------------------------------------------
+ /** used to notify changed features and requests for additional user interface
+ items.
+
+ <p>
+ Mostly used by a toolbar implementation to forward information to and request
+ services from a toolbar controller component. This interface must be useable
+ after <member scope="com::sun::star::lang">XInitialitation::initialize</member>
+ has been called. The behavior of the interface is undefined if the controller
+ component hasn't been initialized.
+ </p>
+ */
+ interface com::sun::star::frame::XToolbarController;
+
+ //-------------------------------------------------------------------------
+ /** used to notify and retrieve information that are specific for sub-toolbar
+ controllers.
+
+ <p>
+ Used by implementations that want to provide the toolbar button/sub-
+ toolbar function feature. A controller supporting this interface exchanges
+ the function of its own toolbar button, that opened the sub-toolbar, with
+ the one that has been selected on the sub-toolbar.
+ </p>
+ */
+ [optional] interface ::com::sun::star::frame::XSubToolbarController;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl
new file mode 100644
index 000000000000..b16007175c58
--- /dev/null
+++ b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: TransientDocumentsDocumentContentFactory.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_TransientDocumentsDocumentContentFactory_idl__
+#define __com_sun_star_frame_TransientDocumentsDocumentContentFactory_idl__
+
+#ifndef __com_sun_star_frame_XTransientDocumentsDocumentContentFactory_idl__
+#include <com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** specifies a factory for
+ <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>s.
+
+ @since OOo 2.0.0
+*/
+service TransientDocumentsDocumentContentFactory
+{
+ //-------------------------------------------------------------------------
+ /** a factory for <type>TransientDocumentsDocumentContent</type>s.
+ */
+ interface com::sun::star::frame::XTransientDocumentsDocumentContentFactory;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/UnknownModuleException.idl b/offapi/com/sun/star/frame/UnknownModuleException.idl
new file mode 100644
index 000000000000..f70c574b8e88
--- /dev/null
+++ b/offapi/com/sun/star/frame/UnknownModuleException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: UnknownModuleException.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_UnknownModuleException_idl__
+#define __com_sun_star_frame_UnknownModuleException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//===============================================
+
+module com { module sun { module star { module frame {
+
+//===============================================
+/** This exception can be thrown in case an office
+ * module could not be classified or does not have
+ * a valid configuration.
+
+ @since OOo 2.0.0
+ */
+exception UnknownModuleException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/WindowArrange.idl b/offapi/com/sun/star/frame/WindowArrange.idl
new file mode 100644
index 000000000000..913df19d3e75
--- /dev/null
+++ b/offapi/com/sun/star/frame/WindowArrange.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: WindowArrange.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_WindowArrange_idl__
+#define __com_sun_star_frame_WindowArrange_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** these constants are used to specify a style of window arrangement
+ */
+published constants WindowArrange
+{
+ //-------------------------------------------------------------------------
+ /** arranges the windows in tiles
+ */
+ const short TILE = 1;
+
+ //-------------------------------------------------------------------------
+ /** arranges the windows vertically
+ */
+ const short VERTICAL = 2;
+
+ //-------------------------------------------------------------------------
+ /** arranges the windows horizontally
+ */
+ const short HORIZONTAL = 3;
+
+ //-------------------------------------------------------------------------
+ /** cascades the windows
+ */
+ const short CASCADE = 4;
+
+ //-------------------------------------------------------------------------
+ /** maximizes all windows
+ */
+ const short MAXIMIZE = 5;
+
+ //-------------------------------------------------------------------------
+ /** minimizes all windows
+ */
+ const short MINIMIZE = 6;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XBorderResizeListener.idl b/offapi/com/sun/star/frame/XBorderResizeListener.idl
new file mode 100644
index 000000000000..0a52480e58c6
--- /dev/null
+++ b/offapi/com/sun/star/frame/XBorderResizeListener.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XBorderResizeListener.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_XBorderResizeListener_idl__
+#define __com_sun_star_frame_XBorderResizeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_BorderWidths_idl__
+#include <com/sun/star/frame/BorderWidths.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** allows to listen to border resize events of a controller.
+ */
+interface XBorderResizeListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** notifies the listener that the controller's border widths have been
+ changed.
+
+ @param aObject
+ reference to the object representing the controller
+
+ @param NewSize
+ the new widths of the controller's border
+ */
+ void borderWidthsChanged( [in] ::com::sun::star::uno::XInterface aObject, [in] BorderWidths aNewSize );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl b/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl
new file mode 100644
index 000000000000..8273d1283843
--- /dev/null
+++ b/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XBrowseHistoryRegistry.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_XBrowseHistoryRegistry_idl__
+#define __com_sun_star_frame_XBrowseHistoryRegistry_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 frame {
+
+//=============================================================================
+/** @deprecated
+ */
+published interface XBrowseHistoryRegistry: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void updateViewData( [in] any Value );
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void createNewEntry(
+ [in] string URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] string Title);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XComponentLoader.idl b/offapi/com/sun/star/frame/XComponentLoader.idl
new file mode 100644
index 000000000000..26425594d586
--- /dev/null
+++ b/offapi/com/sun/star/frame/XComponentLoader.idl
@@ -0,0 +1,195 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XComponentLoader.idl,v $
+ * $Revision: 1.18 $
+ *
+ * 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_frame_XComponentLoader_idl__
+#define __com_sun_star_frame_XComponentLoader_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
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_io_IOException_idl__
+#include <com/sun/star/io/IOException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** this is a simple interface to load components by an URL into a
+ frame environment
+
+ @see Desktop
+ @see Frame
+ @see XFrame
+ */
+published interface XComponentLoader: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** loads a component specified by an URL into the specified
+ new or existing frame.
+
+ @param URL
+ specifies the URL of the document to load
+
+ <p>
+ To create new documents, use "private:factory/scalc", "private:factory/swriter", etc.
+ Other special protocols (e.g. "slot:", ".uno") are not allowed and raise
+ an <type scope="com::sun::star::lang">IllegalArgumentException</type>.
+ </p>
+
+ @param TargetFrameName
+ specifies the name of the frame to view the document in
+
+ <p>
+ If a frame with the specified name already exists, it is used, otherwise it
+ is created. There exist some special targets which never can be used
+ as real frame names:
+ <table border=1>
+ <tr>
+ <td><strong>"_blank"</strong></td>
+ <td>always creates a new frame</td>
+ </tr>
+ <tr>
+ <td><strong>"_default"</strong></td>
+ <td>special UI functionality<br>(e.g. detecting of already loaded documents, using of empty frames of creating of new top frames as fallback)</td>
+ </tr>
+ <tr>
+ <td><strong>"_self", ""(!)</strong></td>
+ <td>means frame himself</td>
+ </tr>
+ <tr>
+ <td><strong>"_parent"</strong></td>
+ <td>address direct parent of frame</td>
+ </tr>
+ <tr>
+ <td><strong>"_top"</strong></td>
+ <td>indicates top frame of current path in tree</td>
+ </tr>
+ <tr>
+ <td><strong>"_beamer"</strong></td>
+ <td>means special sub frame</td>
+ </tr>
+ </table>
+
+ @param SearchFlags
+ use the values of <type>FrameSearchFlag</type> to specify
+ how to find the specified <var>TargetFrameName</var>
+
+ <p>
+ Note: These flags are optional ones and will be used for non special
+ target names only.
+ </p>
+
+ @param Arguments
+ these arguments specify component or filter specific behavior
+
+ <p>
+ For example, "ReadOnly" with a boolean value specifies whether
+ the document is opened read-only. "FilterName" specifies the
+ component type to create and the filter to use, for example:
+ "Text - CSV". For more information see
+ <type scope="com::sun::star::document">MediaDescriptor</type>.
+ </p>
+
+ @return
+ a <type scope="com::sun::star::lang">XComponent</type> for successfully loaded
+ documents or
+ <br>
+ <NULL/>if it failed
+
+ <p>
+ This interface is a generic one and can be used to start further requests on
+ loaded document or control the lifetime of it (means dispose() it after using).
+ The real document service behind this interface can be one of follow three ones:
+ <ul>
+ <li>
+ <type scope="com::sun::star::awt">XWindow</type> for simple components<br/>
+ Should be used for viewable components only. It is not allowed to dispose
+ it after use directly, because the frame containing the component is its owner.
+ Because the frame object is not accessible through the interface too,
+ only an interacting user can do this by closing the frames' window.
+ </li>
+ <li>
+ <type>XController</type> for richer components<br/>
+ Should be used for real editable components which doesn't need a model.
+ It is not allowed to dispose it after use directly, because the frame
+ containing the component is its owner. Here the object can be disposed
+ by disposing the frame, that the <member>XController::getFrame()</member>
+ method of the controller returns. But for visible components the controller
+ should be asked for permission by calling <member>XController::suspend()</member> before.
+ </li>
+ <li>
+ <type>XModel</type> for full featured components<br/>
+ A model that in general can be shared between several view/controller pairs,
+ does not have an explicit owner. Every view and also the component that
+ loaded the document may consider itself as an owner.
+ Simply calling <method scope="com::sun::star::lang">XComponent::dispose</method> on this model may
+ cause problems, if some members of the "owner community" are currently
+ busy working on the model. These problems are handled by explicit closing
+ negotiations through the interface <type scope="com::sun::star::util">XCloseable</type>.
+ Direct dispose of the model is allowed only, if this special interface doesn't exist.
+ </li>
+ </ul>
+ </p>
+
+ @throws com::sun::star::io::IOException
+ when <var>URL</var> couldn't be found or was corrupt
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ when given parameters doesn't perform the specification
+ */
+ com::sun::star::lang::XComponent loadComponentFromURL(
+ [in] string URL,
+ [in] string TargetFrameName,
+ [in] long SearchFlags,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments)
+ raises( com::sun::star::io::IOException,
+ com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XComponentRegistry.idl b/offapi/com/sun/star/frame/XComponentRegistry.idl
new file mode 100644
index 000000000000..ee1546cb28b9
--- /dev/null
+++ b/offapi/com/sun/star/frame/XComponentRegistry.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XComponentRegistry.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_XComponentRegistry_idl__
+#define __com_sun_star_frame_XComponentRegistry_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_uno_Uik_idl__
+#include <com/sun/star/uno/Uik.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** @deprecated
+ */
+published interface XComponentRegistry: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ com::sun::star::uno::XInterface createObject(
+ [in] string URL,
+ [in] com::sun::star::uno::Uik Uik );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XConfigManager.idl b/offapi/com/sun/star/frame/XConfigManager.idl
new file mode 100644
index 000000000000..cef86d0e30b9
--- /dev/null
+++ b/offapi/com/sun/star/frame/XConfigManager.idl
@@ -0,0 +1,121 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XConfigManager.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XConfigManager_idl__
+#define __com_sun_star_frame_XConfigManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyChangeListener_idl__
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+#endif
+
+//============================================================================
+
+ module com {
+ module sun {
+ module star {
+ module frame {
+
+//============================================================================
+/** @deprecated
+ */
+published interface XConfigManager: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** add a listener to notify changes on well known variables
+ inside the real implementation
+
+ <p>
+ Listener can update his text values by calling <member>XConfigManager::substituteVariables()</member>
+ again. If <var>KeyName</var> specifies a group of keys, the listener gets one notify for each subkey.
+ </p>
+
+ @param KeyName
+ specifies variable about listener will be informed on changes
+
+ @param Listener
+ listener which will be informed
+
+ @see XConfigManager::removePropertyChangeListener()
+
+ @deprecated
+ */
+ [oneway] void addPropertyChangeListener(
+ [in] string KeyName,
+ [in] com::sun::star::beans::XPropertyChangeListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** remove a registered listener
+
+ @param KeyName
+ specifies variable on which listener was registered
+
+ @param Listener
+ listener which will be deregistered
+
+ @see XConfigManager::addPropertyChangeListener()
+
+ @deprecated
+ */
+ [oneway] void removePropertyChangeListener(
+ [in] string KeyName,
+ [in] com::sun::star::beans::XPropertyChangeListener Listener);
+
+ //-------------------------------------------------------------------------
+ /** substitute variables (place holder) inside given parameter <var>Text</var>
+
+ <p>
+ The value of <var>Text</var> is NOT changed.
+ </p>
+
+ @param Text
+ original value including variables
+
+ @return
+ changed copy of <var>Text</var> without any variables
+ */
+ string substituteVariables( [in] string Text );
+
+ //-------------------------------------------------------------------------
+ /** was designed for additional functionality for interface <type scope="com::sun::star::registry">XSimpleRegistry</type>
+ and make no sense without that
+ @deprecated
+ */
+ [oneway] void flush();
+
+}; //XConfigManager
+}; //frame
+}; //star
+}; //sun
+}; //com
+
+#endif
diff --git a/offapi/com/sun/star/frame/XControlNotificationListener.idl b/offapi/com/sun/star/frame/XControlNotificationListener.idl
new file mode 100644
index 000000000000..3fa607a36b27
--- /dev/null
+++ b/offapi/com/sun/star/frame/XControlNotificationListener.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XControlNotificationListener.idl,v $
+ * $Revision: 1.3 $
+ *
+ * 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_frame_XControlNotificationListener_idl__
+#define __com_sun_star_frame_XControlNotificationListener_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_ControlEvent_idl__
+#include <com/sun/star/frame/ControlEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** Must be implemented by dispatch objects which want to get
+ notifications about control events.
+
+ @since OOo 2.0.3
+ */
+interface XControlNotificationListener : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** notifies that a control event has happend
+
+ @param Event
+ contains the event informantion
+ */
+ void controlEvent( [in] ControlEvent Event );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XController.idl b/offapi/com/sun/star/frame/XController.idl
new file mode 100644
index 000000000000..d984346ec4b7
--- /dev/null
+++ b/offapi/com/sun/star/frame/XController.idl
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XController.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_XController_idl__
+#define __com_sun_star_frame_XController_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+ published interface XFrame;
+ published interface XModel;
+
+//=============================================================================
+/** With this interface, components viewed in a <type>Frame</type> can serve
+ events (by supplying dispatches).
+
+ @see XFrame
+ @see com::sun::star::awt::XWindow
+ @see XModel
+ */
+published interface XController: com::sun::star::lang::XComponent
+{
+ //-------------------------------------------------------------------------
+ /** is called to attach the controller with its managing frame.
+
+ @param Frame
+ the new owner frame of this controller
+ */
+ void attachFrame( [in] XFrame Frame );
+
+ //-------------------------------------------------------------------------
+ /** is called to attach the controller to a new model.
+
+ @param Model
+ the new model for this controller
+
+ @return
+ <TRUE/>if attach was successfully
+ <br>
+ <FALSE/>otherwise
+ */
+ boolean attachModel( [in] XModel Model );
+
+ //-------------------------------------------------------------------------
+ /** is called to prepare the controller for closing the view
+
+ @param Suspend
+ <TRUE/>force the controller to suspend his work
+ <FALSE/>try to reactivate the controller
+
+ @return
+ <TRUE/>if request was accepted and of course successfully finished
+ <br>
+ <FALSE/>otherwise
+ */
+ boolean suspend( [in] boolean Suspend );
+
+ //-------------------------------------------------------------------------
+ /** provides access to current view status
+
+ @returns
+ set of data that can be used to restore the current view status
+ at later time by using <member>XController::restoreViewData()</member>
+ */
+ any getViewData();
+
+ //-------------------------------------------------------------------------
+ /** restores the view status using the data gotten from a previous call to
+ <member>XController::getViewData()</member>.
+
+ @param Data
+ set of data to restore it
+ */
+ void restoreViewData( [in] any Data );
+
+ //-------------------------------------------------------------------------
+ /** provides access to currently attached model
+
+ @returns
+ the currently attached model.
+ */
+ XModel getModel();
+
+ //-------------------------------------------------------------------------
+ /** provides access to owner frame of this controller
+
+ @returns
+ the frame containing this controller.
+ */
+ XFrame getFrame();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XController2.idl b/offapi/com/sun/star/frame/XController2.idl
new file mode 100644
index 000000000000..ec4ae530feb0
--- /dev/null
+++ b/offapi/com/sun/star/frame/XController2.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2008 by Sun Microsystems, Inc.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* $RCSfile: XController2.idl,v $
+*
+* $Revision: 1.2 $
+*
+* 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_frame_XController2_idl__
+#define __com_sun_star_frame_XController2_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** extends the <type>XController</type> interface
+
+ @since OOo 3.0
+*/
+interface XController2 : XController
+{
+ /** denotes the &quot;root window&quot; of the controller.
+
+ <p>If the controller is plugged into a frame, this window acts as the
+ frame's <code>ComponentWindow</code>.</p>
+
+ @see XFrame
+ */
+ [readonly, attribute] ::com::sun::star::awt::XWindow ComponentWindow;
+
+ /** specifies the view name of the controller.
+
+ <p>A view name is a logical name, which can be used to create views of the same
+ type. The name is meaningful only in conjunction with <member>XModel2::createViewController</member>
+ - if it's passed there, a view/controller pair of the same type will be created.</p>
+ */
+ [readonly, attribute] string ViewControllerName;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
+
diff --git a/offapi/com/sun/star/frame/XControllerBorder.idl b/offapi/com/sun/star/frame/XControllerBorder.idl
new file mode 100644
index 000000000000..c06296774b98
--- /dev/null
+++ b/offapi/com/sun/star/frame/XControllerBorder.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XControllerBorder.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_XControllerBorder_idl__
+#define __com_sun_star_frame_XControllerBorder_idl__
+
+#ifndef __com_sun_star_frame_BorderWidths_idl__
+#include <com/sun/star/frame/BorderWidths.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XBorderResizeListener_idl__
+#include <com/sun/star/frame/XBorderResizeListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+
+//============================================================================
+
+ module com { module sun { module star { module frame {
+
+//============================================================================
+/** allows to retrieve information about controller's border.
+ */
+interface XControllerBorder: com::sun::star::uno::XInterface
+{
+ //------------------------------------------------------------------------
+ /** allows to get current border sizes of the document.
+
+ @return
+ <type>BorderWidths</type> representing the sizes of border
+ */
+ BorderWidths getBorder();
+
+ //------------------------------------------------------------------------
+ /** adds the specified listener to receive events about controller's
+ border resizing.
+ */
+ void addBorderResizeListener( [in] XBorderResizeListener xListener );
+
+ //------------------------------------------------------------------------
+ /** removes the specified listener.
+ */
+ void removeBorderResizeListener( [in] XBorderResizeListener xListener );
+
+ //------------------------------------------------------------------------
+ /** allows to get suggestion for resizing of object area surrounded
+ by the border.
+
+ <p> If the view is going to be resized/moved this method can be
+ used to get suggested object area. Pixels are used as units.
+ </p>
+
+ @return
+ suggestion for the resizing
+ */
+ ::com::sun::star::awt::Rectangle queryBorderedArea(
+ [in] ::com::sun::star::awt::Rectangle aPreliminaryRectangle );
+};
+
+//============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/frame/XDesktop.idl b/offapi/com/sun/star/frame/XDesktop.idl
new file mode 100644
index 000000000000..858c170da7e3
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDesktop.idl
@@ -0,0 +1,168 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDesktop.idl,v $
+ * $Revision: 1.11 $
+ *
+ * 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_frame_XDesktop_idl__
+#define __com_sun_star_frame_XDesktop_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XTerminateListener_idl__
+#include <com/sun/star/frame/XTerminateListener.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** This is the main interface of a desktop service.
+
+ <p>
+ A desktop is an environment for components which can be viewed in
+ frames. Frames are like frames in HTML framesets. This does not imply
+ that a desktop can handle framesets; the frames may be top frames
+ only.
+ </p>
+
+ @see Desktop
+ */
+published interface XDesktop: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** tries to terminate the desktop.
+
+ <p>
+ First, every terminate listener is called by his <member>XTerminateListener::queryTermination()</member> method.
+ Throwing of a <type>TerminationVetoException</type> can break the termination process and the listener how has
+ done that will be the new "controller" of the desktop lifetime. He should try to terminate it by himself after
+ his own processes will be finished.
+ If nobody disagree with the termination request, every listener will be called by his
+ <member>XTerminateListener::notifyTermination()</member> method.
+ </p>
+
+ @return
+ <TRUE/>if all listener agree with this request
+ <br>
+ <FALSE/>otherwise
+
+ @see XTerminateListener
+ @see TerminationVetoException
+ */
+ boolean terminate();
+
+ //-------------------------------------------------------------------------
+ /** registers an event listener to the desktop, which is called
+ when the desktop is queried to terminate, and when it really
+ terminates.
+
+ @param Listener
+ listener for termination events
+
+ @see XDesktop::removeTerminateListener()
+ */
+ [oneway] void addTerminateListener( [in] XTerminateListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** unregisters an event listener for termination events.
+
+ @param Listener
+ listener which wish to be deregistered
+
+ @see XDesktop::addTerminateListener()
+ */
+ [oneway] void removeTerminateListener( [in] XTerminateListener Listener );
+
+ //-------------------------------------------------------------------------
+ /** provides read access to collection of all currently loaded components
+ inside the frame tree
+
+ <p>
+ The component is, by definition, the model of the control which
+ is loaded into a frame, or if no model exists, into the control
+ itself.
+ The service <type>Components</type> which is available from this
+ method is a collection of all components of the desktop which are open
+ within a frame of the desktop.
+ </p>
+
+ @returns
+ the collection of all components
+
+ @see Components
+ */
+ com::sun::star::container::XEnumerationAccess getComponents();
+
+ //-------------------------------------------------------------------------
+ /** provides read access to the component inside the tree which has the UI focus
+
+ <p>
+ Normally, the component is the model part of the
+ active component. If no model exists it is the active controller
+ (view) itself.
+ </p>
+
+ @returns
+ the component within the desktop environment which has the UI focus.
+
+ @see XDesktop::getCurrentFrame()
+ */
+ com::sun::star::lang::XComponent getCurrentComponent();
+
+ //-------------------------------------------------------------------------
+ /** provides read access to the frame wich contains the current component
+
+ @returns
+ the frame of the component which has the
+ UI focus within this desktop enviroment
+
+ @see XDesktop::getCurrentComponent()
+ */
+ XFrame getCurrentFrame();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDesktopTask.idl b/offapi/com/sun/star/frame/XDesktopTask.idl
new file mode 100644
index 000000000000..70664d30417e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDesktopTask.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDesktopTask.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_XDesktopTask_idl__
+#define __com_sun_star_frame_XDesktopTask_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use <type>XFrame</type> instead of this
+ @deprecated
+ */
+published interface XDesktopTask: com::sun::star::lang::XComponent
+{
+ //-------------------------------------------------------------------------
+ /** use <type scope="com::sun::star::lang">XInitialization</type> instead..
+ @deprecated
+ */
+ void initialize( [in] com::sun::star::awt::XWindow TaskWindow );
+
+ //-------------------------------------------------------------------------
+ /** use <type scope="com::sun::star::util">XCloseable</type>
+ or <member scope="com::sun::star::lang">XComponent::dispose()</member>
+ instead.
+
+ @deprecated
+ */
+ boolean close();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatch.idl b/offapi/com/sun/star/frame/XDispatch.idl
new file mode 100644
index 000000000000..886026793531
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatch.idl
@@ -0,0 +1,167 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDispatch.idl,v $
+ * $Revision: 1.13 $
+ *
+ * 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_frame_XDispatch_idl__
+#define __com_sun_star_frame_XDispatch_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XStatusListener_idl__
+#include <com/sun/star/frame/XStatusListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** serves state information of objects which can be connected to
+ controls (e.g. toolbox controls).
+
+ <p>
+ Each state change is to be broadcasted to all registered
+ status listeners. The first notification should be performed
+ synchronously from <member>XDispatch::addStatusListener()</member>;
+ if not, controls may flicker. State listener must be aware of this
+ synchronous notification.
+ </p>
+
+ <p>
+ The state consists of enabled/disabled and a short descriptive text
+ of the function (e.g. "undo insert character"). It is to be broadcasted
+ whenever this state changes or the control should re-get the value
+ for the URL it is connected to. Additionally, a context-switch-event
+ is to be broadcasted whenever the object may be out of scope,
+ to force the state listener to requery the <type>XDispatch</type>.
+ </p>
+
+ @see Frame
+ @see FeatureStateEvent
+ */
+published interface XDispatch: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** dispatches (executes) an URL asynchronously.
+
+ <p>
+ It is only allowed to dispatch URLs for which this <type>XDispatch</type>
+ was explicitely queried. Additional arguments ("'#..." or "?...") are allowed.
+ </p>
+
+ @param URL
+ fully parsed URL describing the feature which should be dispatched (=executed)
+
+ @param Arguments
+ optional arguments for this request.
+ They depend on the real implementation of the dipsatch object.
+
+ @example
+ <listing>
+ <i><font COLOR="#949494">// some code for a click-handler (Java)</font></i>
+ void <strong>myOnClick</strong>(<em>String</em> sURL,<em>String</em> sTargetFrame,<em>com.sun.star.beans.PropertyValue[]</em> lArguments)
+ {
+ &nbsp;&nbsp;com.sun.star.util.URL[] aURL = new com.sun.star.util.URL[1];
+ &nbsp;&nbsp;aURL[0] = new com.sun.star.util.URL();
+ &nbsp;&nbsp;aURL[0].Complete = sURL;
+
+ &nbsp;&nbsp;com.sun.star.util.XURLTransformer xParser = (com.sun.star.util.XURLTransformer)UnoRuntime.queryInterface(
+ &nbsp;&nbsp;&nbsp;&nbsp;com.sun.star.util.XURLTransformer.class,
+ &nbsp;&nbsp;&nbsp;&nbsp;mxServiceManager.createInstance("com.sun.star.util.URLTransformer"));
+
+ &nbsp;&nbsp;xParser.parseStrict(aURL);
+
+ &nbsp;&nbsp;com.sun.star.frame.XDispatch xDispatcher = mxFrame.queryDispatch(aURL[0], sTargetFrame, com.sun.star.frame.FrameSearchFlag.GLOBAL);
+
+ &nbsp;&nbsp;if(xDispatcher!=null)
+ &nbsp;&nbsp;&nbsp;&nbsp;xDispatcher.dispatch(aURL[0], lArguments);
+ }
+ </listing>
+ */
+ [oneway] void dispatch(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments);
+
+ //-------------------------------------------------------------------------
+ /** registers a listener of a control for a specific URL
+ at this object to receive status events.
+
+ <p>
+ It is only allowed to register URLs for which this <type>XDispatch</type>
+ was explicitely queried. Additional arguments ("#..." or "?...") will be ignored.
+ </p>
+ Note: Notifications can't be guaranteed! This will be a part of interface <type>XNotifyingDispatch</type>.
+
+ @param Control
+ listener that wishes to be informed
+
+ @param URL
+ the URL (without additional arguments) the listener wishes to be registered for.
+ A listener can be registered for more than one URL at the same time.
+
+ @see XStatusListener
+ @see XDispatch::removeStatusListener()
+ */
+ [oneway] void addStatusListener(
+ [in] XStatusListener Control,
+ [in] com::sun::star::util::URL URL);
+
+ //-------------------------------------------------------------------------
+ /** unregisters a listener from a control.
+
+ @param Control
+ listener that wishes to be unregistered
+
+ @param URL
+ URL the listener was registered for.
+ Additional arguments ("#..." or "?...") will be ignored.
+
+ @see XStatusListener
+ @see XDispatch::addStatusListener()
+ */
+ [oneway] void removeStatusListener(
+ [in] XStatusListener Control,
+ [in] com::sun::star::util::URL URL);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchHelper.idl b/offapi/com/sun/star/frame/XDispatchHelper.idl
new file mode 100644
index 000000000000..aa22d573f376
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchHelper.idl
@@ -0,0 +1,99 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDispatchHelper.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_XDispatchHelper_idl__
+#define __com_sun_star_frame_XDispatchHelper_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides an easy way to dispatch functions useful at UI level.
+
+ @see XDispatch
+
+ @since OOo 1.1.2
+ */
+published interface XDispatchHelper : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** executes the dispatch.
+
+ Listeners are not supported here!
+
+ @param DispatchProvider
+ points to the provider, which should be asked for valid dispatch objects
+
+ @param URL
+ describes the feature which should be supported by internally used dispatch object
+
+ @param TargetFrameName
+ specifies the frame which should be the target for this request
+
+ @param SearchFlags
+ optional search parameter for finding the frame if no special
+ <var>TargetFrameName</var> was used
+
+ @param Arguments
+ optional arguments for this request
+ They depend on the real implementation of the dispatch object.
+
+ @return
+ A possible result of the executed internal dispatch.
+ The information behind this <atom>any</atom> depends on the dispatch!
+
+ @see XDispatch::dispatch()
+ */
+
+ any executeDispatch(
+ [in] XDispatchProvider DispatchProvider,
+ [in] string URL,
+ [in] string TargetFrameName,
+ [in] long SearchFlags,
+ [in] sequence< com::sun::star::beans::PropertyValue > Arguments );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchInformationProvider.idl b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl
new file mode 100644
index 000000000000..f3bff683ad49
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDispatchInformationProvider.idl,v $
+ * $Revision: 1.6 $
+ *
+ * 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_frame_XDispatchInformationProvider_idl__
+#define __com_sun_star_frame_XDispatchInformationProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_DispatchInformation_idl__
+#include <com/sun/star/frame/DispatchInformation.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides information about supported commands
+
+ <p>
+ This interface can be used to retrieve additional information about
+ supported commands. This interface is normally used by configuration
+ implementations to retrieve all supported commands.
+ A dispatch information provider is normally supported by a
+ <type>Frame</type> service.
+ </p>
+
+ @see Frame
+
+ @since OOo 2.0.0
+ */
+published interface XDispatchInformationProvider: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns all supported command groups.
+
+ @returns
+ a sequence of supported command groups.
+
+ @see CommandGroup
+ */
+ sequence < short > getSupportedCommandGroups();
+
+ //-------------------------------------------------------------------------
+ /** returns additional information about supported commands of a
+ given command group.
+
+ @param CommandGroup
+ specifies a command group.
+
+ @returns
+ name and group name of every command supported. A group ID which is
+ not supported returns an empty <type scope="com::sun::star::uno">Sequence</type>.
+ */
+ sequence < DispatchInformation > getConfigurableDispatchInformation( [in] short CommandGroup );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchProvider.idl b/offapi/com/sun/star/frame/XDispatchProvider.idl
new file mode 100644
index 000000000000..c80797365a39
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProvider.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDispatchProvider.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_XDispatchProvider_idl__
+#define __com_sun_star_frame_XDispatchProvider_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatch_idl__
+#include <com/sun/star/frame/XDispatch.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_frame_DispatchDescriptor_idl__
+#include <com/sun/star/frame/DispatchDescriptor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides <type>XDispatch</type> interfaces for certain functions which
+ are useful at the UI.
+
+ @see XDispatch
+ */
+published interface XDispatchProvider: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** searches for an <type>XDispatch</type> for the specified URL within
+ the specified target frame.
+
+ @param URL
+ describe the feature which should be supported by returned dispatch object
+
+ @param TargetFrameName
+ specify the frame which should be the target for this request
+
+ @param SearchFlags
+ optional search parameter for finding the frame if no special
+ <var>TargetFrameName</var> was used
+
+ @return
+ the dispatch object which provides queried functionality
+ <br>
+ or <NULL/> if no dispatch object is available
+
+ @see XFrame::findFrame()
+ @see XDispatchProvider::queryDispatches()
+ */
+ XDispatch queryDispatch(
+ [in] com::sun::star::util::URL URL,
+ [in] string TargetFrameName,
+ [in] long SearchFlags );
+
+ //-------------------------------------------------------------------------
+ /** actually this method is redundant to <member>XDispatchProvider::queryDispatch()</member>
+ to avoid multiple remote calls.
+
+ @param Requests
+ list of dispatch requests
+
+ @returns
+ multiple dispatch interfaces for the specified descriptors at once
+
+ <p>
+ It's not allowed to pack it - because every request must match
+ to his real result. Means: don't delete <NULL/> entries inside this list.
+ </p>
+ */
+ sequence< XDispatch > queryDispatches(
+ [in] sequence<DispatchDescriptor> Requests);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchProviderInterception.idl b/offapi/com/sun/star/frame/XDispatchProviderInterception.idl
new file mode 100644
index 000000000000..25c49003d143
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProviderInterception.idl
@@ -0,0 +1,93 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDispatchProviderInterception.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XDispatchProviderInterception_idl__
+#define __com_sun_star_frame_XDispatchProviderInterception_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProviderInterceptor_idl__
+#include <com/sun/star/frame/XDispatchProviderInterceptor.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** makes it possible to register an <type>XDispatchProvider</type> which
+ intercepts all requests of <type>XDispatch</type> to this instance.
+
+ <p>
+ Note: Nobody can guarantee order of used interceptor objects if more then ones exist.
+ Later registered ones will be used at first. But it's possible to increase the chance
+ for that by providing the optional interface <type>XInterceptorInfo</type>.
+ </p>
+
+ @see XDispatchProvider
+ @see XDispatch
+ @see XInterceptorInfo
+ */
+published interface XDispatchProviderInterception: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** registers an <type>XDispatchProviderInterceptor</type>, which will become
+ the first interceptor in the chain of registered interceptors.
+
+ @param Interceptor
+ the interceptor which whish to be registered
+
+ @see XDispatchProviderInterception::releaseDispatchProviderInterceptor()
+ */
+ void registerDispatchProviderInterceptor( [in] XDispatchProviderInterceptor Interceptor );
+
+ //-------------------------------------------------------------------------
+ /** removes an <type>XDispatchProviderInterceptor</type> which was previously registered
+
+ <p>
+ The order of removals is arbitrary. It is not necessary to remove the last
+ registered interceptor first.
+ </p>
+
+ @param Interceptor
+ the interceptor which whish to be unregistered
+
+ @see XDispatchProviderInterception::registerDispatchProviderInterceptor()
+ */
+ void releaseDispatchProviderInterceptor( [in] XDispatchProviderInterceptor Interceptor );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl b/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl
new file mode 100644
index 000000000000..d6b89bbb970e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl
@@ -0,0 +1,103 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDispatchProviderInterceptor.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_XDispatchProviderInterceptor_idl__
+#define __com_sun_star_frame_XDispatchProviderInterceptor_idl__
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** makes it possible to intercept request of <type>XDispatch</type>.
+
+ <p>
+ Can be registered as an interceptor by using interface <type>XDispatchProviderInterception</type>.
+ </p>
+
+ @see XDispatchProviderInterception
+ */
+published interface XDispatchProviderInterceptor: XDispatchProvider
+{
+ //-------------------------------------------------------------------------
+ /** access to the slave <type>XDispatchProvider</type> of this interceptor
+
+ @returns
+ the slave of this interceptor
+
+ @see XDispatchProviderInterceptor::setSlaveDispatchProvider()
+ */
+ XDispatchProvider getSlaveDispatchProvider();
+
+ //-------------------------------------------------------------------------
+ /** sets the slave <type>XDispatchProvider</type> to which calls to
+ <member>XDispatchProvider::queryDispatch()</member> can be forwarded
+ under control of this dispatch provider.
+
+ @param xNewDispatchProvider
+ the new slave of this interceptor
+
+ @see XDispatchProviderInterceptor::getSlaveDispatchProvider()
+ */
+ void setSlaveDispatchProvider( [in] XDispatchProvider NewDispatchProvider );
+
+ //-------------------------------------------------------------------------
+ /** access to the master <type>XDispatchProvider</type> of this interceptor
+
+ @returns
+ the master of this interceptor
+
+ @see XDispatchProviderInterceptor::setMasterDispatchProvider()
+ */
+ XDispatchProvider getMasterDispatchProvider();
+
+ //-------------------------------------------------------------------------
+ /** sets the master <type>XDispatchProvider</type>, which may forward
+ calls to its <member>XDispatchProvider::queryDispatch()</member>
+ to this dispatch provider.
+
+ @param NewSupplier
+ the master of this interceptor
+
+ @see XDispatchProviderInterceptor::getMasterDispatchProvider()
+ */
+ void setMasterDispatchProvider( [in] XDispatchProvider NewSupplier );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchRecorder.idl b/offapi/com/sun/star/frame/XDispatchRecorder.idl
new file mode 100644
index 000000000000..3248c63c71db
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchRecorder.idl
@@ -0,0 +1,149 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDispatchRecorder.idl,v $
+ * $Revision: 1.11 $
+ *
+ * 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_frame_XDispatchRecorder_idl__
+#define __com_sun_star_frame_XDispatchRecorder_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+ published interface XFrame;
+
+//=============================================================================
+/** provides recording functionality of dispatches
+
+ <p>
+ With such recorder it will be possible to record requests of type
+ <type>XDispatch</type> by using additional interface
+ <type>XRecordableDispatch</type>. The result of that will be a
+ a script which can be used to start the dispatch at later time again.
+ Such recorder objects are available on a <type>XDispatchRecorderSupplier</type>
+ which is provided by the <type>Frame</type> service.
+ </p>
+
+ @see Frame
+ @see XDispatchRecorderSupplier
+
+ @since OOo 1.1.2
+ */
+published interface XDispatchRecorder: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** initializes the recorder by passing the frame for which all
+ macro statements shall be recorded
+
+ @param Frame
+ it includes the document on which such requests shall be recorded
+ */
+ void startRecording( [in] com::sun::star::frame::XFrame Frame );
+
+ //-------------------------------------------------------------------------
+ /** stops the recording process
+
+ <p>
+ Must be called in pairs with <member>XDispatchRecorder::startRecording()</member>.
+ </p>
+
+ @attention The recorder uses this method to control the lifetime of its internal
+ used macro buffer. It will be cleared here. So the macro must be fetched
+ before endRecording() is called.
+
+ @see getRecordedMacro()
+ */
+ void endRecording();
+
+ //-------------------------------------------------------------------------
+ /** records a single dispatch call identified by its command URL
+
+ @param URL
+ the full parsed command URL
+
+ @param Arguments
+ optional arguments for the command URL
+ <br>
+ (see <type scope="com::sun::star::document">MediaDescriptor</type>
+ for further informations)
+ */
+ void recordDispatch(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments);
+
+ //-------------------------------------------------------------------------
+ /** records a single dispatch call identified by its command URL, but
+ comments it out
+
+ <p>
+ This way calls that failed on execution can be documented.
+ </p>
+
+ @param URL
+ the full parsed command URL
+
+ @param Arguments
+ optional arguments for the command URL
+ <br>
+ (see <type scope="com::sun::star::document">MediaDescriptor</type>
+ for further informations)
+ */
+ void recordDispatchAsComment(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments);
+
+ //-------------------------------------------------------------------------
+ /** returns the recorded source code
+
+ <p>
+ This method must be used before <member>endRecording()</member> is called!
+ Otherwhise the macro will be relased.
+ </p>
+
+ @returns
+ the recorded data as a string which can be interpreted as a script
+ */
+ string getRecordedMacro();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl
new file mode 100644
index 000000000000..d8fc52fd8d52
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl
@@ -0,0 +1,133 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDispatchRecorderSupplier.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_XDispatchRecorderSupplier_idl__
+#define __com_sun_star_frame_XDispatchRecorderSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatch_idl__
+#include <com/sun/star/frame/XDispatch.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchRecorder_idl__
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides access to the record mechanism of dispatches
+
+ <p>
+ With a <type>XDispatchRecorder</type> it's possible to record calls
+ of <member>XDispatch::dispatch()</member>. The recorded data (may a script)
+ can be used to automate recorded dispatch and start it at later time again.
+ This supplier provides access to the recorder and supports some functionality
+ to work with the mcaro recording mechanism in an easy manner.
+ </p>
+
+ @see XDispatchRecorder
+ @since OOo 1.1.2
+ */
+published interface XDispatchRecorderSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** set a dispatch recorder on this supplier
+
+ <p>
+ Setting of a new recorder make it possible to change recording mode.
+ May there can exist different implementations of a recorder (e.g. to
+ generate Java, Basic or other formats). Changing between local recording
+ inside one <type>Frame</type> or global one by using more then ones can be
+ forced too.
+ </p>
+
+ @param Recorder
+ the new recorder for this supplier
+ */
+ void setDispatchRecorder( [in] com::sun::star::frame::XDispatchRecorder Recorder );
+
+ //-------------------------------------------------------------------------
+ /** provides access on the recorder of this supplier
+
+ <p>
+ Returned recorder can be used to record dispatches manualy or to get
+ recorded data for further using e.g. saving. He is internaly used too
+ due to the method <member>XDispatchRecorderSupplier::dispatchAndRecord()</member>.
+ </p>
+
+ @returns
+ the dispatch recorder of this supplier
+
+ @see XDispatchRecorder
+ */
+ com::sun::star::frame::XDispatchRecorder getDispatchRecorder();
+
+ //-------------------------------------------------------------------------
+ /** dispatch given URL and record it if recording is enabled
+
+ <p>
+ Parameter <var>Dispatcher</var> is used internaly to make the dispatch.
+ If recording isn't enabled it will be a normal <member>XDispatch::dispatch()</member>
+ call. Otherwise follow algorithm is used:
+ <ul>
+ <li>If <var>Dispatcher</var> doesn't support the interface
+ <type>XRecordableDispatch</type> a normal dispatch() call
+ will be made and depend from the result state of that
+ the request will be recorded. In this case it's possible
+ to record the incoming parameter (<var>URL</var> and
+ <var>Arguments</var>) only. Parameters of internal processes
+ can't be recorded then and will be lost.
+ </li>
+ <li>If <var>Dispatcher</var> support the interface
+ <type>XRecordableDispatch</type> it will be used
+ to dispatch and record all neccessary parameters of
+ the whole process.
+ </li>
+ </ul>
+ </p>
+
+ @see XRecordableDispatch
+ */
+ void dispatchAndRecord(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] XDispatch Dispatcher);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDispatchResultListener.idl b/offapi/com/sun/star/frame/XDispatchResultListener.idl
new file mode 100644
index 000000000000..8f4b696128d8
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchResultListener.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDispatchResultListener.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_XDispatchResultListener_idl__
+#define __com_sun_star_frame_XDispatchResultListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_DispatchResultEvent_idl__
+#include <com/sun/star/frame/DispatchResultEvent.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** listener for results of <member>XNotifyingDispatch::dispatchWithNotification()</member>
+
+ @see XNotifyingDispatch
+ */
+published interface XDispatchResultListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** indicates finished dispatch
+
+ @param Result
+ contains the result of the dispatch action
+
+ @see DispatchResultEvent
+ */
+ void dispatchFinished( [in] DispatchResultEvent Result );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XDocumentTemplates.idl b/offapi/com/sun/star/frame/XDocumentTemplates.idl
new file mode 100644
index 000000000000..a2641feb47f0
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDocumentTemplates.idl
@@ -0,0 +1,218 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XDocumentTemplates.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_XDocumentTemplates_idl__
+#define __com_sun_star_frame_XDocumentTemplates_idl__
+
+#ifndef __com_sun_star_frame_XStorable_idl__
+#include <com/sun/star/frame/XStorable.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** provides a high level api to organize document templates
+
+ <p>
+ Template informations are saved as links to the original content
+ and organized in groups. This data should be persistent and can be
+ updated by calling special method <member>XDocumentTemplates::update()</member>.
+ A real implementation of this interface can do that on top of
+ an ucb content provider. Method <member>XDocumentTemplates::getContent()</member>
+ force that.
+ </p>
+ */
+published interface XDocumentTemplates: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** privides access to the root of internal used hierarchy
+
+ <p>
+ This content can be used for accessing the groups directly.
+ </p>
+
+ @return
+ the ucb content for template configuration
+ */
+ com::sun::star::ucb::XContent getContent();
+
+ //-------------------------------------------------------------------------
+ /** creates the template with the given name in the given group using the
+ data from the storable
+
+ @param GroupName
+ specifies the group
+
+ @param TemplateName
+ specifies the template
+
+ @param Storable
+ specifies the target
+
+ @return
+ <TRUE/> if operation was sucessfully
+ <br>
+ <FALSE/> otherwise
+
+ @see XDocumentTemplates::addTemplate()
+ */
+ boolean storeTemplate(
+ [in] string GroupName,
+ [in] string TemplateName,
+ [in] XStorable Storable);
+
+ //-------------------------------------------------------------------------
+ /** creates the template with the given name in the given group using the
+ given URL
+
+ @param GroupName
+ specifies the group
+
+ @param TemplateName
+ specifies the template
+
+ @param SourceURL
+ specifies the position of template
+
+ @return
+ <TRUE/> if operation was sucessfully
+ <br>
+ <FALSE/> otherwise
+
+ @see XDocumentTemplates::storeTemplate()
+ */
+ boolean addTemplate(
+ [in] string GroupName,
+ [in] string TemplateName,
+ [in] string SourceURL);
+
+ //-------------------------------------------------------------------------
+ /** remove a template from specified group
+
+ @param GroupName
+ specifies the group which include the template
+
+ @param TemplateName
+ specifies the template for delete
+
+ @return
+ <TRUE/> if operation was sucessfully
+ <br>
+ <FALSE/> otherwise
+ */
+ boolean removeTemplate(
+ [in] string GroupName,
+ [in] string TemplateName);
+
+ //-------------------------------------------------------------------------
+ /** rename a template inside specified group
+
+ @param GroupName
+ specifies the group which include the template
+
+ @param TemplateName
+ specifies the template for renaming
+
+ @return
+ <TRUE/> if operation was sucessfully
+ <br>
+ <FALSE/> otherwise
+ */
+ boolean renameTemplate(
+ [in] string GroupName,
+ [in] string OldTemplateName,
+ [in] string NewTemplateName);
+
+ //-------------------------------------------------------------------------
+ /** creates a new group
+
+ @param GroupName
+ the name of the group to be created
+
+ @return
+ <TRUE/> if operation was sucessfully
+ <br>
+ <FALSE/> otherwise
+ */
+ boolean addGroup( [in] string GroupName );
+
+ //-------------------------------------------------------------------------
+ /** remove an existing group
+
+ @param GroupName
+ the name of the group to be removed
+
+ @return
+ <TRUE/> if operation was sucessfully
+ <br>
+ <FALSE/> otherwise
+ */
+ boolean removeGroup( [in] string GroupName );
+
+ //-------------------------------------------------------------------------
+ /** rename an existing group
+
+ @param OldGroupName
+ the old name of the group
+
+ @param NewGroupName
+ the new name of the group
+
+ @return
+ <TRUE/> if operation was sucessfully
+ <br>
+ <FALSE/> otherwise
+ */
+ boolean renameGroup(
+ [in] string OldGroupName,
+ [in] string NewGroupName);
+
+ //-------------------------------------------------------------------------
+ /** force an update for internal structures
+
+ <p>
+ Because the templates are well known by links and not as direct content
+ they can be outdated. An update force actualization of that to find
+ wrong links.
+ </p>
+ */
+ [oneway] void update();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XExtendedFilterDetection.idl b/offapi/com/sun/star/frame/XExtendedFilterDetection.idl
new file mode 100644
index 000000000000..a119ef75078f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XExtendedFilterDetection.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XExtendedFilterDetection.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XExtendedFilterDetection_idl__
+#define __com_sun_star_frame_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 frame {
+
+//============================================================================
+/** use <type scope="com::sun::star::document">XExtendedFilterDetection</type> instead of this
+ @deprecated
+ */
+published interface XExtendedFilterDetection: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** use <member scope="com::sun::star::document">XExtendedFilterDetection::detect()</member> instead of this
+ @deprecated
+ */
+ string detect(
+ [in] string URL,
+ [in] sequence< com::sun::star::beans::PropertyValue > Argumentlist);
+
+ }; // XExtendedFilterDetection
+ }; // frame
+ }; // star
+ }; // sun
+}; // com
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFilterDetect.idl b/offapi/com/sun/star/frame/XFilterDetect.idl
new file mode 100644
index 000000000000..b96521981bd5
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFilterDetect.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XFilterDetect.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XFilterDetect_idl__
+#define __com_sun_star_frame_XFilterDetect_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use <type scope="com::sun::star::document">XExtendedFilterDetection</type> instead of this
+ @deprecated
+ */
+published interface XFilterDetect: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** - */
+ string getContentType( [in] string URL );
+
+ //-------------------------------------------------------------------------
+ /** - */
+ boolean useExternBrowser( [in] string URL );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrame.idl b/offapi/com/sun/star/frame/XFrame.idl
new file mode 100644
index 000000000000..7635bf577498
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrame.idl
@@ -0,0 +1,391 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XFrame.idl,v $
+ * $Revision: 1.15 $
+ *
+ * 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_frame_XFrame_idl__
+#define __com_sun_star_frame_XFrame_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+ published interface XFrameActionListener;
+ published interface XController;
+ published interface XFramesSupplier;
+
+//=============================================================================
+/** a frame object can be considered to be an "anchor" object where a component
+ can be attached to.
+
+ <p>
+ A frame can be (it's not a must!) a part of a frame tree. If not this frame willn't be
+ accessible by using the api. This mode make sense for previews.
+ The root node of the tree can be a <type>Desktop</type> implementation.
+ </p>
+
+ @see Desktop
+ */
+published interface XFrame: com::sun::star::lang::XComponent
+{
+ //-------------------------------------------------------------------------
+ /** is called to initialize the frame within a window - the container window.
+
+ <p>
+ This window will be used as parent for the component window and to support
+ some UI relevant features of the frame service.
+ Note: Re-parenting mustn't supported by a real frame implementation!
+ It's designed for initializing - not for setting.
+ </p>
+
+ <p>This frame will take over ownership of the window refered from
+ <var>xWindow</var>. Thus, the previous owner is not allowed to
+ dispose this window anymore. </p>
+
+ @param xWindow
+ the new container window
+
+ @see XFrame::getContainerWindow()
+ */
+ void initialize( [in] com::sun::star::awt::XWindow xWindow );
+
+ //-------------------------------------------------------------------------
+ /** provides access to the container window of the frame.
+
+ <p>
+ Normally this is used as the parent window of the
+ component window.
+ </p>
+
+ @return
+ the container window of this frame
+
+ @see XFrame::initialize()
+ */
+ com::sun::star::awt::XWindow getContainerWindow();
+
+ //-------------------------------------------------------------------------
+ /** sets the frame container that created this frame.
+
+ <p>
+ Only the creator is allowed to call this method.
+ But creator doesn't mean the implementation which creates this instance ...
+ it means the parent frame of the frame hierarchy.
+ Because; normaly a frame should be created by using the api
+ and is neccessary for searches inside the tree (e.g. <member>XFrame::findFrame()</member>)
+ </p>
+
+ @param Creator
+ the creator (parent) of this frame
+
+ @see XFrame::getCreator()
+ */
+ [oneway] void setCreator( [in] XFramesSupplier Creator );
+
+ //-------------------------------------------------------------------------
+ /** provides access to the creator (parent) of this frame
+
+ @returns
+ the frame container that created and contains this frame.
+
+ @see XFrame::setCreator()
+ */
+ XFramesSupplier getCreator();
+
+ //-------------------------------------------------------------------------
+ /** access to the name property of this frame
+
+ @returns
+ the programmatic name of this frame.
+
+ @see XFrame::setName()
+ */
+ string getName();
+
+ //-------------------------------------------------------------------------
+ /** sets the name of the frame.
+
+ <p>
+ Normally the name of the frame is set initially (e.g. by the creator).
+ The name of a frame will be used for identifying it if a frame search was started.
+ These searches can be forced by:
+ <ul>
+ <li><member>XFrame::findFrame()</member>
+ <li><member>XDispatchProvider::queryDispatch()</member>
+ <li><member>XComponentLoader::loadComponentFromURL()</member>
+ </ul>
+ Note: Special targets like "_blank", "_self" etc. are not allowed.
+ That's why frame names shouldn't start with a sign "_".
+ </p>
+
+ @param aName
+ the new programmatic name of this frame
+
+ @see XFrame::findFrame()
+ @see XFrame::getName()
+ @see XDispatchProvider
+ @see XComponentLoader
+ */
+ [oneway] void setName( [in] string aName );
+
+ //-------------------------------------------------------------------------
+ /** searches for a frame with the specified name.
+
+ <p>
+ Frames may contain other frames (e.g., a frameset) and may
+ be contained in other frames. This hierarchy is searched with
+ this method.
+ First some special names are taken into account, i.e. "",
+ "_self", "_top", "_blank" etc. <var>SearchFlags</var> is ignored when
+ comparing these names with <var>TargetFrameName</var>; further steps are
+ controlled by <var>SearchFlags</var>. If allowed, the name of the frame
+ itself is compared with the desired one, and then ( again if allowed )
+ the method is called for all children of the frame. Finally may be called
+ for the siblings and then for parent frame (if allowed).
+ </p>
+
+ <p>
+ List of special target names:
+ <table border=1>
+ <tr><td>""/"_self"</td><td>address the starting frame itself</td></tr>
+ <tr><td>"_parent"</td><td>address the direct parent frame only</td></tr>
+ <tr><td>"_top"</td><td>address the top frame of this subtree of the frametree</td></tr>
+ <tr><td>"_blank"</td><td>creates a new top frame</td></tr>
+ </table>
+ </p>
+
+ <p>
+ If no frame with the given name is found, a new top frame is
+ created; if this is allowed by a special flag <const>FrameSearchFlag::CREATE</const>.
+ The new frame also gets the desired name.
+ </p>
+
+ @param aTargetFrameName
+ identify
+ <ul><li>(a) a special target ("_blank","_self" ...) or</li>
+ <li>(b) any well known frame</li><ul>
+ to search it inside the current hierarchy
+
+ @param nSearchFlags
+ optional parameter to regulate search if no special target was used for <var>TargetFrameName</var>
+
+ @see FrameSearchFlag
+ */
+ XFrame findFrame(
+ [in] string aTargetFrameName,
+ [in] long nSearchFlags);
+
+ //-------------------------------------------------------------------------
+ /** determines if the frame is a top frame.
+
+ <p>
+ In general a top frame is the frame which is a direct child of
+ a task frame or which does not have a parent. Possible frame searches must
+ stop the search at such a frame unless the flag <const>FrameSearchFlag::TASKS</const>
+ is set.
+ </p>
+
+ @return
+ <TRUE/> if frame supports top frame specification
+ <br>
+ <FALSE/> otherwise
+ */
+ boolean isTop();
+
+ //-------------------------------------------------------------------------
+ /** activates this frame and thus the component within.
+
+ <p>
+ At first the frame sets itself as the active frame of its
+ creator by calling <member>XFramesSupplier::setActiveFrame()</member>,
+ then it broadcasts an <type>FrameActionEvent</type> with
+ <const>FrameAction::FRAME_ACTIVATED</const>. The component within
+ this frame may listen to this event to grab the focus on activation;
+ for simple components this can be done by the <type>FrameLoader</type>.
+ </p>
+
+ <p>
+ Finally, most frames may grab the focus to one of its windows
+ or forward the activation to a sub-frame.
+ </p>
+
+ @see XFrame::deactivate()
+ @see XFrame::isActive()
+ */
+ [oneway] void activate();
+
+ //-------------------------------------------------------------------------
+ /** is called by the creator frame when another sub-frame gets activated.
+
+ <p>
+ At first the frame deactivates its active sub-frame, if any.
+ Then broadcasts a <type>FrameActionEvent</type> with
+ <const>FrameAction::FRAME_DEACTIVATING</const>.
+ </p>
+
+ @see XFrame::activate()
+ @see XFrame::isActive()
+ */
+ [oneway] void deactivate();
+
+ //-------------------------------------------------------------------------
+ /** determines if the frame is active.
+
+ @return
+ <TRUE/> for active or UI active frames
+ <br>
+ <FALSE/> otherwise
+
+ @see XFrame::activate()
+ @see XFrame::deactivate()
+ */
+ boolean isActive();
+
+ //-------------------------------------------------------------------------
+ /** sets a new component into the frame or release an existing one from a frame.
+
+ @param xComponentWindow
+ the window of the new component or <NULL/> for release
+
+ <p>
+ A valid component window should be a child of the frame container window.
+ </p>
+
+ @param xController
+ the controller of the new component or <NULL/> for release
+
+ <p>
+ Simple components may implement a <type scope="com::sun::star::awt">XWindow</type> only.
+ In this case no controller must be given here.
+ </p>
+
+ @return
+ <TRUE/>if setting of new component or release of an existing one was successfully
+ <br>
+ <FALSE/> otherwise (especialy, if an existing controller disagree within his
+ <member>XController::suspend()</member> call)
+
+ @see XFrame::getComponentWindow()
+ @see XFrame::getContainerWindow()
+ @see XFrame::getController()
+ */
+ boolean setComponent(
+ [in] com::sun::star::awt::XWindow xComponentWindow,
+ [in] XController xController);
+
+ //-------------------------------------------------------------------------
+ /** provides access to the component window
+
+ <p>
+ Note: Don't dispose this window - the frame is the owner of it.
+ </p>
+
+ @returns
+ the current visible component in this frame
+ <br>
+ or <NULL/> if no one currently exist
+
+ @see XFrame::setComponent()
+ */
+ com::sun::star::awt::XWindow getComponentWindow();
+
+ //-------------------------------------------------------------------------
+ /** provides access to the controller
+
+ <p>
+ Note: Don't dispose it - the frame is the owner of it.
+ Use <member>XController::getFrame()</member> to dispose
+ the frame after you the controller agreed with a
+ <member>XController::suspend()</member> call.
+ </p>
+
+ @returns
+ the current controller within this frame
+ <br>
+ or <NULL/> if no one currently exist
+
+ @see XFrame::setComponent()
+ */
+ XController getController();
+
+ //-------------------------------------------------------------------------
+ /** notifies the frame that the context of the controller within this
+ frame changed (i.e. the selection).
+
+ <p>
+ According to a call to this interface, the frame calls
+ <method>XFrameEventListener::frameAction</method> with
+ <const>FrameAction::CONTEXT_CHANGED</const> to all listeners which
+ are registered using <member>XFrame::addFrameActionListener</member>.
+ For external controllers this event can be used to requery dispatches.
+
+ @see XFrameEventListener
+ @see FrameAction
+ @see XFrame::addFrameActionListener()
+ */
+ void contextChanged();
+
+ //-------------------------------------------------------------------------
+ /** registers an event listener, which will be called when certain things
+ happen to the components within this frame or within sub-frames of this frame.
+
+ <p>
+ E.g., it is possible to determine instantiation/destruction and
+ activation/deactivation of components.
+ </p>
+
+ @param xListener
+ specifies the listener which will be informed
+
+ @see XFrame::removeFrameActionListener()
+ */
+ [oneway] void addFrameActionListener( [in]XFrameActionListener xListener );
+
+ //-------------------------------------------------------------------------
+ /** unregisters an event listener
+
+ @param xListener
+ specifies the listener which willn't be informed any longer
+
+ @see XFrame::addFrameActionListener()
+ */
+ [oneway] void removeFrameActionListener( [in] XFrameActionListener xListener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrameActionListener.idl b/offapi/com/sun/star/frame/XFrameActionListener.idl
new file mode 100644
index 000000000000..8e88b469f204
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameActionListener.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XFrameActionListener.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XFrameActionListener_idl__
+#define __com_sun_star_frame_XFrameActionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_FrameActionEvent_idl__
+#include <com/sun/star/frame/FrameActionEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** has to be provided if an object wants to receive events
+ when several things happen to components within frames of the desktop frame tree.
+
+ <p>
+ E.g., you can receive events of instantiation/destruction and
+ activation/deactivation of components.
+ </p>
+
+ @see XFrame::addFrameActionListener()
+ @see XFrame::removeFrameActionListener()
+ */
+published interface XFrameActionListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** is called whenever any action occurs to a component within a frame.
+
+ @param Action
+ describes the detected frame action for which the listener can react
+ */
+ [oneway] void frameAction( [in] FrameActionEvent Action );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrameLoader.idl b/offapi/com/sun/star/frame/XFrameLoader.idl
new file mode 100644
index 000000000000..527f88b0ac23
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameLoader.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XFrameLoader.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_XFrameLoader_idl__
+#define __com_sun_star_frame_XFrameLoader_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XLoadEventListener_idl__
+#include <com/sun/star/frame/XLoadEventListener.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** load components into a frame
+
+ <p>
+ It's an asynchronous loading. For synchronous processes use <type>XSynchronousFrameLoader</type>
+ instead of this one. The generic load algorithm of the office supports both ones - but prefered
+ the synchronous interface.
+ </p>
+
+ @see XFrame
+ */
+published interface XFrameLoader: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** starts the loading of the specified resource into the specified <type>Frame</type>.
+
+ @param Frame
+ specifies the loading target
+
+ @param URL
+ describes the ressource of loading component
+ Support of special protocols are implementation details
+ and depends from the environment.
+
+ @param Arguments
+ optional arguments for loading
+ (see <type scope="com::sun::star::document">MediaDescriptor</type> for further informations)
+
+ @param Listener
+ this listener will be informed about success
+
+ @see XLoadEventListener
+ */
+ [oneway] void load(
+ [in] XFrame Frame,
+ [in] string URL,
+ [in] sequence< com::sun::star::beans::PropertyValue > Arguments,
+ [in] XLoadEventListener Listener);
+
+ //-------------------------------------------------------------------------
+ /** cancels the loading process.
+
+ <p>
+ After returning from this call, neither the frame nor the
+ load-event-listener specified in <member>XFrameLoader::load()</member> may be called back.
+ Because only the owner of this process who called load method
+ before can cancel this process. And he doesn't need any notification about that.
+ On the other hand - nobody then this owner himself can be registered as an
+ <type>XLoadEventListener</type> here.
+ </p>
+ */
+ [oneway] void cancel();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrameLoaderQuery.idl b/offapi/com/sun/star/frame/XFrameLoaderQuery.idl
new file mode 100644
index 000000000000..ad225604978c
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameLoaderQuery.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XFrameLoaderQuery.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XFrameLoaderQuery_idl__
+#define __com_sun_star_frame_XFrameLoaderQuery_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//============================================================================
+
+ module com {
+ module sun {
+ module star {
+ module frame {
+
+//============================================================================
+/** use service <type>FrameLoaderFactory</type> instead of this
+ @deprecated
+ */
+published interface XFrameLoaderQuery: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** use member <member scope="com::sun::star::container">XNameAccess::getElementNames()</member>
+ provided by service <type>FrameLoaderFactory</type> instead of this
+ @deprecated
+ */
+ sequence< string > getAvailableFilterNames();
+
+ //-------------------------------------------------------------------------
+ /** use member <member scope="com::sun::star::container">XNameAccess::getByName()</member>
+ provided by service <type>FrameLoaderFactory</type> instead of this
+ @deprecated
+ */
+ sequence< ::com::sun::star::beans::PropertyValue > getLoaderProperties( [in] string sFilterName );
+
+ //-------------------------------------------------------------------------
+ /** use member <type scope="com::sun::star::container">XContainerQuery</type>
+ provided by service <type>FrameLoaderFactory</type> instead of this
+ @deprecated
+ */
+ string searchFilter( [in] string sURL, [in] sequence< com::sun::star::beans::PropertyValue > seqArguments );
+
+ }; // XFrameLoaderQuery
+ }; // frame
+ }; // star
+ }; // sun
+}; // com
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrameSetModel.idl b/offapi/com/sun/star/frame/XFrameSetModel.idl
new file mode 100644
index 000000000000..9a1f1df86aa5
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameSetModel.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XFrameSetModel.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XFrameSetModel_idl__
+#define __com_sun_star_frame_XFrameSetModel_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use <type>XModel</type> instead of this
+ @deprecated
+ */
+published interface XFrameSetModel: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** - */
+ string getSource();
+
+ //-------------------------------------------------------------------------
+ /** - */
+ void setSource( [in] string Source );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFrames.idl b/offapi/com/sun/star/frame/XFrames.idl
new file mode 100644
index 000000000000..3bb22eca07b6
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrames.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XFrames.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XFrames_idl__
+#define __com_sun_star_frame_XFrames_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** manages and creates frames.
+
+ <p>
+ Frames may contain other frames (by implementing an <type>XFrames</type>
+ interface) and may be contained in other frames.
+ </p>
+
+ @see XFrame
+ @see Frame
+ */
+published interface XFrames: com::sun::star::container::XIndexAccess
+{
+ //-------------------------------------------------------------------------
+ /** appends the specified <type>Frame</type> to the list of sub-frames.
+
+ @param xFrame
+ new frame for inserting into this container
+ */
+ void append( [in] XFrame xFrame );
+
+ //-------------------------------------------------------------------------
+ /** provides access to the list of all currently existing
+ frames inside this container and her sub frames
+
+ @param nSearchFlags
+ use combinations of <type>FrameSearchFlag</type> to specify which
+ frames should be found
+
+ @return
+ all frames of this container and all available frames of the whole frame tree
+ which match search parameter <var>SearchFlags</var>
+ */
+ sequence< XFrame > queryFrames( [in] long nSearchFlags );
+
+ //-------------------------------------------------------------------------
+ /** removes the frame from its container.
+
+ <p>
+ Note:
+ <ul>
+ <li>The method <method>XComponent::dispose()</method> is not called implicitly
+ by this method.</li>
+ <li>The creator attribute of the frame must be reset by the caller of
+ this method.</li>
+ </ul>
+ </p>
+
+ @param xFrame
+ frame which should be removed from this container
+ */
+ void remove( [in] XFrame xFrame );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XFramesSupplier.idl b/offapi/com/sun/star/frame/XFramesSupplier.idl
new file mode 100644
index 000000000000..2b5eaefa4652
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFramesSupplier.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XFramesSupplier.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XFramesSupplier_idl__
+#define __com_sun_star_frame_XFramesSupplier_idl__
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+ published interface XFrames;
+
+//=============================================================================
+/** provides access to sub frames of current one
+
+ @see XFrames
+ */
+published interface XFramesSupplier: XFrame
+{
+ //-------------------------------------------------------------------------
+ /** provides access to this container and to all other <type>XFramesSupplier</type>
+ which are available from this node of frame tree
+
+ @returns
+ the collection of frames which is represented by
+ a <type>FramesContainer</type>.
+ */
+ XFrames getFrames();
+
+ //-------------------------------------------------------------------------
+ /** gets the current active frame of this container
+ (not of any other available supplier)
+
+ <p>
+ This may be the frame itself. The active frame is defined as
+ the frame which contains (recursively) the window with the focus.
+ If no window within the frame contains the focus, this method
+ returns the last frame which had the focus. If no containing
+ window ever had the focus, the first frame within this frame is
+ returned.
+ </p>
+
+ @returns
+ the <type>Frame</type> which is active within this frame.
+ */
+ XFrame getActiveFrame();
+
+ //-------------------------------------------------------------------------
+ /** is called on activation of a direct sub-frame.
+
+ <p>
+ This method is only allowed to be called by a sub-frame according to
+ <member>XFrame::activate()</member> or <member>XFramesSupplier::setActiveFrame()</member>.
+ After this call <member>XFramesSupplier::getActiveFrame()</member> will return the
+ frame specified by <var>Frame</var>.
+ </p>
+
+ <p>
+ In general this method first calls the method <member>XFramesSupplier::setActiveFrame()</member>
+ at the creator frame with <var>this</var> as the current argument. Then it broadcasts
+ the <type>FrameActionEvent</type> <const>FrameAction::FRAME_ACTIVATED</const>.
+ </p>
+
+ <p>
+ Note: Given parameter <var>Frame</var> must already exist inside the container
+ (e.g., inserted by using <member>XFrames::append()</member>)
+ </p>
+
+ @param Frame
+ the new active child frame inside this container
+ */
+ void setActiveFrame( [in] XFrame Frame );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XInplaceLayout.idl b/offapi/com/sun/star/frame/XInplaceLayout.idl
new file mode 100644
index 000000000000..b8c031a1980e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XInplaceLayout.idl
@@ -0,0 +1,70 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XInplaceLayout.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_XInplaceLayout_idl__
+#define __com_sun_star_frame_XInplaceLayout_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** special interface to support inplace editing of components inside
+ OpenOffice.org.
+
+ @deprecated
+
+ @since OOo 2.0.0
+*/
+
+interface XInplaceLayout : com::sun::star::uno::XInterface
+{
+ /** sets an inplace menu to the container window of the attached frame.
+
+ @param InplaceMenuBarPointer
+ must be a VCL menu bar pointer which is accessible within the
+ layout manager process.
+ */
+ void setInplaceMenuBar( [in] hyper InplaceMenuBarPointer );
+
+ /** removes an inplace menu and sets back a previously created menu bar if one
+ has been set before.
+ */
+ void resetInplaceMenuBar();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XInterceptorInfo.idl b/offapi/com/sun/star/frame/XInterceptorInfo.idl
new file mode 100644
index 000000000000..545638aa9fa5
--- /dev/null
+++ b/offapi/com/sun/star/frame/XInterceptorInfo.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XInterceptorInfo.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_XInterceptorInfo_idl__
+#define __com_sun_star_frame_XInterceptorInfo_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** makes it possible to get information about a registered interceptor and is used by
+ frame interceptor mechanism to perform interception.
+
+ <p>
+ Frame can call right interceptor directly without calling all of registered ones.
+ Use it as an additional interface to <type>XDispatchProviderInterceptor</type>.
+ If any interceptor in list doesn't support this interface - these mechanism will be broken
+ and normal list of master-slave interceptor objects will be used from top to the bottom.
+ </p>
+
+ @see XDispatchProviderInterception
+ @see XDispatchProviderInterceptor
+ */
+published interface XInterceptorInfo: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** returns the URL list for interception.
+
+ <p>
+ Wildcards inside the URL's are allowed to register the interceptor for
+ URL's too, which can have optional arguments (e.g. "..#.." or "..?..").
+ </p>
+
+ @return
+ a list of URL's wich are handled by this interceptor
+ */
+ sequence< string > getInterceptedURLs();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XLayoutManager.idl b/offapi/com/sun/star/frame/XLayoutManager.idl
new file mode 100644
index 000000000000..ed822377d483
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManager.idl
@@ -0,0 +1,513 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XLayoutManager.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_XLayoutManager_idl__
+#define __com_sun_star_frame_XLayoutManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Size_idl__
+#include <com/sun/star/awt/Size.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIElement_idl__
+#include <com/sun/star/ui/XUIElement.idl>
+#endif
+
+#ifndef __com_sun_star_ui_DockingArea_idl__
+#include <com/sun/star/ui/DockingArea.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XDockingAreaAcceptor_idl__
+#include <com/sun/star/ui/XDockingAreaAcceptor.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** central interface to query for, create, destroy and manipulate user
+ interface elements which are bound to a layout manager.
+
+ <p>
+ Every user interface element which is controlled by a layout manager has
+ a unique identifier called resource URL.
+
+ A resourcce URL must meet the following syntax:
+ "private:resource/$type/$name". It is only allowed to use ascii characters
+ for type and name.
+
+ Currently the following user interface element types are defined:
+ <ul>
+ <li><b>menubar</b>A configurable user interface element representing
+ a menu bar.</li>
+ <li><b>popupmenu</b>A configurable user interface element representing
+ a popup menu.</li>
+ <li><b>toolbar</b>A configurable user interface element a tool
+ bar.</li>
+ <li><b>statusbar</b>A configurable user interfave element representing
+ a status bar.</li>
+ <li><b>floater</b>A basic user interface element representing a
+ floating window.</li>
+ </ul>
+
+ @see com::sun::star::ui::UIElementTypes
+ @see com::sun::star::frame::XFrame
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+interface XLayoutManager : com::sun::star::uno::XInterface
+{
+ /** attaches a <type scope="com::sun::star::frame">XFrame</type> to a layout manager.
+
+ @param Frame
+ specifies the frame that should be attached to the layout manager
+
+ <p>
+ A layout manager needs a <type scope="com::sun::star::frame">XFrame</type> to be
+ able to work. Without a it no user interface elements can be created.
+ </p>
+ */
+ void attachFrame( [in] com::sun::star::frame::XFrame Frame );
+
+ /** resets the layout manager and remove all of its internal user interface
+ elements.
+
+ <p>
+ This call should be handled with care as all user interface elements will
+ be destroyed and the layout manager is reseted to a state after a
+ <member>attachFrame</member> has been made. That means an attached frame
+ which has been set by <member>attachFrame</member> is not released.
+ The layout manager itself calls reset after a component has been attached
+ or reattached to a frame.
+ </p>
+ */
+ void reset();
+
+ /** provides the current docking area size of the layout manager.
+
+ @return
+ The <type scope="com::sun::star::awt">Rectangle</type> contains pixel values. The
+ members of <type scope="com::sun::star::awt">Rectangle</type> are filled as following:
+ <ul>
+ <li>X = docking area on left side (in pixel)</li>
+ <li>Y = docking area on top side (in pixel)</li>
+ <li>Width = docking area on right side (in pixel)</li>
+ <li>Height = docking area on bottom side (in pixel)</li>
+ </ul>
+ */
+ com::sun::star::awt::Rectangle getCurrentDockingArea();
+
+ /** retrieves the current docking area acceptor that controls the border space of the frame's
+ container window.
+
+ @return
+ current docking area acceptor which controls the border space of frame's container window.
+
+ <p>
+ A docking area acceptor retrieved by this method is owned by the layout manager. It is not
+ allowed to dispose this object, it will be destroyed on reference count!
+ </p>
+ */
+ com::sun::star::ui::XDockingAreaAcceptor getDockingAreaAcceptor();
+
+ /** sets a docking area acceptor that controls the border space of the frame's container window.
+
+ @param xDockingAreaAcceptor
+ a docking area acceptor which controls the border space of frame's container window.
+
+ <p>
+ A docking area acceptor decides if the layout manager can use requested border space for
+ docking windows. If the acceptor denies the requested space the layout manager automatically
+ set all docked windows into floating state and will not use this space for docking.<br/>
+ After setting a docking area acceptor the object is owned by the layout manager. It is not
+ allowed to dispose this object, it will be destroyed on reference count!
+ </p>
+ */
+ void setDockingAreaAcceptor( [in] com::sun::star::ui::XDockingAreaAcceptor xDockingAreaAcceptor );
+
+ /** creates a new user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be created. A resourcce URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+ */
+ void createElement( [in] string ResourceURL );
+
+ /** destroys a user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be destroyed. A resourcce URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ascii
+ characters for type and name.
+ */
+ void destroyElement( [in] string ResourceURL );
+
+ /** request to make a user interface element visible if it is not in hidden state.
+
+ @param ResourceURL
+ specifies which user interface element should be made visible. A resourcce URL must
+ meet the following syntax: "private:resource/$type/$name". It is only allowed to use
+ ascii characters for type and
+ name.
+
+ @return
+ returns <TRUE/> if the user interface element could be made visible, otherwise
+ <FALSE/> will be returned.
+
+ <p>
+ If a user interface element should forced to the visible state
+ <member>XLayoutManager::showElement</member> should be used. This function can be
+ used for context dependent elements which should respect a the current visibility
+ state.
+ </p>
+ */
+ boolean requestElement( [in] string ResourceURL );
+
+ /** retrieves a user interface element which has been created before.
+
+ @param ResourceURL
+ specifies which user interface element should be retrieved. A resourcce URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ <p>
+ The layout manager instance is owner of the returned user interface element. That means that the life time of
+ the user interface element is controlled by the layout manager. It can be disposed at every time!
+ </p>
+ */
+ com::sun::star::ui::XUIElement getElement( [in] string ResourceURL );
+
+ /** retrieves all user interface elements which are currently instanciated.
+
+ @return
+ a sequence of user interface elements providing <type scope="com::sun::star::ui">XUIElement</type>
+ interface.
+
+ <p>
+ The layout manager instance is owner of the returned user interface elements. That means that the life time of
+ the user interface elements is controlled by the layout manager. They can be disposed at every time!
+ </p>
+ */
+ sequence< com::sun::star::ui::XUIElement > getElements();
+
+ /** shows a user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be shown. A resourcce URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @return
+ returns <TRUE/> if the user interface element has been shown, otherwise <FALSE/> will be returned.
+ */
+ boolean showElement( [in] string ResourceURL );
+
+ /** hides a user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be hidden. A resourcce URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @return
+ returns <TRUE/> if the user interface element has been hidden, otherwise <FALSE/> will be returned.
+ */
+ boolean hideElement( [in] string ResourceURL );
+
+ /** docks a window based user interface element to a specified docking area.
+
+ @param ResourceURL
+ specifies which user interface element should be docked. A resourcce URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @param DockingArea
+ specifies on which docking area the window based user interface element should docked.
+
+ @param Pos
+ specifies the position inside the docking area.
+
+ @return
+ returns <TRUE/> if the user interface element has been docked, otherwise <FALSE/> will be returned.
+
+ @see com::sun::star::ui::DockingArea
+ */
+ boolean dockWindow( [in] string ResourceURL, [in] com::sun::star::ui::DockingArea DockingArea, [in] com::sun::star::awt::Point Pos );
+
+ /** docks all windows which are member of the provided user interface element type.
+
+ @param nElementType
+ specifies which user interface element type should be docked.
+
+ @return
+ returns <TRUE/> if all user interface elements of the requested type could be
+ docked, otherwise <FALSE/> will be returned.
+
+ @see com::sun::star::ui::UIElementType
+ */
+ boolean dockAllWindows( [in] short nElementType );
+
+ /** forces a window based user interface element to float.
+
+ @param ResourceURL
+ specifies which user interface element should be float. A resourcce URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @return
+ returns <TRUE/> if the user interface element has been docked, otherwise <FALSE/> will be returned.
+ */
+ boolean floatWindow( [in] string ResourceURL );
+
+ /** locks a window based user interface element if it's in a docked state.
+
+ @param ResourceURL
+ specifies which user interface element should be locked. A resourcce URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @return
+ returns <TRUE/> if the user interface element has been locked, otherwise <FALSE/> will be returned.
+ */
+ boolean lockWindow( [in] string ResourceURL );
+
+ /** unlocks a window based user interface element if it's in a docked state.
+
+ @param ResourceURL
+ specifies which user interface element should be unlocked. A resourcce URL must
+ meet the following syntax: "private:resource/$type/$name". It is only allowed
+ to use ascii characters for type and name.
+
+ @return
+ returns <TRUE/> if the user interface element has been unlocked, otherwise
+ <FALSE/> will be returned.
+ */
+ boolean unlockWindow( [in] string ResourceURL );
+
+ /** sets a new size for a window based user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be resized. A resourcce URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @param Size
+ specifies the new size in pixel.
+
+ <p>
+ It is up to the layout manager to decide if the user interface element can be resized. The new size can be retrieved
+ by calling <member>getElementSize</member>.
+ </p>
+ */
+ void setElementSize( [in] string ResourceURL, [in] com::sun::star::awt::Size Size );
+
+ /** sets a new position for a window based user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be moved. A resourcce URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @param Pos
+ specifies the new position in pixel.
+
+ <p>
+ It is up to the layout manager to decide if the user interface element can be moved. The new position can be retrieved
+ by calling <member>getElementPos</member>.
+ </p>
+ */
+ void setElementPos( [in] string ResourceURL, [in] com::sun::star::awt::Point Pos );
+
+ /** sets a new position and size for a window based user interface element.
+
+ @param ResourceURL
+ specifies which user interface element should be moved and resized. A resourcce URL must meet the following
+ syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @param Pos
+ specifies the new position in pixel.
+
+ @param Size
+ specifies the new position in pixel.
+
+ <p>
+ It is up to the layout manager to decide if the user interface element can be moved and resized. The new position and size can
+ be retrieved by calling <member>getElementPos</member> and <member>getElementSize</member>.
+ </p>
+ */
+ void setElementPosSize( [in] string ResourceURL, [in] com::sun::star::awt::Point Pos, [in] com::sun::star::awt::Size Size );
+
+ /** retrieves the current visibility state of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the visibility state should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @return
+ <TRUE/> if the user interface element is visible, otherwise <FALSE/>.
+ */
+ boolean isElementVisible( [in] string ResourceURL );
+
+ /** retrieves the current floating state of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the floating state should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @return
+ <TRUE/> if the user interface element is floating, otherwise <FALSE/>.
+ */
+ boolean isElementFloating( [in] string ResourceURL );
+
+ /** retrieves the current docking state of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the docking state should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @return
+ <TRUE/> if the user interface element is docked, otherwise <FALSE/>.
+ */
+ boolean isElementDocked( [in] string ResourceURL );
+
+ /** retrieves the current lock state of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the lock state should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @return
+ <TRUE/> if the user interface element is locked, otherwise <FALSE/>.
+ */
+ boolean isElementLocked( [in] string ResourceURL );
+
+ /** retrieves the current size of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the current size should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @return
+ the size in pixel of the user interface element. A non-window based user interface element provides a zero size.
+ */
+ com::sun::star::awt::Size getElementSize( [in] string ResourceURL );
+
+ /** retrieves the current pixel position of a window based user interface element.
+
+ @param ResourceURL
+ specifies for which user interface element the current position should be retrieved. A resource URL must meet
+ the following syntax: "private:resource/$type/$name". It is only allowed to use ascii characters for type and
+ name.
+
+ @return
+ the size in pixel of the user interface element. A non-window based user interface element provides a zero size.
+ */
+ com::sun::star::awt::Point getElementPos( [in] string ResourceURL );
+
+ /** prohibit all layout updates until unlock is called again.
+
+ <p>
+ This call can be used to speed up the creation process of serveral user interface elements. Otherwise the layout manager
+ would calculate the layout for every creation.
+ </p>
+ */
+ void lock();
+
+ /** permit layout updates again.
+
+ <p>
+ This function should be called to permit layout updates. The layout manager starts to calculate the new layout after
+ this call.
+ </p>
+ */
+ void unlock();
+
+ /** forces a complete new layouting of all user interface elements.
+ */
+ void doLayout();
+
+ /** sets the layout manager to invisible state and hides all user interface elements.
+
+ <p>
+ A layout manager can be set to invisible state to force it to hide all of its
+ user interface elements. If another component wants to use the window for its
+ own user interface elements it can use this function. This function is normally
+ used to implement inplace editing.
+ </p>
+
+ @param Visible
+ provide <FALSE/> to make layout manager invisible otherwise this must be
+ set to <TRUE/>.
+ */
+ void setVisible( [in] boolean Visible );
+
+ /** retrieves the visibility state of a layout manager.
+
+ <p>
+ A layout manager can be set to invisible state to force it to hide all of its
+ user interface elements. If another component wants to use the window for its
+ own user interface elements it can use this function. This function is normally
+ used to implement inplace editing.
+ </p>
+
+ */
+ boolean isVisible();
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl
new file mode 100644
index 000000000000..04a427df75e8
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XLayoutManagerEventBroadcaster.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_XLayoutManagerEventBroadcaster_idl__
+#define __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__
+
+#ifndef __com_sun_star_frame_XLayoutManagerListener_idl__
+#include <com/sun/star/frame/XLayoutManagerListener.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** makes it possible to receive events from a layout manager.
+
+ @see ::com::sun::star::frame::LayoutManager
+
+ @since OOo 2.0.0
+ */
+
+interface XLayoutManagerEventBroadcaster : com::sun::star::uno::XInterface
+{
+ /** adds a layout manager event listener to the object's listener list.
+
+ @param aLayoutManagerListener
+ a listener that wants to receive events regarding user interface
+ elements that are controlled by a layout manager.
+ */
+ void addLayoutManagerEventListener( [in] XLayoutManagerListener aLayoutManagerListener );
+
+ /** removes a layout manager event listener from the object's listener
+ list.
+
+ @param aLayoutManagerListener
+ a listener that don't want to receive events regarding user
+ interface elements that are controlled by a layout manager.
+ */
+ void removeLayoutManagerEventListener( [in] XLayoutManagerListener aLayoutManagerListener );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XLayoutManagerListener.idl b/offapi/com/sun/star/frame/XLayoutManagerListener.idl
new file mode 100644
index 000000000000..b6d7da44e653
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManagerListener.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XLayoutManagerListener.idl,v $
+ * $Revision: 1.6 $
+ *
+ * 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_frame_XLayoutManagerListener_idl__
+#define __com_sun_star_frame_XLayoutManagerListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** makes it possible to receive events from a layout manager.
+
+ <p>Events are provided <strong>only</strong> for notification
+ purposes only. All operations are handled interally by the
+ layout manager component, so that GUI layout works properly
+ regardless of whether a component registers such a listener
+ or not.</p>
+
+ @see ::com::sun::star::frame::LayoutManager
+ @see ::com::sun::star::frame::LayoutManagerEvents
+
+ @since OOo 2.0.0
+ */
+interface XLayoutManagerListener : com::sun::star::lang::XEventListener
+{
+ //=============================================================================
+ /** is invoked when a layout manager has made a certain operation.
+
+ @param aSource
+ reference to the layout manager which invoked the event.
+
+ @param eLayoutEvent
+ identifies the layout event that has occured.
+
+ @param aInfo
+ provides additional information about the event. The type
+ of info depends on the event.
+ */
+ void layoutEvent( [in] com::sun::star::lang::EventObject aSource, [in] short eLayoutEvent, [in] any aInfo );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XLoadEventListener.idl b/offapi/com/sun/star/frame/XLoadEventListener.idl
new file mode 100644
index 000000000000..5e5a0fc6bb7a
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLoadEventListener.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XLoadEventListener.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_XLoadEventListener_idl__
+#define __com_sun_star_frame_XLoadEventListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+ published interface XFrameLoader;
+
+//=============================================================================
+/** is used to receive callbacks from an asynchronous frame loader.
+
+ @see XFrameLoader
+ */
+published interface XLoadEventListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** is called when a new component is loaded into a frame successfully.
+
+ @param Loader
+ the source of this event
+ */
+ [oneway] void loadFinished( [in] XFrameLoader Loader );
+
+ //-------------------------------------------------------------------------
+ /** is called when a frame load is cancelled or failed.
+
+ @param Loader
+ the source of this event
+ */
+ [oneway] void loadCancelled( [in] XFrameLoader Loader );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XLoadable.idl b/offapi/com/sun/star/frame/XLoadable.idl
new file mode 100644
index 000000000000..4eac5ad70b30
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLoadable.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XLoadable.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_XLoadable_idl__
+#define __com_sun_star_frame_XLoadable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.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_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** offers a simple way to initialize a component or load it from an URL.
+ <p>In case an object supports the interface the object must be initialized
+ with either initNew() or load() call before any usage. In case the object
+ is already initialized the mentioned methods should throw DoubleInitializationException.
+ </p>
+
+ @since OOo 1.1.2
+ */
+published interface XLoadable: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a component from scratch
+ */
+ void initNew()
+ raises( DoubleInitializationException, com::sun::star::io::IOException, com::sun::star::uno::Exception );
+
+ //-------------------------------------------------------------------------
+ /** loads a component from an URL
+ @param lArguments
+ parameters for saving
+ (see <type scope="com::sun::star::document">MediaDescriptor</type> for further details)
+ the FileName parameter must be specified, other parameters are optional
+ */
+
+ void load( [in] sequence<com::sun::star::beans::PropertyValue> lArguments )
+ raises( DoubleInitializationException, com::sun::star::io::IOException, com::sun::star::uno::Exception );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XMenuBarAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl
new file mode 100644
index 000000000000..74265e0617b8
--- /dev/null
+++ b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XMenuBarAcceptor.idl,v $
+ * $Revision: 1.6 $
+ *
+ * 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_frame_LayoutManager_idl__
+#define __com_sun_star_frame_LayoutManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XMenuBar_idl__
+#include <com/sun/star/awt/XMenuBar.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** provides function to update a menu bar for inplace editing.
+
+ @deprecated
+
+ @since OOo 2.0.0
+*/
+
+interface XMenuBarAcceptor : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** update menu bar according to the current frame mode. This is used in
+ inplace editing mode where we have to merge our own menu into the
+ container applications menu.
+
+ @param xMenuBar
+ the menu bar that should be merged with current one.
+ */
+ void updateMenuBar( [inout] com::sun::star::awt::XMenuBar xMenuBar );
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl
new file mode 100644
index 000000000000..4d22ca8e8de2
--- /dev/null
+++ b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XMenuBarMergingAcceptor.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_XMenuBarMergingAcceptor_idl__
+#define __com_sun_star_frame_XMenuBarMergingAcceptor_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** provides functions to set and remove a merged menu bar for inplace
+ editing.
+
+ @since OOo 2.0.0
+*/
+
+interface XMenuBarMergingAcceptor : com::sun::star::uno::XInterface
+{
+ /** allows to set a merged menu bar.
+
+ @param xMergedMenuBar
+ specifies the merged menu bar.
+
+ <p>
+ This function is normally used to provide inplace editing where
+ functions from two application parts, container application and
+ embedded object, are available to the user simultaneously. A menu
+ bar which is set by this method has a higher priority than others
+ created by <type scope="com::sun::star::frame">XLayoutManager</type>
+ interface. Settings of a merged menu bar cannot be retrieved.
+ </p>
+
+ @see com::sun::star::ui::UIElementSettings
+ @see com::sun::star::frame::XDispatchProvider
+ @see com::sun::star::frame::XLayoutManager
+ */
+ boolean setMergedMenuBar(
+ [in] ::com::sun::star::container::XIndexAccess xMergedMenuBar );
+
+ /** removes a previously set merged menu bar and sets a previously created
+ menu bar back.
+ */
+ void removeMergedMenuBar();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XModel.idl b/offapi/com/sun/star/frame/XModel.idl
new file mode 100644
index 000000000000..8d1448c00a7e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModel.idl
@@ -0,0 +1,239 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XModel.idl,v $
+ * $Revision: 1.11 $
+ *
+ * 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_frame_XModel_idl__
+#define __com_sun_star_frame_XModel_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XController_idl__
+#include <com/sun/star/frame/XController.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** 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. An example for such an argument is "AsTemplate",
+ which loads the resource as a template for a new document.
+ (see <type scope="com::sun::star::document">MediaDescriptor</type> for further details)
+ </p>
+
+ <p>
+ Models can be controlled by controller components, which are usually
+ views of the model.
+ (see <type>Controller</type> for further details)
+ </p>
+
+ <p>
+ If there is at least one controller, there is by definition a
+ current controller. And if that controller supports the interface
+ <type scope="com::sun::star::view">XSelectionSupplier</type>, it has a current selection too.
+ </p>
+
+ @see com::sun::star::document::MediaDescriptor
+ @see Controller
+ @see com::sun::star::view::XSelectionSupplier
+ */
+published interface XModel: com::sun::star::lang::XComponent
+{
+ //-------------------------------------------------------------------------
+ /** informs a model about its resource description.
+
+ @param URL
+ specifies the ressource
+
+ @param Arguments
+ are optional arguments for that ressource
+ (see <type scope="com::sun::star::document">MediaDescriptor</type>)
+
+ @return
+ <TRUE/> for success
+ <br>
+ <FALSE/> otherwise
+ */
+ boolean attachResource(
+ [in] string URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments);
+
+ //-------------------------------------------------------------------------
+ /** provides information about the location of this model
+
+ @returns
+ the URL of the resource which is represented by this model.
+
+ @see XStorable::getLocation()
+ */
+ string getURL();
+
+ //-------------------------------------------------------------------------
+ /** provides read acces on currently representation of the
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+ of this model which describes the model and his state
+
+ @returns
+ the arguments with which the model was originally created or
+ stored the last time.
+ */
+ sequence< com::sun::star::beans::PropertyValue > getArgs();
+
+ //-------------------------------------------------------------------------
+ /** is called whenever a new controller is created for this model.
+
+ <p>
+ The <type scope="com::sun::star::lang">XComponent</type> interface
+ of the controller must be used to recognize when it is deleted.
+ </p>
+
+ @param Controller
+ a new controller for this model
+
+ @see XModel::disconnectController()
+ */
+ [oneway] void connectController( [in] XController Controller );
+
+ //-------------------------------------------------------------------------
+ /** is called whenever an existing controller should be deregistered at this model.
+
+ <p>
+ The <type scope="com::sun::star::lang">XComponent</type> interface
+ of the controller must be used to recognize when it is deleted.
+ </p>
+
+ @param Controller
+ the existing controller which should be deregistered
+
+ @see XModel::connectController()
+ */
+ [oneway] void disconnectController( [in] XController Controller );
+
+ //-------------------------------------------------------------------------
+ /** suspends some notifications to the controllers which are used
+ for display updates.
+
+ <p>
+ The calls to <member>XModel::lockControllers()</member> and
+ <member>XModel::unlockControllers()</member> may be
+ nested and even overlapping, but they must be in pairs. While
+ there is at least one lock remaining, some notifications
+ for display updates are not broadcasted.
+ </p>
+ */
+ [oneway] void lockControllers();
+
+ //-------------------------------------------------------------------------
+ /** resumes the notifications which were suspended by
+ <member>XModel::lockControllers()</member>.
+
+ <p>
+ The calls to <member>XModel::lockControllers()</member> and
+ <member>XModel::unlockControllers()</member> may be
+ nested and even overlapping, but they must be in pairs. While
+ there is at least one lock remaining, some notifications for
+ display updates are not broadcasted.
+ </p>
+ */
+ [oneway] void unlockControllers();
+
+ //-------------------------------------------------------------------------
+ /** determines if there is at least one lock remaining.
+
+ <p>
+ While there is at least one lock remaining, some notifications
+ for display updates are not broadcasted to the controllers.
+ </p>
+
+ @return
+ <TRUE/> if any lock exist
+ <br>
+ <FALSE/> otherwise
+ */
+ boolean hasControllersLocked();
+
+ //-------------------------------------------------------------------------
+ /** provides access to the controller which currently controls this model
+
+ @returns
+ If the controller which is active is a controller of this model,
+ it will be returned. If not, the controller which was the last
+ active of this model is returned. If no controller of this model
+ ever was active, the controller first registered is returned. If no
+ controller is registered for this model, <NULL/> is returned.
+ */
+ XController getCurrentController();
+
+ //-------------------------------------------------------------------------
+ /** sets a registered controller as the current controller.
+
+ @param Controller
+ reference to an already existing connected controller, which should be
+ the new active one
+
+ @throws com::sun::star::container::NoSuchElementException
+ if <var>xController</var> isn't an already connected controller on this model
+ */
+ void setCurrentController( [in] XController Controller )
+ raises( com::sun::star::container::NoSuchElementException );
+
+ //-------------------------------------------------------------------------
+ /** provides read access on current selection on controller
+
+ @returns
+ the current selection in the current controller.
+ If there is no current controller, it returns <NULL/>.
+ */
+ com::sun::star::uno::XInterface getCurrentSelection();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XModel2.idl b/offapi/com/sun/star/frame/XModel2.idl
new file mode 100644
index 000000000000..29389a0b16a5
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModel2.idl
@@ -0,0 +1,155 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XModel2.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_XModel2_idl__
+#define __com_sun_star_frame_XModel2_idl__
+
+#include <com/sun/star/frame/XController2.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/container/XEnumeration.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** extends interface XModel.
+
+ The foloowing functions are added:
+
+ - enumeration of all currently connected controller objects.
+ (not getCurrentController() only, which depends on focus)
+
+ - establish new view controller factory methods, which will make
+ it possible to create new views for this model.
+ */
+interface XModel2 : com::sun::star::frame::XModel
+{
+ //-------------------------------------------------------------------------
+ /** provides list of all currently connected controller objects.
+
+ <p>
+ Please note: Because this interface will might be used inside
+ multi threaded environments those list can contain still disposed items
+ or it new added controller will be missing (if they was added after this
+ enumeration was created).
+ </P>
+
+ @returns
+ list of controller objects.
+ Enumeration can be empty but not NULL.
+ */
+ com::sun::star::container::XEnumeration getControllers();
+
+ //-------------------------------------------------------------------------
+ /** provides the available names of the factory to be used to create views.
+
+ <p>The names are usually logical view names. The following names have
+ a defined meaning, i.e. every concrete implementation which returns such
+ a name must ensure it has the same meaning, and if a concrete implementation
+ has a view with the given meaning, it must give it the name as defined here:
+ <ul>
+ <li><b>Default</b> specifies the default view of the document.</li>
+ <li><b>Preview</b> specifies a preview of the document. A minimal implementation of such a view
+ is a <em>Default</em> view which is read-only.</li>
+ <li><b>PrintPreview</b> specifies a print preview of the document.</li>
+ </ul>
+ </p>
+
+ <p>Implementations of this interface might decide to support additional
+ view names, which then are documented in the respective service descriptions.</p>
+
+ @see createView
+
+ @returns
+ a sequence of names of all supported views for this document.
+ */
+ sequence< string > getAvailableViewControllerNames();
+
+ //-------------------------------------------------------------------------
+ /** creates the default view instance for this model.
+
+ <p>Effectively, this method is equivalent to calling <member>createView</member> with
+ the <code>ViewName</code> being <code>&quot;Default&quot;</code>.</p>
+
+ @param Frame
+ used to place the new created view there
+
+ @return the new view controller instance
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if one of the given parameter was wrong
+
+ @throws ::com::sun::star::uno::Exception
+ if creation of a new view failed by other reasons
+ */
+ com::sun::star::frame::XController2 createDefaultViewController( [in] com::sun::star::frame::XFrame Frame )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::uno::Exception );
+
+ //-------------------------------------------------------------------------
+ /** creates a new view instance classified by the specified name and arguments.
+
+ <p>The newly created controller must not be connected with the document and the
+ frame. That is, you should neither call <member>XFrame::setComponent</member>, nor
+ <member>XController::attachFrame</member>, nor <member>XController::attachModel</member>,
+ nor <member>XModel::connectController</member>, not <member>XModel::setCurrentController</member>.
+ All of this is the responsibility of the caller, which will do it in the proper order.</p>
+
+ @param ViewName
+ classified name of instance
+
+ @param Arguments
+ arguments used for creation
+
+ @param Frame
+ used to place the new created view there
+
+ @return the new view controller instance
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if one of the given parameter was wrong
+
+ @throws ::com::sun::star::uno::Exception
+ if creation of a new view failed by other reasons
+ */
+ com::sun::star::frame::XController2 createViewController( [in] string ViewName ,
+ [in] sequence< com::sun::star::beans::PropertyValue > Arguments ,
+ [in] com::sun::star::frame::XFrame Frame )
+ raises (com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::uno::Exception );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XModule.idl b/offapi/com/sun/star/frame/XModule.idl
new file mode 100644
index 000000000000..b78f5c51e5ff
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModule.idl
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XModule.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_XModule_idl__
+#define __com_sun_star_frame_XModule_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_frame_UnknownModuleException_idl__
+#include <com/sun/star/frame/UnknownModuleException.idl>
+#endif
+
+//===============================================
+
+module com { module sun { module star { module frame {
+
+//===============================================
+/** can be used to overrule identification of office modules.
+
+ <p>
+ Normaly an office module will be identified by it's service name
+ in combination with a set of configuration data.
+ But sometimes whole existing office modules will be used as black box components
+ to implement a different office module on top of it. Patching a service name
+ is not possible. So this optional interface can be used to overwrite identification
+ of a module.
+ </p>
+
+ @see XModuleManager
+
+ @since OOo 2.3.0
+ */
+interface XModule : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------
+ /** @param Identifier
+ a new "name" for this module.
+ */
+ void setIdentifier([in] string Identifier);
+
+ //-------------------------------------------
+ /** @return the module identifier.
+ */
+ string getIdentifier();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XModuleManager.idl b/offapi/com/sun/star/frame/XModuleManager.idl
new file mode 100644
index 000000000000..5650c26c7f9a
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModuleManager.idl
@@ -0,0 +1,118 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XModuleManager.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_XModuleManager_idl__
+#define __com_sun_star_frame_XModuleManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_frame_UnknownModuleException_idl__
+#include <com/sun/star/frame/UnknownModuleException.idl>
+#endif
+
+//===============================================
+
+module com { module sun { module star { module frame {
+
+//===============================================
+/** can be used to identify office modules.
+
+ @since OOo 2.0.0
+ */
+interface XModuleManager : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------
+ /**
+ @short identifies the given module.
+
+ @descr This identifier can then be used at the service <type>ModuleManager</type>
+ to get more information about this module.
+
+ For identification the interface <type scope="com::sun::star::lang">XServiceInfo</type>
+ is requested on the given module. Because all module service registrations must be unique
+ this value can be queried and checked against the configuration.
+
+ Since OOo 2.3.0 also the optional interface <type>XModule</type> will be used.
+ If its exists it will be preferred.
+
+ @param Module
+ Possible objects for this parameter can be the following one:
+ <ul>
+ <li>
+ <b><type scope="com::sun::star::frame">XFrame</type></b><br>
+ A frame contains (against a component window) a controller.
+ Such controller represent the module (in case no model exists).
+ </li>
+ <li>
+ <b><type scope="com::sun::star::frame">XController</type></b><br>
+ A controller can be bound to a model. Then the model represent the module.
+ If no model exists - the controller is used for identification.
+ </li>
+ <li>
+ <b><type scope="com::sun::star::frame">XModel</type></b><br>
+ A model represent a module everytimes and can be used for
+ identification directly.
+ </li>
+ </ul>
+
+ @throws <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ if the parameter Module is:
+ <ul>
+ <li>an empty one</li>
+ <li>or does not provide one of the needed interface
+ XFrame, XControllerm, XModel</li>
+ <li>or does not provide the needed interface XServiceInfo.</li>
+ </ul>
+
+ @throws <type>UnknownModuleException</type>
+ if the given module could not be identified.
+ Note: If the module represent a XFrame instance with does not contain
+ a document, this exception is thrown too!
+
+ @return An identifier for the given module.
+ Note: This value is valie everytimes. Error will be transported
+ by thrown exceptions!
+ */
+ string identify( [in] ::com::sun::star::uno::XInterface Module )
+ raises(::com::sun::star::lang::IllegalArgumentException,
+ UnknownModuleException );
+
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XNotifyingDispatch.idl b/offapi/com/sun/star/frame/XNotifyingDispatch.idl
new file mode 100644
index 000000000000..f4a11e11e1d7
--- /dev/null
+++ b/offapi/com/sun/star/frame/XNotifyingDispatch.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XNotifyingDispatch.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_XNotifyingDispatch_idl__
+#define __com_sun_star_frame_XNotifyingDispatch_idl__
+
+#ifndef __com_sun_star_frame_XDispatch_idl__
+#include <com/sun/star/frame/XDispatch.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchResultListener_idl__
+#include <com/sun/star/frame/XDispatchResultListener.idl>
+#endif
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** dispatch with guaranteed notify (instead of <type>XDispatch</type>)
+
+ @see XDispatch
+ @see XStatusListener
+ */
+published interface XNotifyingDispatch: XDispatch
+{
+ //-------------------------------------------------------------------------
+ /** Do the same like <member>XDispatch::dispatch()</member> but notifies
+ listener in every case. Should be used if result must be known.
+
+ @param URL
+ full parsed URL describes the feature which should be dispatched (executed)
+
+ @param Arguments
+ optional arguments for this request
+ (see <type scope="com::sun::star::document">MediaDescriptor</type>)
+
+ @param Listener
+ optional listener for guaranteed notifications of this request
+ */
+ [oneway] void dispatchWithNotification(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] XDispatchResultListener Listener);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XPopupMenuController.idl b/offapi/com/sun/star/frame/XPopupMenuController.idl
new file mode 100644
index 000000000000..eee820b1de52
--- /dev/null
+++ b/offapi/com/sun/star/frame/XPopupMenuController.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XPopupMenuController.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_XPopupMenuController_idl__
+#define __com_sun_star_frame_XPopupMenuController_idl__
+
+#ifndef __com_sun_star_awt_XPopupMenu_idl__
+#include <com/sun/star/awt/XPopupMenu.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** provides data to a popup menu controller implementation to
+ fill and update a popup menu dynamically.
+
+ <p>
+ A popup menu controller gets a <type scope="com::sun::star::awt">XPopupMenu</type>
+ from its parent menu implementation. The controller has to fill this popup
+ menu with a set of menu items and/or sub menus. The parent menu implementation
+ briefs the controller whenever the popup menu gets activated by a user.
+ </p>
+
+ @since OOo 2.0.0
+*/
+interface XPopupMenuController : com::sun::star::uno::XInterface
+{
+ /** provides a <type scope="com::sun::star::awt">XPopupMenu</type> to a
+ popup menu controller implementation. The controller must fill this
+ popup menu with its functions.
+
+ @param PopupMenu
+ An empty popup menu that must be filled by the popup menu controller.
+ */
+ void setPopupMenu( [in] com::sun::star::awt::XPopupMenu PopupMenu );
+
+ /** briefs the popup menu controller to update the contents of the provided
+ popup menu to reflect the current state.
+
+ <p>A controller should <b>never</b> update the popup menu structure on its
+ own to prevent performance problems. A better way would be that a controller
+ registers itself as status listener to for a command URL and immediately
+ deregister after that. Therefor status updates will not be send regularly
+ for a non visible popup menu.
+ </p>
+ */
+ void updatePopupMenu();
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/frame/XRecordableDispatch.idl b/offapi/com/sun/star/frame/XRecordableDispatch.idl
new file mode 100644
index 000000000000..ad6591b00edc
--- /dev/null
+++ b/offapi/com/sun/star/frame/XRecordableDispatch.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XRecordableDispatch.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XRecordableDispatch_idl__
+#define __com_sun_star_frame_XRecordableDispatch_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XDispatchRecorder_idl__
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** extends an existing <type>XDispatch</type> implementation with functionality
+ for dispatch recording
+
+ <p>
+ This interface can be implemented as an additional one beside an existing
+ <type>XDispatch</type> one to provide record functionality of dispatches.
+ Because it's an additional interface the status events are available there
+ and not at this interface.
+ </p>
+
+ <p>
+ But normaly this interface mustn't be used directly.
+ If a dispatch object is well known and recording was enabled
+ on a <type>XDispatchRecorderSupplier</type> it's possible to use method
+ <member>XDispatchRecorderSupplier::dispatchAndRecord()</member> of it
+ to make dispatch and recording automaticly. The interface XRecordableDispatch
+ is used transparently there.
+ </p>
+
+ @example
+ <listing>
+ <i>XDispatch</i> xDispatcher = xFrame.queryDispatch(aURL,"",0);
+ <i>XRecordableDispatch</i> xRecordable = (<i>XRecordableDispatch</i>)UnoRuntime.queryInterface(
+ &nbsp;&nbsp;XRecordableDispatch.class,
+ &nbsp;&nbsp;xDispatcher);
+
+ xDispatcher.addStatusListener(this,aURL);
+
+ <b>if</b> (xRecordable!=<b>null</b>)
+ &nbsp;&nbsp;xRecordable.dispatchAndRecord(aURL,lArguments,xRecorder);
+ else
+ &nbsp;&nbsp;xDispatcher.dispatch(aURL,lArguments);
+ ...
+ xDispatcher.removeStatusListener(this,aURL);
+ </listing>
+
+ @see XDispatchRecorderSupplier
+ @see XDispatch
+
+ @since OOo 1.1.2
+ */
+published interface XRecordableDispatch: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** dispatch and record it
+
+ @param URL
+ full parsed URL wich describe the feature which should be dispatched (executed)
+
+ @param Arguments
+ optional arguments for this request
+ (see <type scope="com::sun::star::document">MediaDescriptor</type> for details)
+
+ @param Recorder
+ object which can be used to record the request
+ (available on <member>XDispatchRecorderSupplier::getDispatchRecorder()</member>)
+ */
+ [oneway] void dispatchAndRecord(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] XDispatchRecorder Recorder);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XSessionManagerClient.idl b/offapi/com/sun/star/frame/XSessionManagerClient.idl
new file mode 100644
index 000000000000..be0b529220fd
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSessionManagerClient.idl
@@ -0,0 +1,109 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XSessionManagerClient.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_XSessionManagerClient_idl__
+#define __com_sun_star_frame_XSessionManagerClient_idl__
+
+#ifndef __com_sun_star_frame_XSessionManagerListener_idl__
+#include <com/sun/star/frame/XSessionManagerListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** Connect to a session manager to get information about pending
+ desktop shutdown
+
+ */
+ interface XSessionManagerClient : com::sun::star::uno::XInterface
+ {
+
+ /** addSessionManagerListener registers a listener for session management events
+
+ @param xListener
+ listener for session management events
+
+ @see XSessionManagerListener
+ @see XSessionManagerClient::removeSessionManagerListener()
+ */
+ [oneway] void addSessionManagerListener( [in] XSessionManagerListener xListener );
+
+ /** removeSessionManagerListener deregisters a listener for session events
+
+ @param xListener
+ listener to be removed
+
+ @see XSessionManagerListener
+ @see XSessionManagerClient::addSessionManagerListener()
+ */
+ [oneway] void removeSessionManagerListener( [in] XSessionManagerListener xListener );
+
+ /** queryInteraction issues a request for a user interaction slot
+ from the session manager
+
+ @param xListener
+ the listener requesting user interaction
+
+ @see XSessionManagerListener
+ */
+ [oneway] void queryInteraction( [in] XSessionManagerListener xListener );
+
+ /** interactionDone is called when a listener has finished user interaction
+
+ @param xListener
+ the listener done with user interaction
+
+ @see XSessionManagerListener
+ */
+ [oneway] void interactionDone( [in] XSessionManagerListener xListener );
+
+ /** saveDone signals that a listener has processed a save request
+
+ @param listener
+ the listener having finished save request processing
+
+ @see XSessionManagerListener
+ */
+ [oneway] void saveDone( [in] XSessionManagerListener xListener );
+
+ /** Call cancelShutdown to try to cancel a desktop shutdown in progress
+
+ @returns
+ <TRUE/> if shutdown was canceled,
+ <FALSE/> else.
+ */
+ boolean cancelShutdown();
+ };
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/frame/XSessionManagerListener.idl b/offapi/com/sun/star/frame/XSessionManagerListener.idl
new file mode 100644
index 000000000000..59b723f17d37
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSessionManagerListener.idl
@@ -0,0 +1,106 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XSessionManagerListener.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_XSessionManagerListener_idl__
+#define __com_sun_star_frame_XSessionManagerListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+ interface XSessionManagerListener : com::sun::star::lang::XEventListener
+ {
+
+ /** doSave gets called when a save event was issued by the session manager
+ the listener should do what is necessary to restore
+ the current state of the application
+
+ <p>If the listener desires to interact with the user
+ it must first issue a user interaction request and
+ only do so if interaction was granted</p>
+
+ <p>When the save request is processed (with or without
+ user interaction) the listener must call
+ <member>XSessionManagerClient::saveDone()</member>
+ on the session manager client service object.</p>
+
+ @param bShutdown
+ <TRUE/> if a shutdown is in progress,
+ <FALSE/> if just a save point was requested
+
+ @param bCancelable
+ <TRUE/> if a shutdown in progress can be canceled by the listener,
+ <FALSE/> else
+
+ <p>the listener may choose to ignore the <member>saveDone</member>
+ event in case no real shutdown is in progress. He
+ still has to call
+ <member>XSessionManagerClient::saveDone()</member>
+ in that case.</p>
+
+ @see XSessionManagerClient
+ @see XSessionManagerClient::saveDone()
+ */
+ [oneway] void doSave( [in] boolean bShutdown, [in] boolean bCancelable );
+
+ /** approveInteraction is called when an outstanding
+ interaction request was processed by the session manager
+
+ @param bInteractionGranted
+ If <FALSE/> the listener must not interact with the user.
+ If <TRUE/> the listener can interact with the user now.
+ After interaction the listener must call
+ <member>XSessionManagerClient::interactionDone</member>
+ on the session manager client service object.
+
+ @see XSessionManagerClient
+ @see XSessionManagerClient::interactionDone()
+ */
+ [oneway] void approveInteraction( [in] boolean bInteractionGranted );
+
+ /** shutdownCanceled is called when a shutdown was canceled by the user
+ The listener can cancel his saving operations. No
+ further interaction is necessary and further calls
+ on the session manager client service object will
+ be ignored.
+ */
+ [oneway] void shutdownCanceled();
+
+ /** returns true, if a session was restored
+ */
+ boolean doRestore();
+ };
+
+}; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/frame/XStatusListener.idl b/offapi/com/sun/star/frame/XStatusListener.idl
new file mode 100644
index 000000000000..9c0595b13459
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStatusListener.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XStatusListener.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_XStatusListener_idl__
+#define __com_sun_star_frame_XStatusListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_FeatureStateEvent_idl__
+#include <com/sun/star/frame/FeatureStateEvent.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** makes it possible to receive events when the state of a feature changes.
+
+ <p>
+ Nobody guarantee any notification. Use combination of <type>XNotifyingDispatch</type>
+ and <type>XDispatchResultListener</type> for that.
+ </p>
+
+ @see XDispatch
+ @see XNotifyingDispatch
+ @see XDispatchResultListener
+ */
+published interface XStatusListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** is called when the status of the feature changes.
+
+ @param State
+ provides information about changes of the requested feature
+ */
+ [oneway] void statusChanged( [in] FeatureStateEvent State );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XStatusbarController.idl b/offapi/com/sun/star/frame/XStatusbarController.idl
new file mode 100644
index 000000000000..b4434063009f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStatusbarController.idl
@@ -0,0 +1,175 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XStatusbarController.idl,v $
+ * $Revision: 1.6 $
+ *
+ * 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_frame_XStatusbarController_idl__
+#define __com_sun_star_frame_XStatusbarController_idl__
+
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+
+#ifndef __com_sun_star_awt_MouseEvent_idl__
+#include <com/sun/star/awt/MouseEvent.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XGraphics_idl__
+#include <com/sun/star/awt/XGraphics.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** is an abstract service for a component which offers a more complex user interface
+ to users within a status bar.
+
+ <p>
+ A generic status bar field is represented as a simple text field. A status
+ bar controller can be added to a Statusbar and provide information or
+ functions with a more sophisticated user interface.<br/>
+ A typical example for status bar controller is a zoom chooser. It shows
+ the current zoom and provides general zoom levels on a popup menu
+ that can be activated by a mouse action for context menus.
+ <p>
+
+ @see com::sun::star::frame::XDispatchProvider
+
+ @since OOo 2.0.0
+ */
+interface XStatusbarController : ::com::sun::star::uno::XInterface
+{
+ //=============================================================================
+ /** is called by a status bar if the mouse position is within the controller
+ and a mouse button has been pressed. If the controller has captured the
+ mouse input this function is also called when the mouse position is not
+ within the controller.
+
+ @param aMouseEvent
+ current information about the mouse pointer.
+
+ @return
+ return <TRUE/> if the event should not be processed and <FALSE/>
+ if the event should be processed by the status bar.
+ */
+ boolean mouseButtonDown( [in] ::com::sun::star::awt::MouseEvent aMouseEvent );
+
+ //=============================================================================
+ /** is called by a status bar if the mouse position is within the controller
+ and a mouse has been moved. If the controller has captured the
+ mouse input this function is also called when the mouse position is not
+ within the controller.
+
+ @param aMouseEvent
+ current information about the mouse pointer.
+
+ @return
+ return <TRUE/> if the event should not be processed and <FALSE/>
+ if the event should be processed by the status bar.
+ */
+ boolean mouseMove( [in] ::com::sun::star::awt::MouseEvent aMouseEvent );
+
+ //=============================================================================
+ /** is called by a status bar if the mouse position is within the controller
+ and a mouse button has been released. If the controller has captured the
+ mouse input this function is also called when the mouse position is not
+ within the controller.
+
+ @param aMouseEvent
+ current information about the mouse pointer.
+
+ @return
+ return <TRUE/> if the event should not be processed and <FALSE/>
+ if the event should be processed by the status bar.
+ */
+ boolean mouseButtonUp( [in] ::com::sun::star::awt::MouseEvent aMouseEvent );
+
+ //=============================================================================
+ /** is called by a status bar if a command event is available for a controller.
+
+ @param aPos
+ the current mouse position in pixel.
+
+ @param nCommand
+ describes which command has been invoked.
+
+ @param bMouseEvent
+ <TRUE/> if the command is based on a mouse event, otherwise <FALSE/>.
+
+ @param aData
+ for future use only.
+ */
+ void command( [in] ::com::sun::star::awt::Point aPos,
+ [in] long nCommand,
+ [in] boolean bMouseEvent,
+ [in] any aData );
+
+ //=============================================================================
+ /** is called by a status bar if the controller has to update the visual
+ representation.
+
+ @param xGraphics
+ a reference to a <type scope="com::sun::star::awt">XGraphics</type>
+ which has to be used to update the visual representation.
+
+ @param nCommand
+ a <type scope="com::sun::star::awt">Rectangle</type> which
+ determine the output rectangle for all drawing operations
+
+ @param nItemID
+ the unique ID of the control within the status bar.
+
+ @param nStyle
+ reserved for future use.
+ */
+ void paint( [in] ::com::sun::star::awt::XGraphics xGraphics,
+ [in] ::com::sun::star::awt::Rectangle rOutputRectangle,
+ [in] long nItemId,
+ [in] long nStyle );
+
+ //=============================================================================
+ /** is called by a status bar if the user clicked with mouse into the
+ field of the corresponding control.
+ */
+ void click();
+
+ //=============================================================================
+ /** is called by a status bar if the user double-clicked with mouse
+ into the field of the corresponding control.
+ */
+ void doubleClick();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XStorable.idl b/offapi/com/sun/star/frame/XStorable.idl
new file mode 100644
index 000000000000..d93042cd3078
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStorable.idl
@@ -0,0 +1,179 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XStorable.idl,v $
+ * $Revision: 1.14 $
+ *
+ * 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_frame_XStorable_idl__
+#define __com_sun_star_frame_XStorable_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#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
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** offers a simple way to store a component to an URL.
+
+ <p>
+ It is usually only useful for two cases:
+ </p>
+ <ol>
+ <li>
+ Large components which are wrapped up in UNO interfaces
+ and for which distinct filters are not available separately as
+ components.
+ </li>
+ <li>
+ Very small components for which only one or very few hard
+ coded file format filters make sense or even exist.
+ </li>
+ </ol>
+ */
+published interface XStorable: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** The object may know the location because it was loaded from there,
+ or because it is stored there.
+
+ @returns
+ <TRUE/> if the object knows a location where it is persistent
+ <FALSE/> otherwise
+ */
+ boolean hasLocation();
+
+ //-------------------------------------------------------------------------
+ /** After <member>XStorable::storeAsURL()</member> it returns the
+ URL the object was stored to.
+
+ @returns
+ the URL of the resource which is represented by this object.
+ */
+ string getLocation();
+
+ //-------------------------------------------------------------------------
+ /** It is not possible to call <member>XStorable::store()</member> successfully
+ when the data store is read-only.
+
+ @returns
+ <TRUE/> if the data store is readonly or opened readonly
+ <FALSE/> otherwise
+ */
+ boolean isReadonly();
+
+ //-------------------------------------------------------------------------
+ /** stores the data to the URL from which it was loaded.
+
+ <p>Only objects which know their locations can be stored.</p>
+
+ @throws com::sun::star::io::IOException
+ if an IO error occured during save operation
+ (may the location is unknown)
+
+ @see XStorable::storeAsURL
+ @see XStorable::storeToURL
+ */
+ void store()
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** stores the object's persistent data to a URL and
+ makes this URL the new location of the object.
+
+ <p>This is the normal behavior for UI's "save-as" feature.</p>
+
+ <p>The change of the location makes it necessary to store the document in
+ a format that the object can load. For this reason the implementation of
+ <member>XStorable::storeAsURL()</member> will throw an exception if a pure
+ export filter is used, it will accept only combined import/export filters.
+ For such filters the method <member>XStorable::storeToURL()</member>
+ must be used that does not change the location of the object.</p>
+
+ @param sURL
+ specifies the new location of this component
+
+ @param lArguments
+ optional parameters for saving
+ (see <type scope="com::sun::star::document">MediaDescriptor</type> for further details)
+
+ @throws com::sun::star::io::IOException
+ if an IO error occured during save operation
+ (may the location is unknown)
+
+ @see XStorable::store
+ @see XStorable::storeToURL
+ @see com::sun::star::document::MediaDescriptor
+ */
+ void storeAsURL(
+ [in] string sURL,
+ [in] sequence<com::sun::star::beans::PropertyValue> lArguments )
+ raises( com::sun::star::io::IOException );
+
+ //-------------------------------------------------------------------------
+ /** stores the object's persistent data to a URL and
+ continues to be a representation of the old URL.
+
+ <p>This is the normal behavior for UI's export feature.</p>
+
+ <p>This method accepts all kinds of export filters, not only combined
+ import/export filters because it implements an exporting capability, not a
+ persistence capability.</p>
+
+ @throws com::sun::star::io::IOException
+ if an IO error occured during save operation
+ (may the location is unknown)
+
+ @param lArguments
+ optional parameters for saving
+ (see <type scope="com::sun::star::document">MediaDescriptor</type> for further details)
+
+ @see XStorable::store
+ @see XStorable::storeAsURL
+ @see com::sun::star::document::MediaDescriptor
+ */
+ void storeToURL(
+ [in] string sURL,
+ [in] sequence<com::sun::star::beans::PropertyValue> lArguments )
+ raises( com::sun::star::io::IOException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XStorable2.idl b/offapi/com/sun/star/frame/XStorable2.idl
new file mode 100644
index 000000000000..e98964f2aad6
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStorable2.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XStorable2.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_XStorable2_idl__
+#define __com_sun_star_frame_XStorable2_idl__
+
+#ifndef __com_sun_star_frame_XStorable_idl__
+#include <com/sun/star/frame/XStorable.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
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** extends <type>XStorable</type>.
+ */
+published interface XStorable2: XStorable
+{
+ /** stores the data to the URL from which it was loaded.
+
+ <p>
+ Only objects which know their locations can be stored.
+ </p>
+
+ <p>
+ This is an extention of the <method>XStorable::store()</method>.
+ This method allows to specify some additional parametes for
+ storing process.
+ </p>
+
+ @param lArguments
+ optional parameters for saving, can take values from subset of
+ <type scope="com::sun::star::document">MediaDescriptor</type>
+
+ @thrown ::com::sun::star::lang::IllegalArgumentException
+ the optional parameters contain unacceptable for save entry
+
+ @throws com::sun::star::io::IOException
+ if an IO error occured during save operation
+
+ @see XStorable::store
+ */
+ void storeSelf(
+ [in] sequence<com::sun::star::beans::PropertyValue> lArguments )
+ raises( com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::io::IOException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/frame/XSubToolbarController.idl b/offapi/com/sun/star/frame/XSubToolbarController.idl
new file mode 100644
index 000000000000..d63db5543ed5
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSubToolbarController.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XSubToolbarController.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_XSubToolbarController_idl__
+#define __com_sun_star_frame_XSubToolbarController_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** special interface to support sub-toolbars in a controller implementation.
+
+ <p>
+ This interface is normally used to implement the toolbar button/sub-
+ toolbar function feature. It exchanges the function of the toolbar
+ button, that opened the sub-toolbar, with the one that has been selected
+ on the sub-toolbar.
+ </p>
+
+ @see com::sun::star::frame::ToolbarController
+
+ @since OOo 2.0.0
+ */
+interface XSubToolbarController : com::sun::star::uno::XInterface
+{
+ //=============================================================================
+ /** if the controller features a sub-toolbar.
+
+ @return
+ <TRUE/> if the controller offers a sub toolbar, otherwise <FALSE/>.
+
+ <p>
+ Enables implementations to dynamically decide to support sub-toolbars
+ or not.
+ </p>
+ */
+ boolean opensSubToolbar();
+
+ //=============================================================================
+ /** provides the resource URL of the sub-toolbar this controller opens.
+
+ @return
+ name of the sub-toolbar this controller offers. A empty string
+ will be interpreted as if this controller offers no sub-toolbar.
+ */
+ string getSubToolbarName();
+
+ //=============================================================================
+ /** gets called to notify a controller that a sub-toolbar function has been
+ selected.
+
+ @param aCommand
+ a string which identifies the function that has been selected by
+ a user.
+ */
+ void functionSelected( [in] string aCommand );
+
+ //=============================================================================
+ /** gets called to notify a controller that it should set an image which
+ represents the current selected function.
+
+ <p>
+ Only the controller instance is able to set the correct image for the
+ current function. A toolbar implementation will ask sub-toolbar
+ controllers to update their image whenever it has to update the images
+ of all its buttons.
+ </p>
+ */
+ void updateImage();
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XSynchronousDispatch.idl b/offapi/com/sun/star/frame/XSynchronousDispatch.idl
new file mode 100644
index 000000000000..29761cc6d4ac
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSynchronousDispatch.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XSynchronousDispatch.idl,v $
+ * $Revision: 1.7 $
+ *
+ * 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_frame_XSynchronousDispatch_idl__
+#define __com_sun_star_frame_XSynchronousDispatch_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_URL_idl__
+#include <com/sun/star/util/URL.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** additional interfaces for dispatch objects: allow to execute with return value
+ @since OOo 2.0.0
+ @see XDispatch
+ */
+published interface XSynchronousDispatch: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** dispatches a URL synchronously and offers a return values
+
+ <p>
+ After getting a dispatch object as a result of a queryDispatch call, this interface can
+ be used to dispatch the URL synchronously and with a return value.
+ </p>
+
+ @param URL
+ full parsed URL wich describe the feature which should be dispatched (executed)
+
+ @param Arguments
+ optional arguments for this request
+ They depend on the real implementation of the dispatch object.
+ */
+ any dispatchWithReturnValue(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments);
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl b/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl
new file mode 100644
index 000000000000..57d71ba40b1c
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XSynchronousFrameLoader.idl,v $
+ * $Revision: 1.8 $
+ *
+ * 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_frame_XSynchronousFrameLoader_idl__
+#define __com_sun_star_frame_XSynchronousFrameLoader_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** loads a resource into a <type>Frame</type>.
+
+ <p>
+ Unlike the <type>XFrameLoader</type> interface, this loading will be synchronous.
+ </p>
+
+ @see XFrameLoader
+ */
+published interface XSynchronousFrameLoader: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** starts the loading of the specified resource into the specified <type>Frame</type>.
+
+ @param Descriptor
+ describes the ressource which should be loaded
+ It use a <type scope="com::sun::star::document">MediaDescriptor</type> for that.
+
+ @param Frame
+ the target frame which should contain the new loaded component
+
+ @return
+ <TRUE/> if loading is successfully
+ <br>
+ <FALSE/> otherwise
+ */
+ boolean load(
+ [in] sequence< com::sun::star::beans::PropertyValue > Descriptor,
+ [in] XFrame Frame );
+
+ //-------------------------------------------------------------------------
+ /** cancels the loading process.
+
+ <p>
+ No notifications (neither to the frame or the caller) must be notified.
+ Because it's a synchronous process this cancel call can be forced by
+ another thread the loader thread only. Method
+ <member>XSynchronousFrameLoader::load()</member> must return <FALSE/>
+ then and caller of this method <member>XSynchronousFrameLoader::cancel()</member>
+ already knows the state ...
+ </p>
+ */
+ void cancel();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTask.idl b/offapi/com/sun/star/frame/XTask.idl
new file mode 100644
index 000000000000..ee5f38721389
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTask.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XTask.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_XTask_idl__
+#define __com_sun_star_frame_XTask_idl__
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use <type>XFrame</type> instead of this one
+ @deprecated
+ */
+published interface XTask: XFrame
+{
+ //-------------------------------------------------------------------------
+ /** use <type scope="com::sun::star::util">XCloseable</type> or
+ <member scope="com::sun::star::lang">XComponent::dispose()</member>
+ at a <type>Frame</type> instead of this one
+ @deprecated
+ */
+ boolean close();
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void tileWindows();
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void arrangeWindowsVertical();
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void arrangeWindowsHorizontal();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTasksSupplier.idl b/offapi/com/sun/star/frame/XTasksSupplier.idl
new file mode 100644
index 000000000000..17b66dc8a700
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTasksSupplier.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XTasksSupplier.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_XTasksSupplier_idl__
+#define __com_sun_star_frame_XTasksSupplier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XTask_idl__
+#include <com/sun/star/frame/XTask.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** use <type>XFramesSupplier</type> instead of that
+ @deprecated
+ */
+published interface XTasksSupplier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** use <member>XFramesSupplier::getFrames()</member> instead of this one
+ @deprecated
+ */
+ com::sun::star::container::XEnumerationAccess getTasks();
+
+ //-------------------------------------------------------------------------
+ /** use <member>XFramesSupplier::getActiveFrame()</member> instead of this one
+ @deprecated
+ */
+ XTask getActiveTask();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTerminateListener.idl b/offapi/com/sun/star/frame/XTerminateListener.idl
new file mode 100644
index 000000000000..f141af78ef10
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTerminateListener.idl
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XTerminateListener.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XTerminateListener_idl__
+#define __com_sun_star_frame_XTerminateListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+#ifndef __com_sun_star_frame_TerminationVetoException_idl__
+#include <com/sun/star/frame/TerminationVetoException.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** has to be provided if an object wants to receive an event
+ when the master environment (e.g., desktop) is terminated.
+
+ @see XDesktop::terminate()
+ @see XDesktop::addTerminateListener()
+ @see XDesktop::removeTerminateListener()
+ */
+published interface XTerminateListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** is called when the master environment (e.g., desktop) is about to terminate.
+
+ <p>
+ Termination can be intercepted by throwing <type>TerminationVetoException</type>.
+ Interceptor will be the new owner of desktop and should call <member>XDesktop::terminate()</member>
+ after finishing his own operations.
+ </p>
+
+ @param Event
+ describe the source of the event (e.g., the desktop)
+
+ @throws TerminationVetoException
+ listener can disagree with this query by throwing this veto exception
+ */
+ void queryTermination( [in] com::sun::star::lang::EventObject Event )
+ raises( TerminationVetoException );
+
+ //-------------------------------------------------------------------------
+ /** is called when the master environment is finally terminated.
+ Not veto will be accepted then.
+
+ @param Event
+ describe the source of the event (e.g., the desktop)
+ */
+ void notifyTermination( [in] com::sun::star::lang::EventObject Event );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTerminateListener2.idl b/offapi/com/sun/star/frame/XTerminateListener2.idl
new file mode 100644
index 000000000000..ac5acdc0c38f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTerminateListener2.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XTerminateListener2.idl,v $
+ * $Revision: 1.3 $
+ *
+ * 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_frame_XTerminateListener2_idl__
+#define __com_sun_star_frame_XTerminateListener2_idl__
+
+#ifndef __com_sun_star_frame_XTerminateListener_idl__
+#include <com/sun/star/frame/XTerminateListener.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** extend interface XTerminateListener so a listener will be informed
+ in case termination process was cancelled by other reasons.
+ */
+interface XTerminateListener2 : ::com::sun::star::frame::XTerminateListener
+{
+ //-------------------------------------------------------------------------
+ /** is called when the master environment (e.g., desktop) was cancelled in
+ it's terminate request.
+
+ <p>
+ Termination can be intercepted by throwing <type>TerminationVetoException</type>.
+ But if a listener was queried for termination .. doesnt throwed a veto exception ...
+ it doesnt know if termination will be real next time.
+ Because any other listener can throw those exception too ... and so it can happen
+ that after queryTermination() no notifyTermination() will occure. But these listener
+ doesnt know if its allowed to start new processes then.
+ Using this optional(!) interface will make it possible to be informed about
+ cancelled termination requests also.
+ </p>
+
+ @param Event
+ describe the source of the event (e.g., the desktop)
+ */
+ void cancelTermination( [in] com::sun::star::lang::EventObject Event );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTitle.idl b/offapi/com/sun/star/frame/XTitle.idl
new file mode 100644
index 000000000000..5b0e8c6a64ae
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitle.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XTitle.idl,v $
+ *
+ * $Revision: 1.3 $
+ *
+ * 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_frame_XTitle_idl__
+#define __com_sun_star_frame_XTitle_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** todo document me
+ */
+interface XTitle : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ string getTitle ();
+
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ void setTitle ( [in] string sTitle );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl b/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl
new file mode 100644
index 000000000000..41467a3efd31
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XTitleChangeBroadcaster.idl,v $
+ *
+ * $Revision: 1.3 $
+ *
+ * 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_frame_XTitleChangeBroadcaster_idl__
+#define __com_sun_star_frame_XTitleChangeBroadcaster_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XTitleChangeListener_idl__
+#include <com/sun/star/frame/XTitleChangeListener.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** todo document me
+ */
+interface XTitleChangeBroadcaster : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ void addTitleChangeListener ( [in] com::sun::star::frame::XTitleChangeListener xListener );
+
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ void removeTitleChangeListener ( [in] com::sun::star::frame::XTitleChangeListener xListener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTitleChangeListener.idl b/offapi/com/sun/star/frame/XTitleChangeListener.idl
new file mode 100644
index 000000000000..380af8d04770
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitleChangeListener.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XTitleChangeListener.idl,v $
+ *
+ * $Revision: 1.3 $
+ *
+ * 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_frame_XTitleChangeListener_idl__
+#define __com_sun_star_frame_XTitleChangeListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_frame_TitleChangedEvent_idl__
+#include <com/sun/star/frame/TitleChangedEvent.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** todo document me
+ */
+interface XTitleChangeListener : com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** todo document me
+ */
+ void titleChanged ( [in] TitleChangedEvent aEvent );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XToolbarController.idl b/offapi/com/sun/star/frame/XToolbarController.idl
new file mode 100644
index 000000000000..a399eacae6c0
--- /dev/null
+++ b/offapi/com/sun/star/frame/XToolbarController.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XToolbarController.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_XToolbarController_idl__
+#define __com_sun_star_frame_XToolbarController_idl__
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+#ifndef __com_sun_star_awt_KeyModifier_idl__
+#include <com/sun/star/awt/KeyModifier.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** is an abstract service for a component which offers a more complex user interface
+ to users within a toolbar.
+
+ <p>
+ A generic toolbar function is represented as a button which has a state
+ (enabled,disabled and selected, not selected). A toolbar controller can be added to a
+ toolbar and provide information or functions with a more sophisticated user interface.<br/>
+ A typical example for toolbar controller is a font chooser on a toolbar. It provides
+ all available fonts in a dropdown box and shows the current chosen font.
+ <p>
+
+ @see com::sun::star::frame::XDispatchProvider
+
+ @since OOo 2.0.0
+ */
+interface XToolbarController : com::sun::star::uno::XInterface
+{
+ //=============================================================================
+ /** provides a function to execute the command which is bound to the toolbar controller.
+
+ @param
+ a combination of <type scope="com::sun::star::awt">KeyModifier</type> value that represent
+ the current state of the modifier keys.
+
+ <p>
+ This function is usally called by a toolbar implementation when a user clicked on a toolbar button
+ or pressed enter on the keyboard when the item has the input focus.
+ </p>
+ */
+ void execute( [in] short KeyModifier );
+
+ //=============================================================================
+ /** notifies a component that a single click has been made on the toolbar item.
+ */
+ void click();
+
+ //=============================================================================
+ /** notifies a component that a double click has been made on the toolbar item.
+ */
+ void doubleClick();
+
+ //=============================================================================
+ /** requests to create a popup window for additional functions.
+
+ @return
+ a <type scope="com::sun::star::awt">XWindow</type> which provides additional functions
+ to the user. The reference must be empty if component does not want to provide a separate
+ window.
+ */
+ com::sun::star::awt::XWindow createPopupWindow();
+
+ //=============================================================================
+ /** requests to create an item window which can be added to the toolbar.
+
+ @param Parent
+ a <type scope="com::sun::star::awt">XWindow</type> which must be used as a parent
+ for the requested item window.
+
+ @return
+ a <type scope="com::sun::star::awt">XWindow</type> which can be added to a toolbar.
+ The reference must be empty if a component does not want to provide an item window.
+ */
+ com::sun::star::awt::XWindow createItemWindow( [in] com::sun::star::awt::XWindow Parent );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XToolbarControllerListener.idl b/offapi/com/sun/star/frame/XToolbarControllerListener.idl
new file mode 100644
index 000000000000..e548cff31e0a
--- /dev/null
+++ b/offapi/com/sun/star/frame/XToolbarControllerListener.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XToolbarControllerListener.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_XToolbarControllerListener_idl__
+#define __com_sun_star_frame_XToolbarControllerListener_idl__
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** is used to notify a toolbar controller about events
+
+ @see com::sun::star::frame::ToolbarController
+
+ @since OOo 2.0.0
+ */
+interface XToolbarControllerListener : com::sun::star::uno::XInterface
+{
+ //=============================================================================
+ /** gets called to notify a controller that a toolbar function has been selected.
+
+ @param aToolbarRes
+ a string which identifies the toolbar where the function has been selected.
+
+ @param aCommand
+ a string which identifies the function that has been selected.
+
+ <p>
+ This notification is normally used to implement the toolbar button/sub-toolbar
+ function feature. It exchanges the function of the toolbar button, that opened
+ the sub-toolbar, with the one that has been selected on the sub-toolbar.
+ </p>
+ */
+ void functionSelected( [in] string aToolbarRes, [in] string aCommand );
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl
new file mode 100644
index 000000000000..a4489ae36e32
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl
@@ -0,0 +1,95 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XTransientDocumentsDocumentContentFactory.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_XTransientDocumentsDocumentContentFactory_idl__
+#define __com_sun_star_frame_XTransientDocumentsDocumentContentFactory_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ucb_XContent_idl__
+#include <com/sun/star/ucb/XContent.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XModel_idl__
+#include <com/sun/star/frame/XModel.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** specifies a factory for
+ <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>s.
+
+ @version 1.0
+ @author Kai Sommerfeld
+ @see com::sun::star::document::OfficeDocument
+ @see com::sun::star::ucb::TransientDocumentsDocumentContent
+
+ @since OOo 2.0.0
+*/
+interface XTransientDocumentsDocumentContentFactory : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** creates a
+ <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>
+ based on a given <type scope="com::sun::star::document">OfficeDocument</type>.
+
+ @param Model
+ the document model for that a
+ <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>
+ is requested. The model must be an implementation of service
+ <type scope="com::sun::star::document">OfficeDocument</type>.
+
+ @returns
+ a document content based on the given document model. The content must
+ be an implementation of service
+ <type scope="com::sun::star::ucb">TransientDocumentsDocumentContent</type>.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the document model cannot be associated with content for any reason.
+ */
+ com::sun::star::ucb::XContent createDocumentContent(
+ [in] com::sun::star::frame::XModel Model )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XUIControllerRegistration.idl b/offapi/com/sun/star/frame/XUIControllerRegistration.idl
new file mode 100644
index 000000000000..072ef5fd9066
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUIControllerRegistration.idl
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XUIControllerRegistration.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_XUIControllerRegistration_idl__
+#define __com_sun_star_frame_XUIControllerRegistration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** is used to query, register and unregister user interface controller.
+
+ <p>
+ A user interface controller can be registered for a command URL. A certain user
+ interface controller will be created when a user interface element contains a
+ registered command URL.
+
+ @see PopupMenuControllerFactory
+ </p>
+
+ @since OOo 2.0
+ */
+
+published interface XUIControllerRegistration : com::sun::star::uno::XInterface
+{
+ /** function to check if an user interface controller is registered
+ for a command URL and optional module.
+
+ @returns
+ true if a controller was registered for the combination of command URL
+ and model name.
+
+ @param aCommandURL
+ a command URL which specifies an action.
+
+ @param aModelName
+ an optional name of an OpenOffice model service. This value can remain empty if
+ no model service name was specified.
+ */
+ boolean hasController( [in] string aCommandURL, [in] string aModelName );
+
+ /** function to create an association between a user interface controller implementation
+ and a command URL and optional module.
+
+ @param aCommandURL
+ a command URL which specifies an action which shoudl be associated with a user
+ interface controller.
+
+ @param aModelName
+ an optional name of an OpenOffice model service. This value can remain empty if
+ no model service name was specified.
+
+ @param aControllerImplementationName
+ a UNO implementation name that can be used to create a user interface controller
+ with the OpenOffice service manager.
+ */
+ void registerController( [in] string aCommandURL, [in] string aModelName, [in] string aControllerImplementationName );
+
+ /** function to remove a previously defined association between a user interface controller
+ implementation and a command URL and optional module.
+
+ @param aCommandURL
+ a command URL which specifies an action which shoudl be associated with a user
+ interface controller.
+
+ @param aModelName
+ an optional name of an OpenOffice model service. This value can remain empty if
+ no model service name was specified.
+ */
+ void deregisterController( [in] string aCommandURL, [in] string aModelName );
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/frame/XUntitledNumbers.idl b/offapi/com/sun/star/frame/XUntitledNumbers.idl
new file mode 100644
index 000000000000..b4306c8c6b19
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUntitledNumbers.idl
@@ -0,0 +1,122 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XUntitledNumbers.idl,v $
+ *
+ * $Revision: 1.3 $
+ *
+ * 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_frame_XUntitledNumbers_idl__
+#define __com_sun_star_frame_XUntitledNumbers_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+constants UntitledNumbersConst
+{
+ const long INVALID_NUMBER = 0;
+};
+
+//=============================================================================
+/** knows all currently used and all free numbers for using with untitled
+ but counted objects.
+ */
+interface XUntitledNumbers : com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** calli has to lease a number befor he can use it within in its own title.
+
+ Such number must be freed after using e.g. while the object was closed or
+ get's another title (e.g. by saving a document to a real location on disc).
+
+ @param xComponent
+ the component which has to be registered for the leased number.
+
+ @return the new number for these object or 0 if no further numbers are available.
+
+ @throws [IllegalArgumentException]
+ if an invalid object reference was provided to this method.
+ */
+ long leaseNumber ( [in] com::sun::star::uno::XInterface xComponent )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------------------------------------
+ /** has to be used to mark those number as "free for using".
+
+ If the reqistered component does not use such leased number any longer
+ it has to be released so it can be used for new components.
+
+ Note: calling this method with an unknown (but normaly valid number)
+ has to be ignored. No exceptions - no errors.
+
+ @param nNumber
+ specify number for release.
+
+ @throws [IllegalArgumentException]
+ if the given number is the special value 0.
+ */
+ void releaseNumber ( [in] long nNumber )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------------------------------------
+ /** does the same then releaseNumber () but it searches the corresponding
+ number for the specified component and deregister it.
+
+ @param xComponent
+ the component for deregistration.
+
+ @throws [IllegalArgumentException]
+ if an invalid object reference was provided to this method.
+ */
+ void releaseNumberForComponent ( [in] com::sun::star::uno::XInterface xComponent )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------------------------------------
+ /** returns the localized string value to be used for untitles objects in
+ combination with the leased number.
+
+ Note: Such string already contains leading spaces/tabs etcpp. !
+ The only thing which an outside code has todo then ... adding a leased number
+ to the string.
+
+ @return the localized string for untitled components.
+ */
+ string getUntitledPrefix ();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XUrlList.idl b/offapi/com/sun/star/frame/XUrlList.idl
new file mode 100644
index 000000000000..7818c4f8ec6b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUrlList.idl
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XUrlList.idl,v $
+ * $Revision: 1.10 $
+ *
+ * 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_frame_XUrlList_idl__
+#define __com_sun_star_frame_XUrlList_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+/** @deprecated
+*/
+published interface XUrlList: com::sun::star::uno::XInterface
+{
+ /** - */
+ [attribute] sequence<string> List;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/XWindowArranger.idl b/offapi/com/sun/star/frame/XWindowArranger.idl
new file mode 100644
index 000000000000..0bc89de751bd
--- /dev/null
+++ b/offapi/com/sun/star/frame/XWindowArranger.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: XWindowArranger.idl,v $
+ * $Revision: 1.9 $
+ *
+ * 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_frame_XWindowArranger_idl__
+#define __com_sun_star_frame_XWindowArranger_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+/** @deprecated
+ */
+published interface XWindowArranger: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ boolean hasArrangeCommand( [in] short nCommand );
+
+ //-------------------------------------------------------------------------
+ /** @deprecated
+ */
+ [oneway] void arrange( [in] short nCommand );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/makefile.mk b/offapi/com/sun/star/frame/makefile.mk
new file mode 100644
index 000000000000..789a0f6e499e
--- /dev/null
+++ b/offapi/com/sun/star/frame/makefile.mk
@@ -0,0 +1,169 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2008 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# $RCSfile: makefile.mk,v $
+#
+# $Revision: 1.36 $
+#
+# 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=cssframe
+PACKAGE=com$/sun$/star$/frame
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ BorderWidths.idl\
+ CommandGroup.idl\
+ Components.idl\
+ ContentHandler.idl\
+ ContentHandlerFactory.idl\
+ ControlCommand.idl\
+ ControlEvent.idl\
+ Controller.idl\
+ Desktop.idl\
+ DesktopTask.idl\
+ DesktopTasks.idl\
+ DispatchDescriptor.idl\
+ DispatchHelper.idl\
+ DispatchInformation.idl\
+ DispatchProvider.idl\
+ DispatchRecorder.idl\
+ DispatchRecorderSupplier.idl\
+ DispatchResultState.idl\
+ DispatchResultEvent.idl\
+ DispatchStatement.idl\
+ DocumentTemplates.idl\
+ DoubleInitializationException.idl\
+ FeatureStateEvent.idl\
+ Frame.idl\
+ FrameAction.idl\
+ FrameActionEvent.idl\
+ FrameControl.idl\
+ FrameLoader.idl\
+ FrameLoaderFactory.idl\
+ FramesContainer.idl\
+ FrameSearchFlag.idl\
+ IllegalArgumentIOException.idl\
+ LayoutManager.idl\
+ LayoutManagerEvents.idl\
+ MediaTypeDetectionHelper.idl\
+ ModuleManager.idl\
+ PopupMenuController.idl\
+ PopupMenuControllerFactory.idl\
+ ProtocolHandler.idl\
+ SessionManager.idl\
+ Settings.idl\
+ SynchronousFrameLoader.idl\
+ StatusbarController.idl\
+ StatusbarControllerFactory.idl\
+ Task.idl\
+ TemplateAccess.idl\
+ TerminationVetoException.idl\
+ TitleChangedEvent.idl\
+ ToolbarController.idl\
+ TransientDocumentsDocumentContentFactory.idl \
+ UnknownModuleException.idl\
+ WindowArrange.idl\
+ XBorderResizeListener.idl\
+ XBrowseHistoryRegistry.idl\
+ XComponentLoader.idl\
+ XComponentRegistry.idl\
+ XConfigManager.idl\
+ XController.idl\
+ XController2.idl\
+ XControlNotificationListener.idl\
+ XControllerBorder.idl\
+ XDesktop.idl\
+ XDesktopTask.idl\
+ XDispatch.idl\
+ XDispatchHelper.idl\
+ XDispatchInformationProvider.idl\
+ XDispatchProvider.idl\
+ XDispatchProviderInterception.idl\
+ XDispatchProviderInterceptor.idl\
+ XDispatchRecorder.idl\
+ XDispatchRecorderSupplier.idl\
+ XDispatchResultListener.idl\
+ XDocumentTemplates.idl\
+ XExtendedFilterDetection.idl\
+ XFilterDetect.idl\
+ XFrame.idl\
+ XFrameActionListener.idl\
+ XFrameLoader.idl\
+ XFrameLoaderQuery.idl\
+ XFrames.idl\
+ XFrameSetModel.idl\
+ XFramesSupplier.idl\
+ XInplaceLayout.idl\
+ XInterceptorInfo.idl\
+ XLayoutManager.idl\
+ XLayoutManagerEventBroadcaster.idl\
+ XLayoutManagerListener.idl\
+ XLoadable.idl\
+ XLoadEventListener.idl\
+ XMenuBarAcceptor.idl\
+ XMenuBarMergingAcceptor.idl\
+ XModel.idl\
+ XModel2.idl\
+ XModule.idl\
+ XModuleManager.idl\
+ XNotifyingDispatch.idl\
+ XPopupMenuController.idl\
+ XRecordableDispatch.idl\
+ XSessionManagerClient.idl\
+ XSessionManagerListener.idl\
+ XStatusListener.idl\
+ XStatusbarController.idl\
+ XStorable.idl\
+ XSubToolbarController.idl\
+ XStorable2.idl\
+ XSynchronousDispatch.idl\
+ XSynchronousFrameLoader.idl\
+ XTask.idl\
+ XTasksSupplier.idl\
+ XTerminateListener.idl\
+ XTerminateListener2.idl\
+ XTitle.idl\
+ XTitleChangeBroadcaster.idl\
+ XTitleChangeListener.idl\
+ XToolbarController.idl\
+ XTransientDocumentsDocumentContentFactory.idl\
+ XUIControllerRegistration.idl\
+ XUntitledNumbers.idl\
+ XUrlList.idl\
+ XWindowArranger.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
diff --git a/offapi/com/sun/star/frame/status/ClipboardFormats.idl b/offapi/com/sun/star/frame/status/ClipboardFormats.idl
new file mode 100644
index 000000000000..f634fd054c62
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ClipboardFormats.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ClipboardFormats.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_status_ClipboardFormats_idl__
+#define __com_sun_star_frame_status_ClipboardFormats_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame { module status {
+
+//=============================================================================
+
+/** contains a list of format ID's and names which are part of the
+ system clipboard.
+
+ @since OOo 2.0
+ */
+struct ClipboardFormats
+{
+ //-------------------------------------------------------------------------
+
+ /** specifies a sequence of format IDs which are contained in the
+ system clipboard.
+ */
+ sequence< hyper > Identifiers;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a sequence of format names which are contained in the
+ system clipboard.
+ */
+ sequence< string > Names;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/status/FontHeight.idl b/offapi/com/sun/star/frame/status/FontHeight.idl
new file mode 100644
index 000000000000..7c2fafe9ba7d
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/FontHeight.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: FontHeight.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_status_FontHeight_idl__
+#define __com_sun_star_frame_status_FontHeight_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame { module status {
+
+//=============================================================================
+
+/** describes the characteristics of a font.
+
+ <p>For example, this can be used to select a font.</p>
+
+ @since OOo 2.0
+ */
+struct FontHeight
+{
+ //-------------------------------------------------------------------------
+
+ /** specifies the current height of the font.
+ */
+ float Height;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the height of the font in the measure of the
+ destination.
+ */
+ short Prop;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the width of the font in the measure of the
+ destination.
+ */
+ float Diff;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/status/ItemState.idl b/offapi/com/sun/star/frame/status/ItemState.idl
new file mode 100644
index 000000000000..9857ed5a80ba
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ItemState.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ItemState.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_status_ItemState_idl__
+#define __com_sun_star_frame_status_ItemState_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame { module status {
+
+//=============================================================================
+
+/** these constants describe a state of a <type>ItemStatus</type>.
+
+ @see ItemStatus
+
+ @since OOo 2.0
+ */
+constants ItemState
+{
+ //-------------------------------------------------------------------------
+ /** specifies an unknown state.
+ */
+ const short unknown = 0;
+
+ //-------------------------------------------------------------------------
+ /** specifies that the property is currently disabled.
+ */
+ const short disabled = 1;
+
+ //-------------------------------------------------------------------------
+ /** specifies that the property is currently read-only.
+ */
+ const short read_only = 2;
+
+ //-------------------------------------------------------------------------
+ /** specifies that the property is currently in a don't care state.
+
+ <p>
+ This is normally used if a selection provides more than one state
+ for a property at the same time.
+ </p>
+ */
+ const short dont_care = 16;
+
+ //-------------------------------------------------------------------------
+ /** specifies that the property is currently in a default state.
+ */
+ const short default_value = 32;
+
+ //-------------------------------------------------------------------------
+ /** specifies that the property is currently in a set state.
+ */
+ const short set = 64;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/status/ItemStatus.idl b/offapi/com/sun/star/frame/status/ItemStatus.idl
new file mode 100644
index 000000000000..4d003f1bcbdf
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ItemStatus.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: ItemStatus.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_status_ItemState_idl__
+#define __com_sun_star_frame_status_ItemState_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module frame { module status {
+
+//=============================================================================
+
+/** describes a state of a property.
+
+ @since OOo 2.0
+ */
+struct ItemStatus
+{
+ //-------------------------------------------------------------------------
+
+ /** numerical value which describes the current state of an item.
+
+ @see <type>ItemState</type>
+ */
+ short State;
+
+ //-------------------------------------------------------------------------
+
+ /** optional data which can be used by an implementation to send additional
+ information. The content is dependent on the specific implementation.
+ */
+ any aStateData;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/status/LeftRightMargin.idl b/offapi/com/sun/star/frame/status/LeftRightMargin.idl
new file mode 100644
index 000000000000..a74336e52e03
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/LeftRightMargin.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: LeftRightMargin.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_status_LeftRightMargin_idl__
+#define __com_sun_star_frame_status_LeftRightMargin_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame { module status {
+
+//=============================================================================
+
+/** specifies a left and right margin.
+
+ @since OOo 2.0
+ */
+struct LeftRightMargin
+{
+ /** specifies a left side margin in 1/100th mm.
+ */
+ long Left;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a right side margin in 1/100th mm.
+ */
+ long Right;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/status/Template.idl b/offapi/com/sun/star/frame/status/Template.idl
new file mode 100644
index 000000000000..23353450697a
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Template.idl
@@ -0,0 +1,63 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: Template.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_status_Template_idl__
+#define __com_sun_star_frame_status_Template_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame { module status {
+
+//=============================================================================
+
+/** contains an association between a style name and a value.
+
+ @since OOo 2.0
+ */
+struct Template
+{
+ //-------------------------------------------------------------------------
+
+ /** specifies a style name.
+ */
+ string StyleName;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a value that is bound to the style name.
+ */
+ long Value;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/status/UpperLowerMargin.idl b/offapi/com/sun/star/frame/status/UpperLowerMargin.idl
new file mode 100644
index 000000000000..ef6a3e62f553
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/UpperLowerMargin.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: UpperLowerMargin.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_status_UpperLowerMargin_idl__
+#define __com_sun_star_frame_status_UpperLowerMargin_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame { module status {
+
+//=============================================================================
+
+/** specifies an upper and lower margin.
+
+ @since OOo 2.0
+ */
+struct UpperLowerMargin
+{
+ /** specifies a upper margin in 1/100th mm.
+ */
+ long Upper;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a lower margin in 1/100th mm.
+ */
+ long Lower;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl b/offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl
new file mode 100644
index 000000000000..1f3906aa1568
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl
@@ -0,0 +1,73 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: UpperLowerMarginScale.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_status_UpperLowerMarginScale_idl__
+#define __com_sun_star_frame_status_UpperLowerMarginScale_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame { module status {
+
+//=============================================================================
+
+/** specifies an upper and lower margin.
+
+ @since OOo 2.0
+ */
+struct UpperLowerMarginScale
+{
+ /** specifies a upper margin in 1/100th mm.
+ */
+ long Upper;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a lower margin in 1/100th mm.
+ */
+ long Lower;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a scale value for the upper margin.
+ */
+ short ScaleUpper;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies a scale value for the lower margin.
+ */
+ short ScaleLower;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/status/Verb.idl b/offapi/com/sun/star/frame/status/Verb.idl
new file mode 100644
index 000000000000..236919392288
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Verb.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: Verb.idl,v $
+ * $Revision: 1.4 $
+ *
+ * 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_frame_status_Verb_idl__
+#define __com_sun_star_frame_status_Verb_idl__
+
+
+//=============================================================================
+
+module com { module sun { module star { module frame { module status {
+
+//=============================================================================
+
+/** describes a command that can be send to an OLE object
+
+ <p>For example, this can be used to select a font.</p>
+
+ @since OOo 2.0
+ */
+struct Verb
+{
+ //-------------------------------------------------------------------------
+
+ /** specifies the Id of the command.
+ */
+ long VerbId;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies the name of the command. The name is localized.
+ */
+ string VerbName;
+
+ //-------------------------------------------------------------------------
+
+ /** specifies if the command should be visible in a menu.
+ */
+ boolean VerbIsOnMenu;
+
+ /** specifies if the command is available for a constant object.
+ */
+ boolean VerbIsConst;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/status/Visibility.idl b/offapi/com/sun/star/frame/status/Visibility.idl
new file mode 100644
index 000000000000..8df5b6c933e5
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Visibility.idl
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2008 by Sun Microsystems, Inc.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * $RCSfile: Visibility.idl,v $
+ * $Revision: 1.5 $
+ *
+ * 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_frame_status_Visibility_idl__
+#define __com_sun_star_frame_status_Visiblilty_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module frame { module status {
+
+//=============================================================================
+
+/** describes the visibility state of a property.
+
+ @since OOo 2.0
+ */
+struct Visibility
+{
+ //-------------------------------------------------------------------------
+
+ /** <TRUE/> if the property is visible otherwise <FALSE/>.
+ */
+ boolean bVisible;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/status/makefile.mk b/offapi/com/sun/star/frame/status/makefile.mk
new file mode 100644
index 000000000000..2c17f6780359
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/makefile.mk
@@ -0,0 +1,59 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2008 by Sun Microsystems, Inc.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# $RCSfile: makefile.mk,v $
+#
+# $Revision: 1.7 $
+#
+# 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=cssfstatus
+PACKAGE=com$/sun$/star$/frame$/status
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ FontHeight.idl \
+ Verb.idl \
+ ClipboardFormats.idl \
+ LeftRightMargin.idl \
+ UpperLowerMargin.idl \
+ UpperLowerMarginScale.idl \
+ Template.idl \
+ ItemStatus.idl \
+ ItemState.idl \
+ Visibility.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk