summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/frame
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/frame
parentInitial commit. (diff)
downloadlibreoffice-upstream.tar.xz
libreoffice-upstream.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--offapi/com/sun/star/frame/AppDispatchProvider.idl37
-rw-r--r--offapi/com/sun/star/frame/AutoRecovery.idl40
-rw-r--r--offapi/com/sun/star/frame/Bibliography.idl37
-rw-r--r--offapi/com/sun/star/frame/BorderWidths.idl54
-rw-r--r--offapi/com/sun/star/frame/CommandGroup.idl144
-rw-r--r--offapi/com/sun/star/frame/Components.idl49
-rw-r--r--offapi/com/sun/star/frame/ContentHandler.idl58
-rw-r--r--offapi/com/sun/star/frame/ContentHandlerFactory.idl45
-rw-r--r--offapi/com/sun/star/frame/ControlCommand.idl54
-rw-r--r--offapi/com/sun/star/frame/ControlEvent.idl59
-rw-r--r--offapi/com/sun/star/frame/Controller.idl95
-rw-r--r--offapi/com/sun/star/frame/Desktop.idl39
-rw-r--r--offapi/com/sun/star/frame/DesktopTask.idl80
-rw-r--r--offapi/com/sun/star/frame/DesktopTasks.idl39
-rw-r--r--offapi/com/sun/star/frame/DispatchDescriptor.idl79
-rw-r--r--offapi/com/sun/star/frame/DispatchHelper.idl49
-rw-r--r--offapi/com/sun/star/frame/DispatchInformation.idl54
-rw-r--r--offapi/com/sun/star/frame/DispatchProvider.idl70
-rw-r--r--offapi/com/sun/star/frame/DispatchRecorder.idl51
-rw-r--r--offapi/com/sun/star/frame/DispatchRecorderSupplier.idl51
-rw-r--r--offapi/com/sun/star/frame/DispatchResultEvent.idl57
-rw-r--r--offapi/com/sun/star/frame/DispatchResultState.idl48
-rw-r--r--offapi/com/sun/star/frame/DispatchStatement.idl78
-rw-r--r--offapi/com/sun/star/frame/DocumentTemplates.idl40
-rw-r--r--offapi/com/sun/star/frame/DoubleInitializationException.idl41
-rw-r--r--offapi/com/sun/star/frame/FeatureStateEvent.idl76
-rw-r--r--offapi/com/sun/star/frame/Frame.idl48
-rw-r--r--offapi/com/sun/star/frame/FrameAction.idl134
-rw-r--r--offapi/com/sun/star/frame/FrameActionEvent.idl50
-rw-r--r--offapi/com/sun/star/frame/FrameControl.idl63
-rw-r--r--offapi/com/sun/star/frame/FrameLoader.idl79
-rw-r--r--offapi/com/sun/star/frame/FrameLoaderFactory.idl45
-rw-r--r--offapi/com/sun/star/frame/FrameSearchFlag.idl112
-rw-r--r--offapi/com/sun/star/frame/FramesContainer.idl49
-rw-r--r--offapi/com/sun/star/frame/GlobalEventBroadcaster.idl40
-rw-r--r--offapi/com/sun/star/frame/IllegalArgumentIOException.idl41
-rw-r--r--offapi/com/sun/star/frame/InfobarType.idl38
-rw-r--r--offapi/com/sun/star/frame/LayoutManager.idl59
-rw-r--r--offapi/com/sun/star/frame/LayoutManagerEvents.idl117
-rw-r--r--offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl44
-rw-r--r--offapi/com/sun/star/frame/ModuleManager.idl44
-rw-r--r--offapi/com/sun/star/frame/OfficeFrameLoader.idl37
-rw-r--r--offapi/com/sun/star/frame/PopupMenuController.idl124
-rw-r--r--offapi/com/sun/star/frame/PopupMenuControllerFactory.idl40
-rw-r--r--offapi/com/sun/star/frame/ProtocolHandler.idl82
-rw-r--r--offapi/com/sun/star/frame/SessionListener.idl44
-rw-r--r--offapi/com/sun/star/frame/SessionManager.idl75
-rw-r--r--offapi/com/sun/star/frame/Settings.idl39
-rw-r--r--offapi/com/sun/star/frame/StartModule.idl41
-rw-r--r--offapi/com/sun/star/frame/StatusbarController.idl54
-rw-r--r--offapi/com/sun/star/frame/StatusbarControllerFactory.idl40
-rw-r--r--offapi/com/sun/star/frame/SynchronousFrameLoader.idl79
-rw-r--r--offapi/com/sun/star/frame/Task.idl62
-rw-r--r--offapi/com/sun/star/frame/TaskCreator.idl37
-rw-r--r--offapi/com/sun/star/frame/TemplateAccess.idl46
-rw-r--r--offapi/com/sun/star/frame/TerminationVetoException.idl54
-rw-r--r--offapi/com/sun/star/frame/TitleChangedEvent.idl41
-rw-r--r--offapi/com/sun/star/frame/ToolbarController.idl120
-rw-r--r--offapi/com/sun/star/frame/ToolbarControllerFactory.idl40
-rw-r--r--offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl44
-rw-r--r--offapi/com/sun/star/frame/UICommandDescription.idl42
-rw-r--r--offapi/com/sun/star/frame/UnknownModuleException.idl41
-rw-r--r--offapi/com/sun/star/frame/UntitledNumbersConst.idl34
-rw-r--r--offapi/com/sun/star/frame/WindowArrange.idl59
-rw-r--r--offapi/com/sun/star/frame/XAppDispatchProvider.idl42
-rw-r--r--offapi/com/sun/star/frame/XBorderResizeListener.idl51
-rw-r--r--offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl50
-rw-r--r--offapi/com/sun/star/frame/XComponentLoader.idl168
-rw-r--r--offapi/com/sun/star/frame/XComponentRegistry.idl45
-rw-r--r--offapi/com/sun/star/frame/XConfigManager.idl101
-rw-r--r--offapi/com/sun/star/frame/XControlNotificationListener.idl50
-rw-r--r--offapi/com/sun/star/frame/XController.idl107
-rw-r--r--offapi/com/sun/star/frame/XController2.idl77
-rw-r--r--offapi/com/sun/star/frame/XControllerBorder.idl69
-rw-r--r--offapi/com/sun/star/frame/XDesktop.idl136
-rw-r--r--offapi/com/sun/star/frame/XDesktop2.idl94
-rw-r--r--offapi/com/sun/star/frame/XDesktopTask.idl54
-rw-r--r--offapi/com/sun/star/frame/XDispatch.idl156
-rw-r--r--offapi/com/sun/star/frame/XDispatchHelper.idl78
-rw-r--r--offapi/com/sun/star/frame/XDispatchInformationProvider.idl72
-rw-r--r--offapi/com/sun/star/frame/XDispatchProvider.idl87
-rw-r--r--offapi/com/sun/star/frame/XDispatchProviderInterception.idl74
-rw-r--r--offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl85
-rw-r--r--offapi/com/sun/star/frame/XDispatchRecorder.idl124
-rw-r--r--offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl110
-rw-r--r--offapi/com/sun/star/frame/XDispatchResultListener.idl49
-rw-r--r--offapi/com/sun/star/frame/XDocumentTemplates.idl195
-rw-r--r--offapi/com/sun/star/frame/XExtendedFilterDetection.idl51
-rw-r--r--offapi/com/sun/star/frame/XFilterDetect.idl45
-rw-r--r--offapi/com/sun/star/frame/XFrame.idl357
-rw-r--r--offapi/com/sun/star/frame/XFrame2.idl145
-rw-r--r--offapi/com/sun/star/frame/XFrameActionListener.idl55
-rw-r--r--offapi/com/sun/star/frame/XFrameLoader.idl87
-rw-r--r--offapi/com/sun/star/frame/XFrameLoaderQuery.idl63
-rw-r--r--offapi/com/sun/star/frame/XFrameSetModel.idl45
-rw-r--r--offapi/com/sun/star/frame/XFrames.idl85
-rw-r--r--offapi/com/sun/star/frame/XFramesSupplier.idl92
-rw-r--r--offapi/com/sun/star/frame/XGlobalEventBroadcaster.idl56
-rw-r--r--offapi/com/sun/star/frame/XInfobarProvider.idl146
-rw-r--r--offapi/com/sun/star/frame/XInterceptorInfo.idl61
-rw-r--r--offapi/com/sun/star/frame/XLayoutManager.idl479
-rw-r--r--offapi/com/sun/star/frame/XLayoutManager2.idl88
-rw-r--r--offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl58
-rw-r--r--offapi/com/sun/star/frame/XLayoutManagerListener.idl61
-rw-r--r--offapi/com/sun/star/frame/XLoadEventListener.idl55
-rw-r--r--offapi/com/sun/star/frame/XLoadable.idl63
-rw-r--r--offapi/com/sun/star/frame/XLoaderFactory.idl87
-rw-r--r--offapi/com/sun/star/frame/XMenuBarAcceptor.idl54
-rw-r--r--offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl69
-rw-r--r--offapi/com/sun/star/frame/XModel.idl202
-rw-r--r--offapi/com/sun/star/frame/XModel2.idl166
-rw-r--r--offapi/com/sun/star/frame/XModel3.idl51
-rw-r--r--offapi/com/sun/star/frame/XModule.idl61
-rw-r--r--offapi/com/sun/star/frame/XModuleManager.idl98
-rw-r--r--offapi/com/sun/star/frame/XModuleManager2.idl59
-rw-r--r--offapi/com/sun/star/frame/XNotifyingDispatch.idl58
-rw-r--r--offapi/com/sun/star/frame/XPopupMenuController.idl70
-rw-r--r--offapi/com/sun/star/frame/XRecordableDispatch.idl96
-rw-r--r--offapi/com/sun/star/frame/XSessionManagerClient.idl96
-rw-r--r--offapi/com/sun/star/frame/XSessionManagerListener.idl94
-rw-r--r--offapi/com/sun/star/frame/XSessionManagerListener2.idl41
-rw-r--r--offapi/com/sun/star/frame/XStatusListener.idl55
-rw-r--r--offapi/com/sun/star/frame/XStatusbarController.idl213
-rw-r--r--offapi/com/sun/star/frame/XStorable.idl156
-rw-r--r--offapi/com/sun/star/frame/XStorable2.idl71
-rw-r--r--offapi/com/sun/star/frame/XSubToolbarController.idl88
-rw-r--r--offapi/com/sun/star/frame/XSynchronousDispatch.idl59
-rw-r--r--offapi/com/sun/star/frame/XSynchronousFrameLoader.idl76
-rw-r--r--offapi/com/sun/star/frame/XTask.idl58
-rw-r--r--offapi/com/sun/star/frame/XTasksSupplier.idl51
-rw-r--r--offapi/com/sun/star/frame/XTerminateListener.idl70
-rw-r--r--offapi/com/sun/star/frame/XTerminateListener2.idl57
-rw-r--r--offapi/com/sun/star/frame/XTitle.idl52
-rw-r--r--offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl46
-rw-r--r--offapi/com/sun/star/frame/XTitleChangeListener.idl42
-rw-r--r--offapi/com/sun/star/frame/XToolbarController.idl92
-rw-r--r--offapi/com/sun/star/frame/XToolbarControllerListener.idl57
-rw-r--r--offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl70
-rw-r--r--offapi/com/sun/star/frame/XTransientDocumentsDocumentContentIdentifierFactory.idl59
-rw-r--r--offapi/com/sun/star/frame/XUIControllerFactory.idl75
-rw-r--r--offapi/com/sun/star/frame/XUIControllerRegistration.idl96
-rw-r--r--offapi/com/sun/star/frame/XUntitledNumbers.idl95
-rw-r--r--offapi/com/sun/star/frame/XUrlList.idl41
-rw-r--r--offapi/com/sun/star/frame/XWindowArranger.idl46
-rw-r--r--offapi/com/sun/star/frame/status/ClipboardFormats.idl52
-rw-r--r--offapi/com/sun/star/frame/status/FontHeight.idl58
-rw-r--r--offapi/com/sun/star/frame/status/ItemState.idl81
-rw-r--r--offapi/com/sun/star/frame/status/ItemStatus.idl51
-rw-r--r--offapi/com/sun/star/frame/status/LeftRightMargin.idl48
-rw-r--r--offapi/com/sun/star/frame/status/LeftRightMarginScale.idl78
-rw-r--r--offapi/com/sun/star/frame/status/Template.idl56
-rw-r--r--offapi/com/sun/star/frame/status/UpperLowerMargin.idl48
-rw-r--r--offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl58
-rw-r--r--offapi/com/sun/star/frame/status/Verb.idl60
-rw-r--r--offapi/com/sun/star/frame/status/Visibility.idl43
-rw-r--r--offapi/com/sun/star/frame/theAutoRecovery.idl28
-rw-r--r--offapi/com/sun/star/frame/theDesktop.idl47
-rw-r--r--offapi/com/sun/star/frame/theGlobalEventBroadcaster.idl46
-rw-r--r--offapi/com/sun/star/frame/thePopupMenuControllerFactory.idl46
-rw-r--r--offapi/com/sun/star/frame/theStatusbarControllerFactory.idl47
-rw-r--r--offapi/com/sun/star/frame/theToolbarControllerFactory.idl44
-rw-r--r--offapi/com/sun/star/frame/theUICommandDescription.idl60
162 files changed, 11906 insertions, 0 deletions
diff --git a/offapi/com/sun/star/frame/AppDispatchProvider.idl b/offapi/com/sun/star/frame/AppDispatchProvider.idl
new file mode 100644
index 000000000..20a6624a2
--- /dev/null
+++ b/offapi/com/sun/star/frame/AppDispatchProvider.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_AppDispatchProvider_idl__
+#define __com_sun_star_frame_AppDispatchProvider_idl__
+
+#include <com/sun/star/frame/XAppDispatchProvider.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.2
+ */
+service AppDispatchProvider : XAppDispatchProvider;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/AutoRecovery.idl b/offapi/com/sun/star/frame/AutoRecovery.idl
new file mode 100644
index 000000000..7a010c915
--- /dev/null
+++ b/offapi/com/sun/star/frame/AutoRecovery.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_AutoRecovery_idl__
+#define __com_sun_star_frame_AutoRecovery_idl__
+
+#include <com/sun/star/frame/XDispatch.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of theAutoRecovery singleton.
+
+ @deprecated Use theAutoRecovery singleton instead.
+
+ @since LibreOffice 4.0
+ */
+service AutoRecovery : XDispatch;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Bibliography.idl b/offapi/com/sun/star/frame/Bibliography.idl
new file mode 100644
index 000000000..fe52b9131
--- /dev/null
+++ b/offapi/com/sun/star/frame/Bibliography.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_Bibliography_idl__
+#define __com_sun_star_frame_Bibliography_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.1
+ */
+published service Bibliography : com::sun::star::container::XNameAccess;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/BorderWidths.idl b/offapi/com/sun/star/frame/BorderWidths.idl
new file mode 100644
index 000000000..7259b62f1
--- /dev/null
+++ b/offapi/com/sun/star/frame/BorderWidths.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/CommandGroup.idl b/offapi/com/sun/star/frame/CommandGroup.idl
new file mode 100644
index 000000000..f46614e74
--- /dev/null
+++ b/offapi/com/sun/star/frame/CommandGroup.idl
@@ -0,0 +1,144 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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
+ */
+published constants CommandGroup
+{
+ /** specifies internal 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Components.idl b/offapi/com/sun/star/frame/Components.idl
new file mode 100644
index 000000000..2a36d01db
--- /dev/null
+++ b/offapi/com/sun/star/frame/Components.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_Components_idl__
+#define __com_sun_star_frame_Components_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** specifies a collection of components
+
+ <p>
+ One important instance of this service is available from the
+ Desktop object via the XDesktop interface.
+ </p>
+
+ @see com::sun::star::lang::XComponent
+ @see XDesktop
+ */
+published service Components
+{
+ /** use it to get snapshot of current available components as an enumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ContentHandler.idl b/offapi/com/sun/star/frame/ContentHandler.idl
new file mode 100644
index 000000000..78b42454c
--- /dev/null
+++ b/offapi/com/sun/star/frame/ContentHandler.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_ContentHandler_idl__
+#define __com_sun_star_frame_ContentHandler_idl__
+
+#include <com/sun/star/frame/XNotifyingDispatch.idl>
+
+
+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 com::sun::star::document::TypeDetection
+ for further information) 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 XNotifyingDispatch is XDispatch
+ and can be called for requests if result isn't necessary for dispatch operation.
+ </p>
+
+ @see XDispatch
+ */
+ interface XNotifyingDispatch;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ContentHandlerFactory.idl b/offapi/com/sun/star/frame/ContentHandlerFactory.idl
new file mode 100644
index 000000000..e3411714b
--- /dev/null
+++ b/offapi/com/sun/star/frame/ContentHandlerFactory.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_ContentHandlerFactory_idl__
+#define __com_sun_star_frame_ContentHandlerFactory_idl__
+
+#include <com/sun/star/frame/XLoaderFactory.idl>
+
+
+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 : XLoaderFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ControlCommand.idl b/offapi/com/sun/star/frame/ControlCommand.idl
new file mode 100644
index 000000000..c608e872e
--- /dev/null
+++ b/offapi/com/sun/star/frame/ControlCommand.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_ControlCommand_idl__
+#define __com_sun_star_frame_ControlCommand_idl__
+
+
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+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
+ command and control.
+ */
+ sequence< com::sun::star::beans::NamedValue > Arguments;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ControlEvent.idl b/offapi/com/sun/star/frame/ControlEvent.idl
new file mode 100644
index 000000000..c31f70a6a
--- /dev/null
+++ b/offapi/com/sun/star/frame/ControlEvent.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_ControlEvent_idl__
+#define __com_sun_star_frame_ControlEvent_idl__
+
+#include <com/sun/star/util/URL.idl>
+
+#include <com/sun/star/beans/NamedValue.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** describes a control event sent 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 occurred.
+ */
+ string Event;
+
+
+ /** specifies a sequence of named values which are used as
+ additional values for the event. The number and types of
+ named values depend on the event.
+ */
+ sequence< com::sun::star::beans::NamedValue > aInformation;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Controller.idl b/offapi/com/sun/star/frame/Controller.idl
new file mode 100644
index 000000000..901fe8a2e
--- /dev/null
+++ b/offapi/com/sun/star/frame/Controller.idl
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_Controller_idl__
+#define __com_sun_star_frame_Controller_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/ui/XContextMenuInterception.idl>
+#include <com/sun/star/awt/XUserInputInterception.idl>
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#include <com/sun/star/datatransfer/XTransferableSupplier.idl>
+
+
+ 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 com::sun::star::awt::XWindow
+ can offer
+
+ <p>
+ Such components can be loaded into a Frame inside a Desktop
+ environment. A controller is a richer component then a pure window, but full featured
+ components need a XModel interface too.
+ <br>
+ (see service com::sun::star::document::OfficeDocument for further information)
+ <p>
+
+ @see com::sun::star::document::OfficeDocument
+ */
+published service Controller
+{
+ /** with this interface, components viewed in a Frame can serve
+ events (by supplying dispatches)
+ */
+ interface XController;
+
+ /** for certain functions which are useful at the UI
+
+ <p>
+ Mostly used by the Frame 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 menus or prevent them from being executed
+
+ <p>
+ Don't mix it with XDispatchProviderInterception which
+ intercept calls of XDispatch::dispatch().
+ </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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Desktop.idl b/offapi/com/sun/star/frame/Desktop.idl
new file mode 100644
index 000000000..2d6f18de7
--- /dev/null
+++ b/offapi/com/sun/star/frame/Desktop.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_Desktop_idl__
+#define __com_sun_star_frame_Desktop_idl__
+
+#include <com/sun/star/frame/XDesktop2.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of theDesktop singleton.
+
+ @deprecated Use theDesktop singleton instead.
+ */
+
+published service Desktop : XDesktop2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DesktopTask.idl b/offapi/com/sun/star/frame/DesktopTask.idl
new file mode 100644
index 000000000..92a5f124f
--- /dev/null
+++ b/offapi/com/sun/star/frame/DesktopTask.idl
@@ -0,0 +1,80 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DesktopTask_idl__
+#define __com_sun_star_frame_DesktopTask_idl__
+
+#include <com/sun/star/frame/XDesktopTask.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/frame/XWindowArranger.idl>
+#include <com/sun/star/frame/XFramesSupplier.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Size.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** use the Frame service instead of this
+ @deprecated
+ */
+published service DesktopTask
+{
+ /** use Frame service */
+ interface com::sun::star::frame::XDesktopTask;
+
+ /** use the same interface at the Frame service */
+ interface com::sun::star::frame::XFrame;
+
+ /** use the same interface at the Frame service */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** - */
+ interface com::sun::star::frame::XWindowArranger;
+
+ /** use the same interface at the Desktop or
+ Frame service */
+ interface com::sun::star::frame::XFramesSupplier;
+
+ /** use property Frame::Title 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DesktopTasks.idl b/offapi/com/sun/star/frame/DesktopTasks.idl
new file mode 100644
index 000000000..c50a53a2d
--- /dev/null
+++ b/offapi/com/sun/star/frame/DesktopTasks.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DesktopTasks_idl__
+#define __com_sun_star_frame_DesktopTasks_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** @deprecated
+ */
+published service DesktopTasks
+{
+ interface com::sun::star::container::XEnumerationAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchDescriptor.idl b/offapi/com/sun/star/frame/DispatchDescriptor.idl
new file mode 100644
index 000000000..eae116227
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchDescriptor.idl
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DispatchDescriptor_idl__
+#define __com_sun_star_frame_DispatchDescriptor_idl__
+
+#include <com/sun/star/util/URL.idl>
+
+
+
+ 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 separated.
+ For optimized remote functionality XDispatch::queryDispatches()
+ it's necessary to pack these parameters in a flat structure which 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 com::sun::star::util::URLTransformer
+ 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 really 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchHelper.idl b/offapi/com/sun/star/frame/DispatchHelper.idl
new file mode 100644
index 000000000..d35f9e498
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchHelper.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DispatchHelper_idl__
+#define __com_sun_star_frame_DispatchHelper_idl__
+
+#include <com/sun/star/frame/XDispatchHelper.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** provides an easy way to dispatch a URL using one call instead of multiple ones.
+
+ <p>
+ Normally a complete dispatch is split into different parts:
+ - converting and parsing the URL
+ - searching for a valid dispatch object available on a dispatch provider
+ - dispatching of the URL and its parameters
+ </p>
+
+ @see DispatchProvider
+ @see XDispatchProvider
+ @see XDispatch
+
+ @since OOo 1.1.2
+ */
+published service DispatchHelper : XDispatchHelper;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchInformation.idl b/offapi/com/sun/star/frame/DispatchInformation.idl
new file mode 100644
index 000000000..7608849b3
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchInformation.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DispatchInformation_idl__
+#define __com_sun_star_frame_DispatchInformation_idl__
+
+#include <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
+ */
+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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchProvider.idl b/offapi/com/sun/star/frame/DispatchProvider.idl
new file mode 100644
index 000000000..b2c9bbe6f
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchProvider.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DispatchProvider_idl__
+#define __com_sun_star_frame_DispatchProvider_idl__
+
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** provides XDispatch 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 (XNotifyingDispatch) or with possible
+ (but not guaranteed) notifications (XDispatch).
+ </p>
+
+ @see XNotifyingDispatch
+ @see XDispatch
+ @see XControlNotificationListener
+ */
+published service DispatchProvider
+{
+ /** provides handling of dispatches with defined result state
+
+ <p>
+ Base interface of XNotifyingDispatch is XDispatch
+ and can be called for requests if result isn't necessary for dispatch operation.
+ </p>
+
+ @see XDispatch
+ */
+ interface XDispatchProvider;
+
+ /** provides dispatch interception
+
+ <p>
+ It makes it possible to register an XDispatchProvider which
+ intercepts all requests of XDispatch to this instance.
+ </p>
+ */
+ [optional] interface XDispatchProviderInterception;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchRecorder.idl b/offapi/com/sun/star/frame/DispatchRecorder.idl
new file mode 100644
index 000000000..5eacc1579
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchRecorder.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DispatchRecorder_idl__
+#define __com_sun_star_frame_DispatchRecorder_idl__
+
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** provides functionality to record XDispatch::dispatch() requests
+
+ <p>
+ It records all necessary parameters of a call XDispatch::dispatch()
+ 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 DispatchRecorderSupplier, which is available on
+ a property of a Frame::DispatchRecorderSupplier, 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 : XDispatchRecorder;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl b/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl
new file mode 100644
index 000000000..770736461
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchRecorderSupplier.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DispatchRecorderSupplier_idl__
+#define __com_sun_star_frame_DispatchRecorderSupplier_idl__
+
+#include <com/sun/star/frame/XDispatchRecorderSupplier.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** provides a DispatchRecorder
+
+ <p>
+ This supplier regulate macro recording of XDispatch::dispatch()
+ calls. For that it encapsulates a reference to a DispatchRecorder.
+ Such recorder is used internally and can be used externally too.
+ A supplier will be available on a Frame 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 : XDispatchRecorderSupplier;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchResultEvent.idl b/offapi/com/sun/star/frame/DispatchResultEvent.idl
new file mode 100644
index 000000000..dcbd08ee0
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchResultEvent.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_DispatchResultEvent_idl__
+#define __com_sun_star_frame_DispatchResultEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/util/URL.idl>
+
+
+ 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 dependent. The member State
+ can be set to one of the values defined in DispatchResultState.
+ If State is set to DispatchResultState::FAILURE, Result may
+ specify the reason (or is empty). The type is also dispatch action dependent.
+ If State is set to DispatchResultState::DONTKNOW, 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchResultState.idl b/offapi/com/sun/star/frame/DispatchResultState.idl
new file mode 100644
index 000000000..e0658dd2e
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchResultState.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_DispatchResultState_idl__
+#define __com_sun_star_frame_DispatchResultState_idl__
+
+
+module com { module sun { module star { module frame {
+
+/** possible values for DispatchResultEvent
+ */
+published constants DispatchResultState
+{
+ /** indicates: dispatch failed
+ */
+ const short FAILURE = 0;
+
+ /** indicates: dispatch was successful
+ */
+ const short SUCCESS = 1;
+
+ /** indicates: result isn't defined
+ */
+ const short DONTKNOW = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DispatchStatement.idl b/offapi/com/sun/star/frame/DispatchStatement.idl
new file mode 100644
index 000000000..64421ef46
--- /dev/null
+++ b/offapi/com/sun/star/frame/DispatchStatement.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DispatchStatement_idl__
+#define __com_sun_star_frame_DispatchStatement_idl__
+
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** represents a dispatch statement from a recorded macro
+
+ @since OOo 1.1.2
+ */
+published struct DispatchStatement
+{
+ /** specifies the dispatch command
+
+ <p>
+ That means the <var>URL</var> parameter of a corresponding XDispatchProvider::queryDispatch() request.
+ </p>
+ */
+ string aCommand;
+
+
+ /** specifies the frame target
+
+ <p>
+ That means the <var>TargetFrameName</var> parameter of a corresponding XDispatchProvider::queryDispatch() request.
+ </p>
+ */
+ string aTarget;
+
+ /** specifies the dispatch command arguments
+
+ <p>
+ That means the <var>Arguments</var> parameter of a corresponding XDispatch::dispatch() request.
+ </p>
+ */
+ sequence < com::sun::star::beans::PropertyValue > aArgs;
+
+ /** specifies the optional search flags
+ <p>
+ That means the <var>SearchFlags</var> parameter of a corresponding XDispatchProvider::queryDispatch() request.
+ </p>
+ */
+ long nFlags;
+
+ /** specifies if this statement should be recorded as commented out or not
+
+ @see XDispatchRecorder::recordDispatchAsComment()
+ */
+ boolean bIsComment;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DocumentTemplates.idl b/offapi/com/sun/star/frame/DocumentTemplates.idl
new file mode 100644
index 000000000..d7a2109ec
--- /dev/null
+++ b/offapi/com/sun/star/frame/DocumentTemplates.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DocumentTemplates_idl__
+#define __com_sun_star_frame_DocumentTemplates_idl__
+
+#include <com/sun/star/frame/XDocumentTemplates.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** is a service for accessing the document templates of the office
+ and manipulate them ( add or rename or remove templates )
+
+ It implements a high level interface on top of a ucb content provider which
+ is used for template configuration.
+*/
+published service DocumentTemplates : XDocumentTemplates;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/DoubleInitializationException.idl b/offapi/com/sun/star/frame/DoubleInitializationException.idl
new file mode 100644
index 000000000..52fbd8ea6
--- /dev/null
+++ b/offapi/com/sun/star/frame/DoubleInitializationException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_DoubleInitializationException_idl__
+#define __com_sun_star_frame_DoubleInitializationException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FeatureStateEvent.idl b/offapi/com/sun/star/frame/FeatureStateEvent.idl
new file mode 100644
index 000000000..026341239
--- /dev/null
+++ b/offapi/com/sun/star/frame/FeatureStateEvent.idl
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_FeatureStateEvent_idl__
+#define __com_sun_star_frame_FeatureStateEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/util/URL.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** This event is broadcast by a Controller 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 XDispatch has to be required.
+
+ <p>
+ Interest code should listen for FrameActionEvent
+ too, to update own feature states and dispatch listener on
+ FrameAction::CONTEXT_CHANGED.
+ </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
+ `boolean` are useful here for generic UI elements, like
+ a checkmark in a menu.
+ </p>
+ */
+ any State;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Frame.idl b/offapi/com/sun/star/frame/Frame.idl
new file mode 100644
index 000000000..e5b9bce15
--- /dev/null
+++ b/offapi/com/sun/star/frame/Frame.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_Frame_idl__
+#define __com_sun_star_frame_Frame_idl__
+
+#include <com/sun/star/frame/XFrame2.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+ 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 component's link
+ to the outside world. They create a skeleton for the whole office API infrastructure
+ by building frame hierarchies. These hierarchies contains all currently loaded
+ documents and make it possible to walk during these trees.
+ A special service Desktop can(!) combine different of such trees
+ to a global one which life time will be controlled by it.
+ </p>
+
+ @see Desktop
+ */
+published service Frame : XFrame2;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameAction.idl b/offapi/com/sun/star/frame/FrameAction.idl
new file mode 100644
index 000000000..4f478132c
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameAction.idl
@@ -0,0 +1,134 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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 information about loaded/reloaded or unloaded
+ components into a Frame.
+ </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 broadcast 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameActionEvent.idl b/offapi/com/sun/star/frame/FrameActionEvent.idl
new file mode 100644
index 000000000..c0359b9d4
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameActionEvent.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_FrameActionEvent_idl__
+#define __com_sun_star_frame_FrameActionEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/frame/FrameAction.idl>
+
+
+ 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 occurred
+ */
+ XFrame Frame;
+
+ /** specifies the concrete event
+ */
+ FrameAction Action;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameControl.idl b/offapi/com/sun/star/frame/FrameControl.idl
new file mode 100644
index 000000000..7a85e6d7f
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameControl.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_FrameControl_idl__
+#define __com_sun_star_frame_FrameControl_idl__
+
+#include <com/sun/star/awt/UnoControl.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+ 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 FrameControl::Frame property is set.
+ Normally 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 Frame is created if the control
+ is shown and the #ComponentUrl is set.
+ </p>
+ */
+ [property, readonly] string Frame;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameLoader.idl b/offapi/com/sun/star/frame/FrameLoader.idl
new file mode 100644
index 000000000..5bdbc17b8
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameLoader.idl
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_FrameLoader_idl__
+#define __com_sun_star_frame_FrameLoader_idl__
+
+#include <com/sun/star/frame/XFrameLoader.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** derivations of this abstract service are used to load components
+ into Frames 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 Controller.
+ Instead of SynchronousFrameLoader 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 FrameLoaderFactory.
+ Otherwise 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 FrameLoaderFactory after creation
+ if optional interface com::sun::star::lang::XInitialization
+ is supported. Value of function com::sun::star::container::XNamed::getName()
+ can be used on service FrameLoaderFactory to get further information about this loader.
+ Setting of this name by calling com::sun::star::container::XNamed::setName()
+ must be forwarded to same factory service. He should decide, if it's allowed or not.
+ The reason: prevent code against name ambiguities.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameLoaderFactory.idl b/offapi/com/sun/star/frame/FrameLoaderFactory.idl
new file mode 100644
index 000000000..6efe90694
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameLoaderFactory.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_FrameLoaderFactory_idl__
+#define __com_sun_star_frame_FrameLoaderFactory_idl__
+
+#include <com/sun/star/frame/XLoaderFactory.idl>
+
+
+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 loader objects</li>
+ <li>create a frame loader by his internal name</li>
+ <li>query for a frame loader by using special query or property description.</li>
+ </ul>
+ </p>
+ */
+published service FrameLoaderFactory : XLoaderFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FrameSearchFlag.idl b/offapi/com/sun/star/frame/FrameSearchFlag.idl
new file mode 100644
index 000000000..ad0a5e188
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameSearchFlag.idl
@@ -0,0 +1,112 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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 XFrame::findFrame(),
+ XDispatchProvider::queryDispatch() or
+ XComponentLoader::loadComponentFromURL() 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 children 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>
+ Normally it's interpreted as search on the direct children 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 children 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 suppress
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/FramesContainer.idl b/offapi/com/sun/star/frame/FramesContainer.idl
new file mode 100644
index 000000000..01265ad8d
--- /dev/null
+++ b/offapi/com/sun/star/frame/FramesContainer.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_FramesContainer_idl__
+#define __com_sun_star_frame_FramesContainer_idl__
+
+#include <com/sun/star/frame/XFrames.idl>
+
+
+ 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
+ XFramesSupplier.
+ </p>
+
+ @see XFramesSupplier
+ */
+published service FramesContainer
+{
+ /** access to frame collection by reference
+ */
+ interface XFrames;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl b/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl
new file mode 100644
index 000000000..47fbc9e84
--- /dev/null
+++ b/offapi/com/sun/star/frame/GlobalEventBroadcaster.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_GlobalEventBroadcaster_idl__
+#define __com_sun_star_frame_GlobalEventBroadcaster_idl__
+
+#include <com/sun/star/frame/XGlobalEventBroadcaster.idl>
+
+
+module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of theGlobalEventBroadcaster
+ singleton.
+
+ @deprecated Use theGlobalEventBroadcaster singleton instead.
+*/
+service GlobalEventBroadcaster : XGlobalEventBroadcaster;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/IllegalArgumentIOException.idl b/offapi/com/sun/star/frame/IllegalArgumentIOException.idl
new file mode 100644
index 000000000..a943fb387
--- /dev/null
+++ b/offapi/com/sun/star/frame/IllegalArgumentIOException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_IllegalArgumentIOException_idl__
+#define __com_sun_star_frame_IllegalArgumentIOException_idl__
+
+#include <com/sun/star/io/IOException.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** This exception can be thrown in case arguments are wrong.
+
+ @since OOo 1.1.2
+ */
+published exception IllegalArgumentIOException: com::sun::star::io::IOException
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/InfobarType.idl b/offapi/com/sun/star/frame/InfobarType.idl
new file mode 100644
index 000000000..4b579987f
--- /dev/null
+++ b/offapi/com/sun/star/frame/InfobarType.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_frame_InfobarType_idl__
+#define __com_sun_star_frame_InfobarType_idl__
+
+module com { module sun { module star { module frame {
+
+/** Infobar types.
+
+ @since LibreOffice 6.4
+*/
+constants InfobarType
+{
+ /** For information messages (color: light blue). */
+ const long INFO = 0;
+
+ /** For success notifications (color: light green). */
+ const long SUCCESS = 1;
+
+ /** For warning messages (color: orange). */
+ const long WARNING = 2;
+
+ /** For critical errors (color: red). */
+ const long DANGER = 3;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ \ No newline at end of file
diff --git a/offapi/com/sun/star/frame/LayoutManager.idl b/offapi/com/sun/star/frame/LayoutManager.idl
new file mode 100644
index 000000000..511e43ada
--- /dev/null
+++ b/offapi/com/sun/star/frame/LayoutManager.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_LayoutManager_idl__
+#define __com_sun_star_frame_LayoutManager_idl__
+
+#include <com/sun/star/frame/XLayoutManager2.idl>
+
+
+ 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 Frame 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>
+
+ <p>
+ Available properties:
+ <ul>
+ <li>boolean <code>MenuBarCloser</code>: Whether the small "Close" button in the menubar is displayed</li>
+ <li>boolean <code>AutomaticToolbars</code>: Whether automatic toolbars do appear</li>
+ <li>boolean <code>RefreshContextToolbarVisibility</code>: Set to true to refresh visibility of context toolbars</li>
+ <li>boolean <code>HideCurrentUI</code>: Hide/Show current UI elements (Toolbar, Statusbar, Menubar, etc)</li>
+ <li>boolean <code>PreserveContentSize</code>: When true, the outer window is resized the content/document size is preserved</li>
+ </ul>
+ </p>
+
+ @since OOo 2.0
+*/
+
+service LayoutManager : XLayoutManager2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/LayoutManagerEvents.idl b/offapi/com/sun/star/frame/LayoutManagerEvents.idl
new file mode 100644
index 000000000..1ce0f947b
--- /dev/null
+++ b/offapi/com/sun/star/frame/LayoutManagerEvents.idl
@@ -0,0 +1,117 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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
+ */
+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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl b/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl
new file mode 100644
index 000000000..cf220eeb1
--- /dev/null
+++ b/offapi/com/sun/star/frame/MediaTypeDetectionHelper.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_MediaTypeDetectionHelper_idl__
+#define __com_sun_star_frame_MediaTypeDetectionHelper_idl__
+
+#include <com/sun/star/util/XStringMapping.idl>
+
+
+ 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
+
+ <p>
+ Order of given and their returned corresponding strings is important.
+ Don't pack or optimize it. Every item of [in] list must match
+ to an item of [out] list.
+ </p>
+ */
+published service MediaTypeDetectionHelper
+ : com::sun::star::util::XStringMapping;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ModuleManager.idl b/offapi/com/sun/star/frame/ModuleManager.idl
new file mode 100644
index 000000000..d6d449c64
--- /dev/null
+++ b/offapi/com/sun/star/frame/ModuleManager.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_ModuleManager_idl__
+#define __com_sun_star_frame_ModuleManager_idl__
+
+#include <com/sun/star/frame/XModuleManager2.idl>
+
+
+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
+ */
+
+service ModuleManager : XModuleManager2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/OfficeFrameLoader.idl b/offapi/com/sun/star/frame/OfficeFrameLoader.idl
new file mode 100644
index 000000000..67823eb41
--- /dev/null
+++ b/offapi/com/sun/star/frame/OfficeFrameLoader.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_OfficeFrameLoader_idl__
+#define __com_sun_star_frame_OfficeFrameLoader_idl__
+
+#include <com/sun/star/frame/XSynchronousFrameLoader.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.2
+ */
+service OfficeFrameLoader : XSynchronousFrameLoader;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/PopupMenuController.idl b/offapi/com/sun/star/frame/PopupMenuController.idl
new file mode 100644
index 000000000..8328501d5
--- /dev/null
+++ b/offapi/com/sun/star/frame/PopupMenuController.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_PopupMenuController_idl__
+#define __com_sun_star_frame_PopupMenuController_idl__
+
+#include <com/sun/star/frame/XPopupMenuController.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/frame/XStatusListener.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** provides access to a pop-up menu controller.
+
+ <p>
+ A pop-up 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 pop-up 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
+*/
+
+service PopupMenuController
+{
+ /** supports functions to initialize and update a pop-up menu controller
+ implementation.
+
+ <p>
+ A pop-up menu controller implementation gets initialized with a
+ com::sun::star::awt::XPopupMenu object. This assures
+ that a pop-up menu controller can be implemented with any UNO based
+ language.
+ </p>
+ */
+ interface com::sun::star::frame::XPopupMenuController;
+
+ /** provides functions to initialize a pop-up 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 pop-up menu controller needs at least two additional arguments
+ provided as com::sun::star::beans::PropertyValue:
+ <ul>
+ <li><b>Frame</b><br>specifies the com::sun::star::frame::XFrame
+ instance to which the pop-up menu controller belongs to.</li>
+ <li><b>CommandURL</b><br>specifies which pop-up menu controller should be created.</li>
+ </ul>
+ </p>
+
+ @see PopupMenuControllerFactory
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** used to brief the pop-up menu controller with new status information.
+
+ <p>
+ A pop-up 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 pop-up menu controller to
+ execute them directly.
+
+ <p>
+ A pop-up menu controller provides special functions which should be
+ available by the normal dispatch API. This optional interface enables
+ pop-up menu controller to be normal dispatch providers.<br/>
+ <b>Attention:</b><br/>
+ Po-pup 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 pop-up menu controller by the owner instance.
+
+ <p>
+ A pop-up menu controller resides in a menu which has a limited
+ life-time. For correct life-time handling a pop-up menu
+ controller should support this interface.
+ </p>
+
+ @since OOo 2.2
+ */
+ [optional] interface com::sun::star::lang::XComponent;
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl
new file mode 100644
index 000000000..009bb66a9
--- /dev/null
+++ b/offapi/com/sun/star/frame/PopupMenuControllerFactory.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_PopupMenuControllerFactory_idl__
+#define __com_sun_star_frame_PopupMenuControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of thePopupMenuControllerFactory singleton.
+
+ @deprecated Use thePopupMenuControllerFactory singleton instead.
+
+ @since OOo 2.0
+*/
+service PopupMenuControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ProtocolHandler.idl b/offapi/com/sun/star/frame/ProtocolHandler.idl
new file mode 100644
index 000000000..ffdaa3155
--- /dev/null
+++ b/offapi/com/sun/star/frame/ProtocolHandler.idl
@@ -0,0 +1,82 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_ProtocolHandler_idl__
+#define __com_sun_star_frame_ProtocolHandler_idl__
+
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** special dispatch provider registered for URL protocols
+
+ <p>
+ The generic dispatch mechanism on a Frame
+ search for such registered protocol handler and use it if it agrees with
+ the dispatched URL.
+ </p>
+
+ <p>
+ Supported URLs must match follow format:
+ <code><i>protocol scheme</i>:<i>protocol specific part</i></code>
+ If a handler provides optional arguments ("?") or jump marks ("#") depends from his
+ definition 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 information
+
+ <p>
+ Sometimes it can be useful for a handler object, to know something about the
+ environment, in which it runs - especially 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 seems not useful (nor possible) to implement a ProtocolHandler
+ as a singleton. Otherwise the implementation can't distinguish between different environments
+ and her corresponding dispatch requests.
+ </p>
+ */
+ [optional] interface ::com::sun::star::lang::XInitialization;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/SessionListener.idl b/offapi/com/sun/star/frame/SessionListener.idl
new file mode 100644
index 000000000..d33859fd8
--- /dev/null
+++ b/offapi/com/sun/star/frame/SessionListener.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_SessionListener_idl__
+#define __com_sun_star_frame_SessionListener_idl__
+
+#include <com/sun/star/frame/XSessionManagerListener2.idl>
+
+
+ module com { module sun { module star { module frame {
+
+
+
+/**
+ This was created from its sole place of use, so it might be incomplete.
+
+ @since LibreOffice 4.1
+*/
+service SessionListener : com::sun::star::frame::XSessionManagerListener2
+{
+ createWithOnQuitFlag([in] boolean AllowUserInteractionOnQuit);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/SessionManager.idl b/offapi/com/sun/star/frame/SessionManager.idl
new file mode 100644
index 000000000..8e2202816
--- /dev/null
+++ b/offapi/com/sun/star/frame/SessionManager.idl
@@ -0,0 +1,75 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_SessionManager_idl__
+#define __com_sun_star_frame_SessionManager_idl__
+
+#include <com/sun/star/frame/XSessionManagerClient.idl>
+
+
+ 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 interact 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>
+ </ol>
+*/
+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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Settings.idl b/offapi/com/sun/star/frame/Settings.idl
new file mode 100644
index 000000000..19267a9ce
--- /dev/null
+++ b/offapi/com/sun/star/frame/Settings.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_Settings_idl__
+#define __com_sun_star_frame_Settings_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** @deprecated
+ */
+published service Settings
+{
+ interface com::sun::star::container::XNameAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/StartModule.idl b/offapi/com/sun/star/frame/StartModule.idl
new file mode 100644
index 000000000..8af9903cb
--- /dev/null
+++ b/offapi/com/sun/star/frame/StartModule.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_StartModule_idl__
+#define __com_sun_star_frame_StartModule_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/frame/XController.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.1
+ */
+service StartModule : com::sun::star::frame::XController
+{
+ createWithParentWindow([in] com::sun::star::awt::XWindow ContainerWindow);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/StatusbarController.idl b/offapi/com/sun/star/frame/StatusbarController.idl
new file mode 100644
index 000000000..e60b90be6
--- /dev/null
+++ b/offapi/com/sun/star/frame/StatusbarController.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_StatusbarController_idl__
+#define __com_sun_star_frame_StatusbarController_idl__
+
+#include <com/sun/star/frame/XStatusbarController.idl>
+
+module com { module sun { module star { module frame {
+
+interface XStatusbarController;
+
+/** 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
+ */
+service StatusbarController : XStatusbarController
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/StatusbarControllerFactory.idl b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl
new file mode 100644
index 000000000..4f74f6d6c
--- /dev/null
+++ b/offapi/com/sun/star/frame/StatusbarControllerFactory.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_StatusbarControllerFactory_idl__
+#define __com_sun_star_frame_StatusbarControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of theStatusbarControllerFactory singleton.
+
+ @deprecated Use theStatusbarControllerFactory singleton instead.
+
+ @since OOo 2.0
+*/
+service StatusbarControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/SynchronousFrameLoader.idl b/offapi/com/sun/star/frame/SynchronousFrameLoader.idl
new file mode 100644
index 000000000..4a99eb0d9
--- /dev/null
+++ b/offapi/com/sun/star/frame/SynchronousFrameLoader.idl
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_SynchronousFrameLoader_idl__
+#define __com_sun_star_frame_SynchronousFrameLoader_idl__
+
+#include <com/sun/star/frame/XSynchronousFrameLoader.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** derivations of this abstract service are used to load components
+ into Frames 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 Controller.
+ Instead of service FrameLoader 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 FrameLoaderFactory.
+ Otherwise 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 FrameLoaderFactory after creation
+ if optional interface com::sun::star::lang::XInitialization
+ is supported. Value of function com::sun::star::container::XNamed::getName() can be
+ used on service FrameLoaderFactory to get further information about this loader.
+ Setting of this name by calling com::sun::star::container::XNamed::setName() must be
+ forwarded to same factory service. He should decide, if it's allowed or not.
+ The reason: prevent code against name ambiguities.
+ </p>
+ */
+ [optional] interface com::sun::star::container::XNamed;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/Task.idl b/offapi/com/sun/star/frame/Task.idl
new file mode 100644
index 000000000..7bc2944c6
--- /dev/null
+++ b/offapi/com/sun/star/frame/Task.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_Task_idl__
+#define __com_sun_star_frame_Task_idl__
+
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/frame/XTask.idl>
+
+
+ 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 XFrame.isTop() 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 com::sun::star::util::XCloseable instead.
+
+ */
+ interface XTask;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/TaskCreator.idl b/offapi/com/sun/star/frame/TaskCreator.idl
new file mode 100644
index 000000000..5c8099897
--- /dev/null
+++ b/offapi/com/sun/star/frame/TaskCreator.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_TaskCreator_idl__
+#define __com_sun_star_frame_TaskCreator_idl__
+
+#include <com/sun/star/lang/XSingleServiceFactory.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.1
+ */
+service TaskCreator : com::sun::star::lang::XSingleServiceFactory;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/TemplateAccess.idl b/offapi/com/sun/star/frame/TemplateAccess.idl
new file mode 100644
index 000000000..a149c76fe
--- /dev/null
+++ b/offapi/com/sun/star/frame/TemplateAccess.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_TemplateAccess_idl__
+#define __com_sun_star_frame_TemplateAccess_idl__
+
+#include <com/sun/star/lang/XLocalizable.idl>
+#include <com/sun/star/frame/XDocumentTemplates.idl>
+
+
+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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/TerminationVetoException.idl b/offapi/com/sun/star/frame/TerminationVetoException.idl
new file mode 100644
index 000000000..135c9c1a7
--- /dev/null
+++ b/offapi/com/sun/star/frame/TerminationVetoException.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_TerminationVetoException_idl__
+#define __com_sun_star_frame_TerminationVetoException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** can be thrown by a XTerminateListener to prevent the environment
+ (e.g., desktop) from terminating
+
+ <p>
+ If a XTerminateListener 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 really.
+
+ Since LibreOffice 5.3:
+ Throwing this exception will only prevent *termination*.
+ Exiting LibreOffice will close all the windows, but the process will keep running.
+ </p>
+
+ @see XDesktop::terminate()
+ @see XTerminateListener
+ */
+published exception TerminationVetoException: com::sun::star::uno::Exception
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/TitleChangedEvent.idl b/offapi/com/sun/star/frame/TitleChangedEvent.idl
new file mode 100644
index 000000000..2005d9461
--- /dev/null
+++ b/offapi/com/sun/star/frame/TitleChangedEvent.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_TitleChangedEvent_idl__
+#define __com_sun_star_frame_TitleChangedEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** Contains the information about a changed title.
+ */
+struct TitleChangedEvent : com::sun::star::lang::EventObject
+{
+ /** The new title
+ */
+ string Title;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ToolbarController.idl b/offapi/com/sun/star/frame/ToolbarController.idl
new file mode 100644
index 000000000..fd332484d
--- /dev/null
+++ b/offapi/com/sun/star/frame/ToolbarController.idl
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_ToolbarController_idl__
+#define __com_sun_star_frame_ToolbarController_idl__
+
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/util/XUpdatable.idl>
+#include <com/sun/star/frame/XStatusListener.idl>
+#include <com/sun/star/frame/XToolbarController.idl>
+#include <com/sun/star/frame/XSubToolbarController.idl>
+
+
+ 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
+ */
+
+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 com::sun::star::util::XUpdatable
+ 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 com::sun::star::beans::PropertyValue:
+ <ul>
+ <li><b>Frame</b><br>a com::sun::star::frame::XFrame
+ 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
+ com::sun::star::lang::XMultiServiceFactory
+ 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 guarantees 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 usable
+ after com::sun::star::lang::XInitialization::initialize()
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/ToolbarControllerFactory.idl b/offapi/com/sun/star/frame/ToolbarControllerFactory.idl
new file mode 100644
index 000000000..201cc4c83
--- /dev/null
+++ b/offapi/com/sun/star/frame/ToolbarControllerFactory.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_ToolbarControllerFactory_idl__
+#define __com_sun_star_frame_ToolbarControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ A legacy (single-instance) service-variant of theToolbarControllerFactory singleton.
+
+ @deprecated Use theToolbarControllerFactory singleton instead.
+
+ @since OOo 2.0
+*/
+
+service ToolbarControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl
new file mode 100644
index 000000000..0d1e6bb70
--- /dev/null
+++ b/offapi/com/sun/star/frame/TransientDocumentsDocumentContentFactory.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_TransientDocumentsDocumentContentFactory_idl__
+#define __com_sun_star_frame_TransientDocumentsDocumentContentFactory_idl__
+
+#include <com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** specifies a factory for
+ com::sun::star::ucb::TransientDocumentsDocumentContents.
+
+ @since OOo 2.0
+*/
+service TransientDocumentsDocumentContentFactory
+{
+ /** a factory for TransientDocumentsDocumentContents.
+ */
+ interface com::sun::star::frame::XTransientDocumentsDocumentContentFactory;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/UICommandDescription.idl b/offapi/com/sun/star/frame/UICommandDescription.idl
new file mode 100644
index 000000000..76e6db949
--- /dev/null
+++ b/offapi/com/sun/star/frame/UICommandDescription.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_UICommandDescription_idl__
+#define __com_sun_star_frame_UICommandDescription_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/**
+ A legacy (single-instance) service-variant of theUICommandDescription singleton.
+
+ @deprecated Use theUICommandDescription singleton instead.
+
+ @since OOo 2.0
+*/
+service UICommandDescription : com::sun::star::container::XNameAccess;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/UnknownModuleException.idl b/offapi/com/sun/star/frame/UnknownModuleException.idl
new file mode 100644
index 000000000..c9eb19d19
--- /dev/null
+++ b/offapi/com/sun/star/frame/UnknownModuleException.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_UnknownModuleException_idl__
+#define __com_sun_star_frame_UnknownModuleException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+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
+ */
+exception UnknownModuleException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/UntitledNumbersConst.idl b/offapi/com/sun/star/frame/UntitledNumbersConst.idl
new file mode 100644
index 000000000..3ff9b5083
--- /dev/null
+++ b/offapi/com/sun/star/frame/UntitledNumbersConst.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_UntitledNumbersConst_idl__
+#define __com_sun_star_frame_UntitledNumbersConst_idl__
+
+ module com { module sun { module star { module frame {
+
+constants UntitledNumbersConst
+{
+ const long INVALID_NUMBER = 0;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/WindowArrange.idl b/offapi/com/sun/star/frame/WindowArrange.idl
new file mode 100644
index 000000000..8196096c5
--- /dev/null
+++ b/offapi/com/sun/star/frame/WindowArrange.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XAppDispatchProvider.idl b/offapi/com/sun/star/frame/XAppDispatchProvider.idl
new file mode 100644
index 000000000..298c62d8d
--- /dev/null
+++ b/offapi/com/sun/star/frame/XAppDispatchProvider.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XAppDispatchProvider_idl__
+#define __com_sun_star_frame_XAppDispatchProvider_idl__
+
+#include <com/sun/star/frame/XDispatchInformationProvider.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.2
+ */
+interface XAppDispatchProvider
+{
+ interface XDispatchInformationProvider;
+ interface XDispatchProvider;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XBorderResizeListener.idl b/offapi/com/sun/star/frame/XBorderResizeListener.idl
new file mode 100644
index 000000000..5cc6e836f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XBorderResizeListener.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XBorderResizeListener_idl__
+#define __com_sun_star_frame_XBorderResizeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/BorderWidths.idl>
+
+
+
+ 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 Object
+ 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 Object,
+ [in] BorderWidths NewSize );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl b/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl
new file mode 100644
index 000000000..d75f2df4b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XBrowseHistoryRegistry.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XBrowseHistoryRegistry_idl__
+#define __com_sun_star_frame_XBrowseHistoryRegistry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** @deprecated
+ */
+published interface XBrowseHistoryRegistry: com::sun::star::uno::XInterface
+{
+ /** @deprecated
+ */
+ void updateViewData( [in] any Value );
+
+ /** @deprecated
+ */
+ void createNewEntry(
+ [in] string URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] string Title);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XComponentLoader.idl b/offapi/com/sun/star/frame/XComponentLoader.idl
new file mode 100644
index 000000000..81c25360b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XComponentLoader.idl
@@ -0,0 +1,168 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XComponentLoader_idl__
+#define __com_sun_star_frame_XComponentLoader_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+
+module com { module sun { module star { module frame {
+
+/** this is a simple interface to load components by a URL into a
+ frame environment
+
+ @see Desktop
+ @see Frame
+ @see XFrame
+ */
+published interface XComponentLoader: com::sun::star::uno::XInterface
+{
+ /** loads a component specified by a 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
+ a com::sun::star::lang::IllegalArgumentException.
+ </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 FrameSearchFlag 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
+ com::sun::star::document::MediaDescriptor.
+ </p>
+
+ @return
+ a com::sun::star::lang::XComponent 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>
+ com::sun::star::awt::XWindow 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 frame's window.
+ </li>
+ <li>
+ XController 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 XController::getFrame()
+ method of the controller returns. But for visible components the controller
+ should be asked for permission by calling XController::suspend() before.
+ </li>
+ <li>
+ XModel 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 com::sun::star::lang::XComponent::dispose() 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 com::sun::star::util::XCloseable.
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XComponentRegistry.idl b/offapi/com/sun/star/frame/XComponentRegistry.idl
new file mode 100644
index 000000000..2397454f9
--- /dev/null
+++ b/offapi/com/sun/star/frame/XComponentRegistry.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XComponentRegistry_idl__
+#define __com_sun_star_frame_XComponentRegistry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/uno/Uik.idl>
+
+
+
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XConfigManager.idl b/offapi/com/sun/star/frame/XConfigManager.idl
new file mode 100644
index 000000000..c0e894aaa
--- /dev/null
+++ b/offapi/com/sun/star/frame/XConfigManager.idl
@@ -0,0 +1,101 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XConfigManager_idl__
+#define __com_sun_star_frame_XConfigManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertyChangeListener.idl>
+
+
+ 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 XConfigManager::substituteVariables()
+ 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
+ */
+ 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
+ */
+ 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 com::sun::star::registry::XSimpleRegistry
+ and make no sense without that
+ @deprecated
+ */
+ void flush();
+
+}; //XConfigManager
+}; //frame
+}; //star
+}; //sun
+}; //com
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XControlNotificationListener.idl b/offapi/com/sun/star/frame/XControlNotificationListener.idl
new file mode 100644
index 000000000..09eedf661
--- /dev/null
+++ b/offapi/com/sun/star/frame/XControlNotificationListener.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XControlNotificationListener_idl__
+#define __com_sun_star_frame_XControlNotificationListener_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/ControlEvent.idl>
+
+
+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 happened
+
+ @param Event
+ contains the event information
+ */
+ void controlEvent( [in] ControlEvent Event );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XController.idl b/offapi/com/sun/star/frame/XController.idl
new file mode 100644
index 000000000..0e07f60ee
--- /dev/null
+++ b/offapi/com/sun/star/frame/XController.idl
@@ -0,0 +1,107 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XController_idl__
+#define __com_sun_star_frame_XController_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+
+
+ module com { module sun { module star { module frame {
+
+ published interface XFrame;
+ published interface XModel;
+
+/** With this interface, components viewed in a Frame 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 attaching was successful
+ <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 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 XController::restoreViewData()
+ */
+ any getViewData();
+
+ /** restores the view status using the data gotten from a previous call to
+ XController::getViewData().
+
+ @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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XController2.idl b/offapi/com/sun/star/frame/XController2.idl
new file mode 100644
index 000000000..23c64f1a1
--- /dev/null
+++ b/offapi/com/sun/star/frame/XController2.idl
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_XController2_idl__
+#define __com_sun_star_frame_XController2_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/ui/XSidebarProvider.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** extends the XController 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 XModel2::createViewController()
+ - if it's passed there, a view/controller pair of the same type will be created.</p>
+ */
+ [readonly, attribute] string ViewControllerName;
+
+ /** denotes the arguments used to create the instance.
+
+ <p>Usually, controllers are created via XModel2::createViewController(), where the
+ caller can pass not only a controller name, but also arguments parameterizing the to-be-created instance.
+ Those arguments used at creation time can subsequently be retrieved using the <code>CreationArguments</code>
+ member.</p>
+ */
+ [readonly, attribute] sequence< ::com::sun::star::beans::PropertyValue >
+ CreationArguments;
+
+ /** get the sidebar if exists
+ @since LibreOffice 5.1
+ */
+ ::com::sun::star::ui::XSidebarProvider getSidebar();
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XControllerBorder.idl b/offapi/com/sun/star/frame/XControllerBorder.idl
new file mode 100644
index 000000000..1254d54a3
--- /dev/null
+++ b/offapi/com/sun/star/frame/XControllerBorder.idl
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XControllerBorder_idl__
+#define __com_sun_star_frame_XControllerBorder_idl__
+
+#include <com/sun/star/frame/BorderWidths.idl>
+#include <com/sun/star/frame/XBorderResizeListener.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+
+
+
+ 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
+ BorderWidths 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDesktop.idl b/offapi/com/sun/star/frame/XDesktop.idl
new file mode 100644
index 000000000..b25fdcdaf
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDesktop.idl
@@ -0,0 +1,136 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDesktop_idl__
+#define __com_sun_star_frame_XDesktop_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XTerminateListener.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/frame/XFrame.idl>
+
+
+
+ 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 XTerminateListener::queryTermination() method.
+ Throwing of a TerminationVetoException 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
+ XTerminateListener::notifyTermination() method.
+ </p>
+
+ @return
+ `TRUE` If all listeners 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()
+ */
+ void addTerminateListener( [in] XTerminateListener Listener );
+
+ /** unregisters an event listener for termination events.
+
+ @param Listener
+ listener which wishes to be deregistered
+
+ @see XDesktop::addTerminateListener()
+ */
+ 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 Components 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 which contains the current component
+
+ @returns
+ the frame of the component which has the
+ UI focus within this desktop environment
+
+ @see XDesktop::getCurrentComponent()
+ */
+ XFrame getCurrentFrame();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDesktop2.idl b/offapi/com/sun/star/frame/XDesktop2.idl
new file mode 100644
index 000000000..6fe69c862
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDesktop2.idl
@@ -0,0 +1,94 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDesktop2_idl__
+#define __com_sun_star_frame_XDesktop2_idl__
+
+#include <com/sun/star/frame/XComponentLoader.idl>
+#include <com/sun/star/frame/XDesktop.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/frame/XFramesSupplier.idl>
+#include <com/sun/star/task/XStatusIndicatorFactory.idl>
+
+
+module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.1
+*/
+published interface XDesktop2
+{
+ /** provides access to dispatchers for the frame.
+
+ <p>
+ What kind of URLs a frame accepts in the calls to XDispatchProvider::queryDispatch(),
+ and how the returned dispatcher handles dispatches is completely implementation dependent
+ (though of course the restrictions of XDispatchProvider must be met).
+ Frame implementations may (optionally) support special targets in the call to
+ XDispatchProvider::queryDispatch().
+ Such special targets are passed as target frame name. They may, in addition,
+ require special frame search flags (see FrameSearchFlag), 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;
+
+ /** supports interception mechanism for dispatched URLs
+
+ <p>
+ Registered objects can intercept, suppress or reroute dispatched URLs.
+ If they support another interface too (XInterceptorInfo)
+ 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;
+
+ /** 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;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDesktopTask.idl b/offapi/com/sun/star/frame/XDesktopTask.idl
new file mode 100644
index 000000000..bdb6a937b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDesktopTask.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDesktopTask_idl__
+#define __com_sun_star_frame_XDesktopTask_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** use XFrame instead of this
+ @deprecated
+ */
+published interface XDesktopTask: com::sun::star::lang::XComponent
+{
+ /** use com::sun::star::lang::XInitialization instead.
+
+ @deprecated
+ */
+ void initialize( [in] com::sun::star::awt::XWindow TaskWindow );
+
+ /** use com::sun::star::util::XCloseable
+ or com::sun::star::lang::XComponent::dispose()
+ instead.
+
+ @deprecated
+ */
+ boolean close();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatch.idl b/offapi/com/sun/star/frame/XDispatch.idl
new file mode 100644
index 000000000..cbd7bcb2e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatch.idl
@@ -0,0 +1,156 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDispatch_idl__
+#define __com_sun_star_frame_XDispatch_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XStatusListener.idl>
+
+
+
+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 XDispatch::addStatusListener();
+ 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 XDispatch.
+ </p>
+
+ @see Frame
+ @see FeatureStateEvent
+ */
+published interface XDispatch: com::sun::star::uno::XInterface
+{
+ /** dispatches (executes) a URL
+
+ <p>
+ It is only allowed to dispatch URLs for which this XDispatch
+ was explicitly 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
+ (see com::sun::star::document::MediaDescriptor)
+ They depend on the real implementation of the dispatch object.
+
+ Controlling synchronous or asynchronous mode happens via
+ readonly boolean Flag SynchronMode
+
+ <p>
+ By default, and absent any arguments, "SynchronMode" is
+ considered `FALSE` and the execution is performed
+ asynchronously (i.e. dispatch() returns immediately, and
+ the action is performed in the background). But when set
+ to `TRUE`, dispatch() processes the request synchronously
+ - this call will block until it has finished.
+ </p>
+
+ <i>some code for a click-handler (Java)</i>
+ @code{.java}
+ void myOnClick(String sURL,String sTargetFrame,
+ com.sun.star.beans.PropertyValue[] lArguments)
+ {
+ com.sun.star.util.URL[] aURL = new com.sun.star.util.URL[1];
+ aURL[0] = new com.sun.star.util.URL();
+ aURL[0].Complete = sURL;
+
+ com.sun.star.util.XURLTransformer xParser =
+ (com.sun.star.util.XURLTransformer)UnoRuntime.queryInterface(
+ com.sun.star.util.XURLTransformer.class,
+ mxServiceManager.createInstance("com.sun.star.util.URLTransformer"));
+
+ xParser.parseStrict(aURL);
+
+ com.sun.star.frame.XDispatch xDispatcher =
+ mxFrame.queryDispatch(aURL[0], sTargetFrame, com.sun.star.frame.FrameSearchFlag.GLOBAL);
+
+ if(xDispatcher!=null)
+ xDispatcher.dispatch(aURL[0], lArguments);
+ }
+ @endcode
+ */
+ 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 XDispatch
+ was explicitly queried. Additional arguments ("#..." or "?...") will be ignored.
+ </p>
+ Note: Notifications can't be guaranteed! This will be a part of interface XNotifyingDispatch.
+
+ @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()
+ */
+ 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()
+ */
+ void removeStatusListener(
+ [in] XStatusListener Control,
+ [in] com::sun::star::util::URL URL);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchHelper.idl b/offapi/com/sun/star/frame/XDispatchHelper.idl
new file mode 100644
index 000000000..a51d6a8ef
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchHelper.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDispatchHelper_idl__
+#define __com_sun_star_frame_XDispatchHelper_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ 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 `any` 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchInformationProvider.idl b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl
new file mode 100644
index 000000000..ced5ce681
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchInformationProvider.idl
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDispatchInformationProvider_idl__
+#define __com_sun_star_frame_XDispatchInformationProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/DispatchInformation.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+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
+ Frame service.
+ </p>
+
+ @see Frame
+
+ @since OOo 2.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 com::sun::star::uno::Sequence.
+ */
+ sequence < DispatchInformation > getConfigurableDispatchInformation( [in] short CommandGroup );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchProvider.idl b/offapi/com/sun/star/frame/XDispatchProvider.idl
new file mode 100644
index 000000000..4b3c806a4
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProvider.idl
@@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDispatchProvider_idl__
+#define __com_sun_star_frame_XDispatchProvider_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDispatch.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/frame/DispatchDescriptor.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** provides XDispatch interfaces for certain functions which
+ are useful at the UI.
+
+ @see XDispatch
+ */
+published interface XDispatchProvider: com::sun::star::uno::XInterface
+{
+ /** searches for an XDispatch 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 XDispatchProvider::queryDispatch()
+ 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 its real result. Means: don't delete `NULL` entries inside this list.
+ </p>
+ */
+ sequence< XDispatch > queryDispatches(
+ [in] sequence<DispatchDescriptor> Requests);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchProviderInterception.idl b/offapi/com/sun/star/frame/XDispatchProviderInterception.idl
new file mode 100644
index 000000000..a5ffb81d6
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProviderInterception.idl
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDispatchProviderInterception_idl__
+#define __com_sun_star_frame_XDispatchProviderInterception_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDispatchProviderInterceptor.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** makes it possible to register an XDispatchProvider which
+ intercepts all requests of XDispatch to this instance.
+
+ <p>
+ Note: Nobody can guarantee order of used interceptor objects if more than 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 XInterceptorInfo.
+ </p>
+
+ @see XDispatchProvider
+ @see XDispatch
+ @see XInterceptorInfo
+ */
+published interface XDispatchProviderInterception: com::sun::star::uno::XInterface
+{
+ /** registers an XDispatchProviderInterceptor, which will become
+ the first interceptor in the chain of registered interceptors.
+
+ @param Interceptor
+ the interceptor which wishes to be registered
+
+ @see XDispatchProviderInterception::releaseDispatchProviderInterceptor()
+ */
+ void registerDispatchProviderInterceptor( [in] XDispatchProviderInterceptor Interceptor );
+
+ /** removes an XDispatchProviderInterceptor 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 wishes to be unregistered
+
+ @see XDispatchProviderInterception::registerDispatchProviderInterceptor()
+ */
+ void releaseDispatchProviderInterceptor( [in] XDispatchProviderInterceptor Interceptor );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl b/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl
new file mode 100644
index 000000000..00e717764
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchProviderInterceptor.idl
@@ -0,0 +1,85 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDispatchProviderInterceptor_idl__
+#define __com_sun_star_frame_XDispatchProviderInterceptor_idl__
+
+#include <com/sun/star/frame/XDispatchProvider.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** makes it possible to intercept request of XDispatch.
+
+ <p>
+ Can be registered as an interceptor by using interface XDispatchProviderInterception.
+ </p>
+
+ @see XDispatchProviderInterception
+ */
+published interface XDispatchProviderInterceptor: XDispatchProvider
+{
+ /** access to the slave XDispatchProvider of this interceptor
+
+ @returns
+ the slave of this interceptor
+
+ @see XDispatchProviderInterceptor::setSlaveDispatchProvider()
+ */
+ XDispatchProvider getSlaveDispatchProvider();
+
+ /** sets the slave XDispatchProvider to which calls to
+ XDispatchProvider::queryDispatch() can be forwarded
+ under control of this dispatch provider.
+
+ @param NewDispatchProvider
+ the new slave of this interceptor
+
+ @see XDispatchProviderInterceptor::getSlaveDispatchProvider()
+ */
+ void setSlaveDispatchProvider( [in] XDispatchProvider NewDispatchProvider );
+
+ /** access to the master XDispatchProvider of this interceptor
+
+ @returns
+ the master of this interceptor
+
+ @see XDispatchProviderInterceptor::setMasterDispatchProvider()
+ */
+ XDispatchProvider getMasterDispatchProvider();
+
+ /** sets the master XDispatchProvider, which may forward
+ calls to its XDispatchProvider::queryDispatch()
+ to this dispatch provider.
+
+ @param NewSupplier
+ the master of this interceptor
+
+ @see XDispatchProviderInterceptor::getMasterDispatchProvider()
+ */
+ void setMasterDispatchProvider( [in] XDispatchProvider NewSupplier );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchRecorder.idl b/offapi/com/sun/star/frame/XDispatchRecorder.idl
new file mode 100644
index 000000000..8b0071fef
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchRecorder.idl
@@ -0,0 +1,124 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDispatchRecorder_idl__
+#define __com_sun_star_frame_XDispatchRecorder_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+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
+ XDispatch by using additional interface
+ XRecordableDispatch. 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 XDispatchRecorderSupplier
+ which is provided by the Frame 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 XDispatchRecorder::startRecording().
+ </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 com::sun::star::document::MediaDescriptor
+ for further information)
+ */
+ 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 com::sun::star::document::MediaDescriptor
+ for further information)
+ */
+ 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 endRecording() is called!
+ Otherwise the macro will be released.
+ </p>
+
+ @returns
+ the recorded data as a string which can be interpreted as a script
+ */
+ string getRecordedMacro();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl
new file mode 100644
index 000000000..611fef027
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchRecorderSupplier.idl
@@ -0,0 +1,110 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDispatchRecorderSupplier_idl__
+#define __com_sun_star_frame_XDispatchRecorderSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDispatch.idl>
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** provides access to the record mechanism of dispatches
+
+ <p>
+ With a XDispatchRecorder it's possible to record calls
+ of XDispatch::dispatch(). 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 macro 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 Frame or global one by using more than 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 manually or to get
+ recorded data for further using e.g. saving. He is internally used too
+ due to the method XDispatchRecorderSupplier::dispatchAndRecord().
+ </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 internally to make the dispatch.
+ If recording isn't enabled it will be a normal XDispatch::dispatch()
+ call. Otherwise follow algorithm is used:
+ <ul>
+ <li>If <var>Dispatcher</var> doesn't support the interface
+ XRecordableDispatch 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
+ XRecordableDispatch it will be used
+ to dispatch and record all necessary 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDispatchResultListener.idl b/offapi/com/sun/star/frame/XDispatchResultListener.idl
new file mode 100644
index 000000000..07e0bc334
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDispatchResultListener.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDispatchResultListener_idl__
+#define __com_sun_star_frame_XDispatchResultListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/DispatchResultEvent.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** listener for results of XNotifyingDispatch::dispatchWithNotification()
+
+ @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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XDocumentTemplates.idl b/offapi/com/sun/star/frame/XDocumentTemplates.idl
new file mode 100644
index 000000000..ccac1af0f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XDocumentTemplates.idl
@@ -0,0 +1,195 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XDocumentTemplates_idl__
+#define __com_sun_star_frame_XDocumentTemplates_idl__
+
+#include <com/sun/star/frame/XStorable.idl>
+#include <com/sun/star/ucb/XContent.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** provides a high level API to organize document templates
+
+ <p>
+ Template information is saved as links to the original content
+ and organized in groups. This data should be persistent and can be
+ updated by calling special method XDocumentTemplates::update().
+ A real implementation of this interface can do that on top of
+ a ucb content provider. Method XDocumentTemplates::getContent()
+ force that.
+ </p>
+ */
+published interface XDocumentTemplates: com::sun::star::uno::XInterface
+{
+ /** provides 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 successful
+ <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 successful
+ <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 successful
+ <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 OldTemplateName
+ specifies the template for renaming
+
+ @param NewTemplateName
+ specifies the new name for the template
+
+ @return
+ `TRUE` if operation was successful
+ <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 successful
+ <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 successful
+ <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 successful
+ <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>
+ */
+ void update();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XExtendedFilterDetection.idl b/offapi/com/sun/star/frame/XExtendedFilterDetection.idl
new file mode 100644
index 000000000..8da8b0308
--- /dev/null
+++ b/offapi/com/sun/star/frame/XExtendedFilterDetection.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XExtendedFilterDetection_idl__
+#define __com_sun_star_frame_XExtendedFilterDetection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com {
+ module sun {
+ module star {
+ module frame {
+
+/** use com::sun::star::document::XExtendedFilterDetection instead of this
+ @deprecated
+ */
+published interface XExtendedFilterDetection: com::sun::star::uno::XInterface
+{
+ /** use com::sun::star::document::XExtendedFilterDetection::detect() instead of this
+ @deprecated
+ */
+ string detect(
+ [in] string URL,
+ [in] sequence< com::sun::star::beans::PropertyValue > Argumentlist);
+
+ }; // XExtendedFilterDetection
+ }; // frame
+ }; // star
+ }; // sun
+}; // com
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFilterDetect.idl b/offapi/com/sun/star/frame/XFilterDetect.idl
new file mode 100644
index 000000000..9ba432e17
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFilterDetect.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XFilterDetect_idl__
+#define __com_sun_star_frame_XFilterDetect_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** use com::sun::star::document::XExtendedFilterDetection instead of this
+ @deprecated
+ */
+published interface XFilterDetect: com::sun::star::uno::XInterface
+{
+ /** - */
+ string getContentType( [in] string URL );
+
+ /** - */
+ boolean useExternBrowser( [in] string URL );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrame.idl b/offapi/com/sun/star/frame/XFrame.idl
new file mode 100644
index 000000000..b2d7e41e4
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrame.idl
@@ -0,0 +1,357 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XFrame_idl__
+#define __com_sun_star_frame_XFrame_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+
+ 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 won't be
+ accessible by using the API. This mode make sense for previews.
+ The root node of the tree can be a Desktop 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 referred 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; normally a frame should be created by using the API
+ and is necessary for searches inside the tree (e.g. XFrame::findFrame())
+ </p>
+
+ @param Creator
+ the creator (parent) of this frame
+
+ @see XFrame::getCreator()
+ */
+ 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>XFrame::findFrame()
+ <li>XDispatchProvider::queryDispatch()
+ <li>XComponentLoader::loadComponentFromURL()
+ </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
+ */
+ 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 FrameSearchFlag::CREATE.
+ 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 FrameSearchFlag::TASKS
+ 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 XFramesSupplier::setActiveFrame(),
+ then it broadcasts a FrameActionEvent with
+ FrameAction::FRAME_ACTIVATED. 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 FrameLoader.
+ </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()
+ */
+ 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 FrameActionEvent with
+ FrameAction::FRAME_DEACTIVATING.
+ </p>
+
+ @see XFrame::activate()
+ @see XFrame::isActive()
+ */
+ 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 com::sun::star::awt::XWindow 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 (especially, if an existing controller disagree within his
+ XController::suspend() 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 XController::getFrame() to dispose
+ the frame after you the controller agreed with a
+ XController::suspend() 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
+ XFrameActionListener::frameAction() with
+ FrameAction::CONTEXT_CHANGED to all listeners which
+ are registered using XFrame::addFrameActionListener().
+ 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()
+ */
+ void addFrameActionListener( [in]XFrameActionListener xListener );
+
+ /** unregisters an event listener
+
+ @param xListener
+ specifies the listener which won't be informed any longer
+
+ @see XFrame::addFrameActionListener()
+ */
+ void removeFrameActionListener( [in] XFrameActionListener xListener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrame2.idl b/offapi/com/sun/star/frame/XFrame2.idl
new file mode 100644
index 000000000..172908aa6
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrame2.idl
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XFrame2_idl__
+#define __com_sun_star_frame_XFrame2_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/frame/XDispatchInformationProvider.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+#include <com/sun/star/frame/XDispatchProviderInterception.idl>
+#include <com/sun/star/frame/XDispatchRecorderSupplier.idl>
+#include <com/sun/star/frame/XFramesSupplier.idl>
+#include <com/sun/star/task/XStatusIndicatorFactory.idl>
+
+
+module com { module sun { module star { module frame {
+
+/**
+ @since LibreOffice 4.1
+ */
+published interface XFrame2
+{
+ /** contains user defined attributes.
+ */
+ [attribute, readonly] com::sun::star::container::XNameContainer UserDefinedAttributes;
+
+ /** provides access to dispatchers for the frame.
+
+ <p>
+ What kind of URLs a frame accepts in the calls to XDispatchProvider::queryDispatch(),
+ and how the returned dispatcher handles dispatches is completely implementation dependent
+ (though of course the restrictions of XDispatchProvider must be met).
+ Frame implementations may (optionally) support special targets in the call to
+ XDispatchProvider::queryDispatch().
+ Such special targets are passed as target frame name. They may, in addition,
+ require special frame search flags (see FrameSearchFlag), 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
+ */
+ interface XDispatchInformationProvider;
+
+ /** supports interception mechanism for dispatched URLs
+
+ <p>
+ Registered objects can intercept, suppress or reroute dispatched URLs.
+ If they support another interface too (XInterceptorInfo)
+ 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,
+ and via its XFrame sub-interface: Allows the component to be loaded and accessed
+ within the frame; it is the main connection to the
+ environment of the component.
+ */
+ interface XFramesSupplier; // -> XFrame
+
+ /** supplies access to com::sun::star::task::XStatusIndicator objects
+ for the component within the frame to show progresses
+ */
+ 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>
+ */
+ [attribute] 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
+ XDispatch. A supplier is available only, if recording was enabled.
+ That means: if someone wishes 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 XDispatch::dispatch()
+ on the original dispatch object. If it's a valid value he must use the supplier
+ by calling his method XDispatchRecorderSupplier::dispatchAndRecord()
+ with the original dispatch object as argument.
+ </p>
+
+ <p>
+ Note:<br>
+ It's not recommended to cache an already gotten supplier. Because there exist
+ no possibility to check for enabled/disabled recording then.
+ </p>
+
+ @since OOo 1.1.2
+ */
+ [attribute] XDispatchRecorderSupplier DispatchRecorderSupplier;
+
+ /** Provides access to the LayoutManager of the frame.
+ This is actually of type XLayoutManager, but this API is still experimental (unpublished).
+ */
+ [attribute] com::sun::star::uno::XInterface LayoutManager;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrameActionListener.idl b/offapi/com/sun/star/frame/XFrameActionListener.idl
new file mode 100644
index 000000000..8bb1f9dbb
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameActionListener.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XFrameActionListener_idl__
+#define __com_sun_star_frame_XFrameActionListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/FrameActionEvent.idl>
+
+
+
+ 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
+ */
+ void frameAction( [in] FrameActionEvent Action );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrameLoader.idl b/offapi/com/sun/star/frame/XFrameLoader.idl
new file mode 100644
index 000000000..2059ea36c
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameLoader.idl
@@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XFrameLoader_idl__
+#define __com_sun_star_frame_XFrameLoader_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XLoadEventListener.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** load components into a frame
+
+ <p>
+ It's an asynchronous loading. For synchronous processes use XSynchronousFrameLoader
+ instead of this one. The generic load algorithm of the office supports both ones - but preferred
+ the synchronous interface.
+ </p>
+
+ @see XFrame
+ */
+published interface XFrameLoader: com::sun::star::uno::XInterface
+{
+ /** starts the loading of the specified resource into the specified Frame.
+
+ @param Frame
+ specifies the loading target
+
+ @param URL
+ describes the resource of loading component
+ Support of special protocols are implementation details
+ and depends from the environment.
+
+ @param Arguments
+ optional arguments for loading
+ (see com::sun::star::document::MediaDescriptor for further information)
+
+ @param Listener
+ this listener will be informed about success
+
+ @see XLoadEventListener
+ */
+ 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 XFrameLoader::load() 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
+ XLoadEventListener here.
+ </p>
+ */
+ void cancel();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrameLoaderQuery.idl b/offapi/com/sun/star/frame/XFrameLoaderQuery.idl
new file mode 100644
index 000000000..a76794d49
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameLoaderQuery.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XFrameLoaderQuery_idl__
+#define __com_sun_star_frame_XFrameLoaderQuery_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com {
+ module sun {
+ module star {
+ module frame {
+
+/** use service FrameLoaderFactory instead of this
+ @deprecated
+ */
+published interface XFrameLoaderQuery: com::sun::star::uno::XInterface
+{
+ /** use member com::sun::star::container::XNameAccess::getElementNames()
+ provided by service FrameLoaderFactory instead of this
+ @deprecated
+ */
+ sequence< string > getAvailableFilterNames();
+
+ /** use member com::sun::star::container::XNameAccess::getByName()
+ provided by service FrameLoaderFactory instead of this
+ @deprecated
+ */
+ sequence< ::com::sun::star::beans::PropertyValue > getLoaderProperties( [in] string sFilterName );
+
+ /** use member com::sun::star::container::XContainerQuery
+ provided by service FrameLoaderFactory instead of this
+ @deprecated
+ */
+ string searchFilter( [in] string sURL, [in] sequence< com::sun::star::beans::PropertyValue > seqArguments );
+
+ }; // XFrameLoaderQuery
+ }; // frame
+ }; // star
+ }; // sun
+}; // com
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrameSetModel.idl b/offapi/com/sun/star/frame/XFrameSetModel.idl
new file mode 100644
index 000000000..132b5ce96
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrameSetModel.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XFrameSetModel_idl__
+#define __com_sun_star_frame_XFrameSetModel_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** use XModel instead of this
+ @deprecated
+ */
+published interface XFrameSetModel: com::sun::star::uno::XInterface
+{
+ /** - */
+ string getSource();
+
+ /** - */
+ void setSource( [in] string Source );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFrames.idl b/offapi/com/sun/star/frame/XFrames.idl
new file mode 100644
index 000000000..3325a10c1
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFrames.idl
@@ -0,0 +1,85 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XFrames_idl__
+#define __com_sun_star_frame_XFrames_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/frame/XFrame.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** manages and creates frames.
+
+ <p>
+ Frames may contain other frames (by implementing an XFrames
+ interface) and may be contained in other frames.
+ </p>
+
+ @see XFrame
+ @see Frame
+ */
+published interface XFrames: com::sun::star::container::XIndexAccess
+{
+ /** appends the specified Frame 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 FrameSearchFlag 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 XComponent::dispose() 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XFramesSupplier.idl b/offapi/com/sun/star/frame/XFramesSupplier.idl
new file mode 100644
index 000000000..75fe6ec93
--- /dev/null
+++ b/offapi/com/sun/star/frame/XFramesSupplier.idl
@@ -0,0 +1,92 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XFramesSupplier_idl__
+#define __com_sun_star_frame_XFramesSupplier_idl__
+
+#include <com/sun/star/frame/XFrame.idl>
+
+
+ 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 XFramesSupplier
+ which are available from this node of frame tree
+
+ @returns
+ the collection of frames which is represented by
+ a FramesContainer.
+ */
+ 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 Frame 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
+ XFrame::activate() or XFramesSupplier::setActiveFrame().
+ After this call XFramesSupplier::getActiveFrame() will return the
+ frame specified by <var>Frame</var>.
+ </p>
+
+ <p>
+ In general this method first calls the method XFramesSupplier::setActiveFrame()
+ at the creator frame with <var>this</var> as the current argument. Then it broadcasts
+ the FrameActionEvent FrameAction::FRAME_ACTIVATED.
+ </p>
+
+ <p>
+ Note: Given parameter <var>Frame</var> must already exist inside the container
+ (e.g., inserted by using XFrames::append())
+ </p>
+
+ @param Frame
+ the new active child frame inside this container
+ */
+ void setActiveFrame( [in] XFrame Frame );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XGlobalEventBroadcaster.idl b/offapi/com/sun/star/frame/XGlobalEventBroadcaster.idl
new file mode 100644
index 000000000..cb42d0a87
--- /dev/null
+++ b/offapi/com/sun/star/frame/XGlobalEventBroadcaster.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XGlobalEventBroadcaster_idl__
+#define __com_sun_star_frame_XGlobalEventBroadcaster_idl__
+
+#include <com/sun/star/container/XSet.idl>
+#include <com/sun/star/document/XDocumentEventBroadcaster.idl>
+#include <com/sun/star/document/XDocumentEventListener.idl>
+#include <com/sun/star/document/XEventsSupplier.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ Provides the unified interface of theGlobalEventBroadcaster singleton.
+
+ @since LibreOffice 4.0
+ */
+
+interface XGlobalEventBroadcaster
+{
+ /** 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::XDocumentEventBroadcaster;
+
+ interface ::com::sun::star::container::XSet;
+
+ interface ::com::sun::star::document::XDocumentEventListener;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XInfobarProvider.idl b/offapi/com/sun/star/frame/XInfobarProvider.idl
new file mode 100644
index 000000000..b04f50b9e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XInfobarProvider.idl
@@ -0,0 +1,146 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_frame_XInfobarProvider_idl__
+#define __com_sun_star_frame_XInfobarProvider_idl__
+
+#include <com/sun/star/beans/StringPair.idl>
+#include <com/sun/star/frame/InfobarType.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module frame {
+
+/** Allows to add Infobars to a frame.
+
+ This interface can be obtained via com::sun::star::frame::XController.
+
+ @since LibreOffice 6.4
+ */
+interface XInfobarProvider: uno::XInterface
+{
+ /** Creates and displays a new Infobar.
+
+ @param id
+ The ID by which this Infobar is recognized.
+ You can remove the Infobar afterwards using this ID.
+
+ @param primaryMessage
+ The (short) primary message.
+ Will appear at the start of the infobar in bold letters.
+ May be empty.
+
+ @param secondaryMessage
+ The (longer) secondary message.
+ Will appear in normal letters after the primaryMessage
+
+ @param infobarType
+ The type of the Infobar.
+ See com::sun::star::frame::InfobarType for possible values.
+
+ @param actionButtons
+ A sequence of action buttons.
+ The buttons will be added from Right to Left at the right side of the info bar.
+ Each button is represented by a com::sun::star::beans::StringPair.
+ StringPair::First represents the button label, while
+ StringPair::Second represents the button URL which will be called on button click.
+ The URL can be any URL, either external (http://libreoffice.org), or internal (.uno:Save),
+ or from your extension (service:your.example.Extension?anyAction).
+
+ @param showCloseButton
+ Whether the Close (x) button is shown at the end of the Infobar.
+ Set to false, when you don't want the user to close the Infobar.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If an Infobar with the same ID already exists, or infobarType contains an invalid value.
+
+ <p> The example below adds a new infobar named MyInfoBar with type INFO and close (x) button.</p>
+ @code{.bas}
+ Sub AddInfobar
+ Dim buttons(1) as new com.sun.star.beans.StringPair
+ buttons(0).first = "Close doc"
+ buttons(0).second = ".uno:CloseDoc"
+ buttons(1).first = "Paste into doc"
+ buttons(1).second = ".uno:Paste"
+ ThisComponent.getCurrentController().appendInfobar("MyInfoBar", "Hello world", "Things happened. What now?", com.sun.star.frame.InfobarType.INFO, buttons, true)
+ End Sub
+ @endcode
+ */
+ void appendInfobar(
+ [in] string id,
+ [in] string primaryMessage,
+ [in] string secondaryMessage,
+ [in] long infobarType,
+ [in] sequence<com::sun::star::beans::StringPair> actionButtons,
+ [in] boolean showCloseButton)
+ raises(com::sun::star::lang::IllegalArgumentException);
+
+ /** Updates an existing Infobar.
+ Use if you want to update only small parts of the Infobar.
+
+ @see appendInfobar for parameter documentation.
+
+ @throws com::sun::star::container::NoSuchElementException
+ If no such Infobar exists (it might have been closed by the user already)
+ @throws com::sun::star::lang::IllegalArgumentException
+ If infobarType contains an invalid value.
+
+ <p>Update the infobar and change the type to WARNING</p>
+ @code{.bas}
+ Sub UpdateInfobar
+ ThisComponent.getCurrentController().updateInfobar("MyInfoBar", "WARNING","Do not read this message.", com.sun.star.frame.InfobarType.WARNING)
+ End Sub
+ @endcode
+ */
+ void updateInfobar(
+ [in] string id,
+ [in] string primaryMessage,
+ [in] string secondaryMessage,
+ [in] long infobarType)
+ raises(com::sun::star::container::NoSuchElementException);
+
+ /** Removes an existing Infobar.
+
+ @param id
+ The ID which was used when creating this Infobar.
+
+ @throws com::sun::star::container::NoSuchElementException
+ If no such Infobar exists (it might have been closed by the user already)
+
+ <p>Remove MyInfoBar infobar</p>
+ @code{.bas}
+ Sub RemoveInfobar
+ ThisComponent.getCurrentController().removeInfobar("MyInfoBar")
+ End Sub
+ @endcode
+ */
+
+ void removeInfobar([in] string id) raises(com::sun::star::container::NoSuchElementException);
+
+ /** Check if Infobar exists.
+
+ @param id
+ The ID which was used when creating this Infobar.
+
+ @since LibreOffice 7.0
+
+ @code{.bas}
+ Function HasMyInfobar as boolean
+ hasMyInfoBar = ThisComponent.getCurrentController().hasInfobar("MyInfoBar")
+ End Function
+ @endcode
+ */
+ boolean hasInfobar([in] string id);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/offapi/com/sun/star/frame/XInterceptorInfo.idl b/offapi/com/sun/star/frame/XInterceptorInfo.idl
new file mode 100644
index 000000000..318a1eb97
--- /dev/null
+++ b/offapi/com/sun/star/frame/XInterceptorInfo.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XInterceptorInfo_idl__
+#define __com_sun_star_frame_XInterceptorInfo_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ 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 XDispatchProviderInterceptor.
+ 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 URLs are allowed to register the interceptor for
+ URLs too, which can have optional arguments (e.g. "..#.." or "..?..").
+ </p>
+
+ @return
+ a list of URLs which are handled by this interceptor
+ */
+ sequence< string > getInterceptedURLs();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLayoutManager.idl b/offapi/com/sun/star/frame/XLayoutManager.idl
new file mode 100644
index 000000000..52c00df5f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManager.idl
@@ -0,0 +1,479 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_XLayoutManager_idl__
+#define __com_sun_star_frame_XLayoutManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/ui/XUIElement.idl>
+#include <com/sun/star/ui/DockingArea.idl>
+#include <com/sun/star/ui/XDockingAreaAcceptor.idl>
+
+
+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 resource 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 pop-up menu.</li>
+ <li><b>toolbar</b> A configurable user interface element a tool
+ bar.</li>
+ <li><b>statusbar</b> A configurable user interface 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
+*/
+
+interface XLayoutManager : com::sun::star::uno::XInterface
+{
+ /** attaches a com::sun::star::frame::XFrame to a layout manager.
+
+ @param Frame
+ specifies the frame that should be attached to the layout manager
+
+ <p>
+ A layout manager needs a com::sun::star::frame::XFrame 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 reset to a state after a
+ attachFrame() has been made. That means an attached frame
+ which has been set by attachFrame() 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 com::sun::star::awt::Rectangle contains pixel values. The
+ members of com::sun::star::awt::Rectangle 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 resource 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 resource 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 resource 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
+ XLayoutManager::showElement() should be used. This function can be
+ used for context dependent elements which should respect 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 resource 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 instantiated.
+
+ @return
+ a sequence of user interface elements providing com::sun::star::ui::XUIElement
+ 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 resource 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 resource 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 resource 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 resource 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 resource 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 resource 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 resource 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 getElementSize().
+ </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 resource 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 getElementPos().
+ </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 resource 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 getElementPos() and getElementSize().
+ </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 several 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLayoutManager2.idl b/offapi/com/sun/star/frame/XLayoutManager2.idl
new file mode 100644
index 000000000..2e926aeab
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManager2.idl
@@ -0,0 +1,88 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_XLayoutManager2_idl__
+#define __com_sun_star_frame_XLayoutManager2_idl__
+
+#include <com/sun/star/frame/XLayoutManager.idl>
+#include <com/sun/star/frame/XFrameActionListener.idl>
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/frame/XMenuBarMergingAcceptor.idl>
+#include <com/sun/star/frame/XLayoutManagerEventBroadcaster.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ Unified interface for LayoutManager service.
+
+ @since LibreOffice 4.2
+*/
+interface XLayoutManager2
+{
+ /** 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.
+ */
+ interface ::com::sun::star::frame::XLayoutManagerEventBroadcaster;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl
new file mode 100644
index 000000000..09336dc02
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManagerEventBroadcaster.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__
+#define __com_sun_star_frame_XLayoutManagerEventBroadcaster_idl__
+
+#include <com/sun/star/frame/XLayoutManagerListener.idl>
+
+
+ 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
+ */
+
+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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLayoutManagerListener.idl b/offapi/com/sun/star/frame/XLayoutManagerListener.idl
new file mode 100644
index 000000000..e0ed70f90
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLayoutManagerListener.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XLayoutManagerListener_idl__
+#define __com_sun_star_frame_XLayoutManagerListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+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 internally 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
+ */
+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 occurred.
+
+ @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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLoadEventListener.idl b/offapi/com/sun/star/frame/XLoadEventListener.idl
new file mode 100644
index 000000000..90992d953
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLoadEventListener.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XLoadEventListener_idl__
+#define __com_sun_star_frame_XLoadEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+ 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
+ */
+ void loadFinished( [in] XFrameLoader Loader );
+
+ /** is called when a frame load is canceled or failed.
+
+ @param Loader
+ the source of this event
+ */
+ void loadCancelled( [in] XFrameLoader Loader );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLoadable.idl b/offapi/com/sun/star/frame/XLoadable.idl
new file mode 100644
index 000000000..a6b23b522
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLoadable.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XLoadable_idl__
+#define __com_sun_star_frame_XLoadable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/frame/DoubleInitializationException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** offers a simple way to initialize a component or load it from a 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 a URL
+ @param lArguments
+ parameters for saving
+ (see com::sun::star::document::MediaDescriptor 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XLoaderFactory.idl b/offapi/com/sun/star/frame/XLoaderFactory.idl
new file mode 100644
index 000000000..f6b8dd7a2
--- /dev/null
+++ b/offapi/com/sun/star/frame/XLoaderFactory.idl
@@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XLoaderFactory_idl__
+#define __com_sun_star_frame_XLoaderFactory_idl__
+
+#include <com/sun/star/container/XContainerQuery.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/**
+ Unified service interface for FrameLoaderFactory and ContentHandlerFactory.
+
+ @since LibreOffice 4.2
+ */
+published interface XLoaderFactory
+{
+ /** interface to create loader objects by using his internal name
+
+ <p>
+ Returned objects must support the service specification of a FrameLoader
+ or SynchronousFrameLoader. (Note: last one will be preferred if both
+ are available)
+ They can be created by using of his internal name, which must be unambiguous every time, 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 com::sun::star::container::XNameAccess::getByName()
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XMenuBarAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl
new file mode 100644
index 000000000..c96402376
--- /dev/null
+++ b/offapi/com/sun/star/frame/XMenuBarAcceptor.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_XMenuBarAcceptor_idl__
+#define __com_sun_star_frame_XMenuBarAcceptor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XMenuBar.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** provides function to update a menu bar for inplace editing.
+
+ @deprecated
+
+ @since OOo 2.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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl
new file mode 100644
index 000000000..7079ba58f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XMenuBarMergingAcceptor.idl
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_XMenuBarMergingAcceptor_idl__
+#define __com_sun_star_frame_XMenuBarMergingAcceptor_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/frame/XDispatchProvider.idl>
+
+
+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
+*/
+
+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 com::sun::star::frame::XLayoutManager
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModel.idl b/offapi/com/sun/star/frame/XModel.idl
new file mode 100644
index 000000000..17bd7337f
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModel.idl
@@ -0,0 +1,202 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XModel_idl__
+#define __com_sun_star_frame_XModel_idl__
+
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** represents a component which is created from a URL and arguments.
+
+ <p>
+ It is a representation of a resource in the sense that it was
+ created/loaded from the resource. The arguments are passed to the loader
+ to modify its behavior. An example for such an argument is "AsTemplate",
+ which loads the resource as a template for a new document.
+ (see com::sun::star::document::MediaDescriptor for further details)
+ </p>
+
+ <p>
+ Models can be controlled by controller components, which are usually
+ views of the model.
+ (see Controller 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
+ com::sun::star::view::XSelectionSupplier, 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 resource
+
+ @param Arguments
+ are optional arguments for that resource
+ (see com::sun::star::document::MediaDescriptor)
+
+ @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 access on currently representation of the
+ com::sun::star::document::MediaDescriptor
+ of this model which describes the model and its 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 com::sun::star::lang::XComponent 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()
+ */
+ void connectController( [in] XController Controller );
+
+ /** is called whenever an existing controller should be deregistered at this model.
+
+ <p>
+ The com::sun::star::lang::XComponent 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()
+ */
+ void disconnectController( [in] XController Controller );
+
+ /** suspends some notifications to the controllers which are used
+ for display updates.
+
+ <p>
+ The calls to XModel::lockControllers() and
+ XModel::unlockControllers() 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>
+ */
+ void lockControllers();
+
+ /** resumes the notifications which were suspended by
+ XModel::lockControllers().
+
+ <p>
+ The calls to XModel::lockControllers() and
+ XModel::unlockControllers() 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>
+ */
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModel2.idl b/offapi/com/sun/star/frame/XModel2.idl
new file mode 100644
index 000000000..615fc8244
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModel2.idl
@@ -0,0 +1,166 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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>
+#include <com/sun/star/util/InvalidStateException.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** extends interface XModel.
+
+ The following 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 were 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 createView() 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 XFrame::setComponent(), nor
+ XController::attachFrame(), nor XController::attachModel(),
+ nor XModel::connectController(), not XModel::setCurrentController().
+ 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 );
+
+ /** Sets com::sun::star::document::MediaDescriptor properties
+ of the current model during runtime.
+
+ @since LibreOffice 6.3
+
+ @param Arguments
+ Properties which should be set
+ Supported properties:
+ <ul>
+ <li>com::sun::star::document::MediaDescriptor::SuggestedSaveAsDir</li>
+ <li>com::sun::star::document::MediaDescriptor::SuggestedSaveAsName</li>
+ <li>com::sun::star::document::MediaDescriptor::LockContentExtraction</li>
+ <li>com::sun::star::document::MediaDescriptor::LockExport</li>
+ <li>com::sun::star::document::MediaDescriptor::LockPrint</li>
+ <li>com::sun::star::document::MediaDescriptor::LockSave</li>
+ <li>com::sun::star::document::MediaDescriptor::LockEditDoc</li>
+ <li>com::sun::star::document::MediaDescriptor::EncryptionData (since LibreOffice 7.0)</li>
+ </ul>
+
+ @throws com::sun::star::lang::IllegalArgumentException When trying to set an unsupported property
+ @throws com::sun::star::util::InvalidStateException When the document model can not be retrieved
+ */
+ void setArgs([in] sequence< com::sun::star::beans::PropertyValue > Arguments)
+ raises(com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::util::InvalidStateException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModel3.idl b/offapi/com/sun/star/frame/XModel3.idl
new file mode 100644
index 000000000..96c527d26
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModel3.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XModel3_idl__
+#define __com_sun_star_frame_XModel3_idl__
+
+#include <com/sun/star/frame/XModel2.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** extends interface XModel2 with optimised read access getArgs().
+
+ */
+interface XModel3 : com::sun::star::frame::XModel2
+{
+ /** Provides optimised read access
+ (so we don't need to fetch expensive properties that we are not interested in)
+ on currently representation of the
+ com::sun::star::document::MediaDescriptor
+ of this model which describes the model and its state.
+ Returns only the selected args.
+
+ @param requestedArgs
+ @returns the requested and possibly some more arguments with which the model was originally created or
+ stored the last time.
+ */
+ sequence< com::sun::star::beans::PropertyValue > getArgs2([in] sequence< string > requestedArgs);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModule.idl b/offapi/com/sun/star/frame/XModule.idl
new file mode 100644
index 000000000..978332fb0
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModule.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_XModule_idl__
+#define __com_sun_star_frame_XModule_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/frame/UnknownModuleException.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** can be used to overrule identification of office modules.
+
+ <p>
+ Normally an office module will be identified by its 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
+ */
+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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModuleManager.idl b/offapi/com/sun/star/frame/XModuleManager.idl
new file mode 100644
index 000000000..a5f782233
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModuleManager.idl
@@ -0,0 +1,98 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_XModuleManager_idl__
+#define __com_sun_star_frame_XModuleManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/frame/UnknownModuleException.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** can be used to identify office modules.
+
+ @since OOo 2.0
+ */
+interface XModuleManager : com::sun::star::uno::XInterface
+{
+ /**
+ @short identifies the given module.
+
+ @details This identifier can then be used at the service ModuleManager
+ to get more information about this module.
+
+ For identification the interface com::sun::star::lang::XServiceInfo
+ 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 XModule 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>com::sun::star::frame::XFrame</b><br>
+ A frame contains (against a component window) a controller.
+ Such controller represent the module (in case no model exists).
+ </li>
+ <li>
+ <b>com::sun::star::frame::XController</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>com::sun::star::frame::XModel</b><br>
+ A model represent a module every time and can be used for
+ identification directly.
+ </li>
+ </ul>
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the parameter Module is:
+ <ul>
+ <li>an empty one</li>
+ <li>or does not provide one of the needed interface
+ XFrame, XController, XModel</li>
+ <li>or does not provide the needed interface XServiceInfo.</li>
+ </ul>
+
+ @throws UnknownModuleException
+ 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 varies every time. Error will be transported
+ by thrown exceptions!
+ */
+ string identify( [in] ::com::sun::star::uno::XInterface Module )
+ raises(::com::sun::star::lang::IllegalArgumentException,
+ UnknownModuleException );
+
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XModuleManager2.idl b/offapi/com/sun/star/frame/XModuleManager2.idl
new file mode 100644
index 000000000..91e6ed6b4
--- /dev/null
+++ b/offapi/com/sun/star/frame/XModuleManager2.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XModuleManager2_idl__
+#define __com_sun_star_frame_XModuleManager2_idl__
+
+#include <com/sun/star/frame/XModuleManager.idl>
+#include <com/sun/star/container/XNameReplace.idl>
+
+
+module com { module sun { module star { module frame {
+
+/**
+ This interface provides a merged single interface for the ModuleManager
+ service to implement.
+
+ @since LibreOffice 4.0
+*/
+interface XModuleManager2
+{
+ /** provides functions to identify office modules.
+ */
+ interface XModuleManager;
+
+ /** provides read access to the configuration of office modules.
+
+ <p>
+ Every module is referenced by a unique service name
+ (which is used inside configuration as set node name too)
+ and is further represented by a sequence of elements of type
+ com::sun::star::beans::PropertyValue.
+ A list of properties can be gotten from the configuration template
+ org.openoffice.Setup/Factory.
+ </p>
+ */
+ interface ::com::sun::star::container::XNameReplace;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XNotifyingDispatch.idl b/offapi/com/sun/star/frame/XNotifyingDispatch.idl
new file mode 100644
index 000000000..416317022
--- /dev/null
+++ b/offapi/com/sun/star/frame/XNotifyingDispatch.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XNotifyingDispatch_idl__
+#define __com_sun_star_frame_XNotifyingDispatch_idl__
+
+#include <com/sun/star/frame/XDispatch.idl>
+#include <com/sun/star/frame/XDispatchResultListener.idl>
+
+module com { module sun { module star { module frame {
+
+/** dispatch with guaranteed notify (instead of XDispatch)
+
+ @see XDispatch
+ @see XStatusListener
+ */
+published interface XNotifyingDispatch: XDispatch
+{
+ /** Do the same like XDispatch::dispatch() 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 com::sun::star::document::MediaDescriptor)
+
+ @param Listener
+ optional listener for guaranteed notifications of this request
+ */
+ void dispatchWithNotification(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] XDispatchResultListener Listener);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XPopupMenuController.idl b/offapi/com/sun/star/frame/XPopupMenuController.idl
new file mode 100644
index 000000000..89c354a8c
--- /dev/null
+++ b/offapi/com/sun/star/frame/XPopupMenuController.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_XPopupMenuController_idl__
+#define __com_sun_star_frame_XPopupMenuController_idl__
+
+#include <com/sun/star/awt/XPopupMenu.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** provides data to a pop-up menu controller implementation to
+ fill and update a pop-up menu dynamically.
+
+ <p>
+ A pop-up menu controller gets a com::sun::star::awt::XPopupMenu
+ from its parent menu implementation. The controller has to fill this pop-up
+ menu with a set of menu items and/or sub menus. The parent menu implementation
+ briefs the controller whenever the pop-up menu gets activated by a user.
+ </p>
+
+ @since OOo 2.0
+*/
+interface XPopupMenuController : com::sun::star::uno::XInterface
+{
+ /** provides a com::sun::star::awt::XPopupMenu to a
+ pop-up menu controller implementation. The controller must fill this
+ pop-up menu with its functions.
+
+ @param PopupMenu
+ An empty pop-up menu that must be filled by the pop-up menu controller.
+ */
+ void setPopupMenu( [in] com::sun::star::awt::XPopupMenu PopupMenu );
+
+ /** briefs the pop-up menu controller to update the contents of the provided
+ pop-up menu to reflect the current state.
+
+ <p>A controller should <b>never</b> update the pop-up 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. Therefore status updates will not be send regularly
+ for a non visible pop-up menu.
+ </p>
+ */
+ void updatePopupMenu();
+};
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XRecordableDispatch.idl b/offapi/com/sun/star/frame/XRecordableDispatch.idl
new file mode 100644
index 000000000..211dacf63
--- /dev/null
+++ b/offapi/com/sun/star/frame/XRecordableDispatch.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XRecordableDispatch_idl__
+#define __com_sun_star_frame_XRecordableDispatch_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XDispatchRecorder.idl>
+#include <com/sun/star/util/URL.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** extends an existing XDispatch implementation with functionality
+ for dispatch recording
+
+ <p>
+ This interface can be implemented as an additional one beside an existing
+ XDispatch 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 normally this interface mustn't be used directly.
+ If a dispatch object is well known and recording was enabled
+ on a XDispatchRecorderSupplier it's possible to use method
+ XDispatchRecorderSupplier::dispatchAndRecord() of it
+ to make dispatch and recording automatically. The interface XRecordableDispatch
+ is used transparently there.
+ </p>
+
+ @code{.java}
+ XDispatch xDispatcher = xFrame.queryDispatch(aURL,"",0);
+ XRecordableDispatch xRecordable =
+ (XRecordableDispatch)UnoRuntime.queryInterface(
+ XRecordableDispatch.class,
+ xDispatcher);
+
+ xDispatcher.addStatusListener(this,aURL);
+
+ if (xRecordable != null)
+ xRecordable.dispatchAndRecord(aURL,lArguments,xRecorder);
+ else
+ xDispatcher.dispatch(aURL,lArguments);
+ ...
+ xDispatcher.removeStatusListener(this,aURL);
+ @endcode
+
+ @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 which describe the feature which should be dispatched (executed)
+
+ @param Arguments
+ optional arguments for this request
+ (see com::sun::star::document::MediaDescriptor for details)
+
+ @param Recorder
+ object which can be used to record the request
+ (available on XDispatchRecorderSupplier::getDispatchRecorder())
+ */
+ void dispatchAndRecord(
+ [in] com::sun::star::util::URL URL,
+ [in] sequence<com::sun::star::beans::PropertyValue> Arguments,
+ [in] XDispatchRecorder Recorder);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSessionManagerClient.idl b/offapi/com/sun/star/frame/XSessionManagerClient.idl
new file mode 100644
index 000000000..247733f7d
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSessionManagerClient.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XSessionManagerClient_idl__
+#define __com_sun_star_frame_XSessionManagerClient_idl__
+
+#include <com/sun/star/frame/XSessionManagerListener.idl>
+
+
+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()
+ */
+ void addSessionManagerListener( [in] XSessionManagerListener xListener );
+
+ /** removeSessionManagerListener deregisters a listener for session events
+
+ @param xListener
+ listener to be removed
+
+ @see XSessionManagerListener
+ @see XSessionManagerClient::addSessionManagerListener()
+ */
+ 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
+ */
+ 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
+ */
+ void interactionDone( [in] XSessionManagerListener xListener );
+
+ /** saveDone signals that a listener has processed a save request
+
+ @param xListener
+ the listener having finished save request processing
+
+ @see XSessionManagerListener
+ */
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSessionManagerListener.idl b/offapi/com/sun/star/frame/XSessionManagerListener.idl
new file mode 100644
index 000000000..d82e7b091
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSessionManagerListener.idl
@@ -0,0 +1,94 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XSessionManagerListener_idl__
+#define __com_sun_star_frame_XSessionManagerListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+
+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
+ XSessionManagerClient::saveDone()
+ 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 saveDone()
+ event in case no real shutdown is in progress. He
+ still has to call
+ XSessionManagerClient::saveDone()
+ in that case.</p>
+
+ @see XSessionManagerClient
+ @see XSessionManagerClient::saveDone()
+ */
+ 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
+ XSessionManagerClient::interactionDone()
+ on the session manager client service object.
+
+ @see XSessionManagerClient
+ @see XSessionManagerClient::interactionDone()
+ */
+ 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.
+ */
+ void shutdownCanceled();
+
+ /** returns true, if a session was restored
+ */
+ boolean doRestore();
+ };
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSessionManagerListener2.idl b/offapi/com/sun/star/frame/XSessionManagerListener2.idl
new file mode 100644
index 000000000..e1245511b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSessionManagerListener2.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XSessionManagerListener2_idl__
+#define __com_sun_star_frame_XSessionManagerListener2_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/XSessionManagerListener.idl>
+
+module com { module sun { module star { module frame {
+
+ interface XSessionManagerListener2 : XSessionManagerListener
+ {
+ /** doQuit gets called when the session manager has decided
+ the application should quit. Under these circumstances bringing up
+ further UI will usually be impossible and must be avoided.
+ */
+ void doQuit();
+ };
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XStatusListener.idl b/offapi/com/sun/star/frame/XStatusListener.idl
new file mode 100644
index 000000000..ee53f9d78
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStatusListener.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XStatusListener_idl__
+#define __com_sun_star_frame_XStatusListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/FeatureStateEvent.idl>
+
+
+
+ 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 XNotifyingDispatch
+ and XDispatchResultListener 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
+ */
+ void statusChanged( [in] FeatureStateEvent State );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XStatusbarController.idl b/offapi/com/sun/star/frame/XStatusbarController.idl
new file mode 100644
index 000000000..633e694d8
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStatusbarController.idl
@@ -0,0 +1,213 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XStatusbarController_idl__
+#define __com_sun_star_frame_XStatusbarController_idl__
+
+#include <com/sun/star/awt/MouseEvent.idl>
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Rectangle.idl>
+#include <com/sun/star/awt/XGraphics.idl>
+#include <com/sun/star/frame/XStatusListener.idl>
+#include <com/sun/star/lang/XComponent.idl>
+#include <com/sun/star/lang/XInitialization.idl>
+#include <com/sun/star/util/XUpdatable.idl>
+
+module com { module sun { module star { module frame {
+
+/** interface to be implemented by a component offering 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 pop-up menu
+ that can be activated by a mouse action for context menus.
+ <p>
+
+ @see com::sun::star::frame::XDispatchProvider
+
+ @since OOo 2.0
+*/
+interface XStatusbarController
+{
+ /** used to control the life-time of the component
+
+ Used by a status bar implementation to control the life-time of
+ a status bar controller. The status bar is the only instance which
+ is allowed to dispose the component.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ /** used to initialize a component with required arguments.
+
+ <p>A status bar controller is initialized with <b>five</b> additional
+ arguments provided as a sequence of
+ com::sun::star::beans::PropertyValue:</p>
+
+ <ul>
+ <li><b>Frame</b><br/>a com::sun::star::frame::XFrame
+ 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.<br>
+ The command is used to identify the status bar controller
+ implementation.
+ </li>
+ <li><b>StatusbarItem</b><br/>a com::sun::star::ui::XStatusbarItem
+ instance which represents the status bar item associated with
+ this controller.
+ </li>
+ <li><b>ParentWindow</b><br/>a com::sun::star::awt::Window
+ instance which represents the parent window (status bar window).
+ </li>
+ <li><b>ModuleName</b><br/>a string which specifies the name of the
+ office module attached to the frame to which this controller
+ belongs; the value is taken from
+ com::sun::star::frame::XModuleManager::identify().
+ </li>
+ </ul>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** 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 com::sun::star::util::XUpdatable
+ interface has been called.</p>
+ */
+ interface com::sun::star::frame::XStatusListener;
+
+ /** 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 guarantees 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;
+
+ /** 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.
+ <br/>See com::sun::star::awt::Command for
+ possible values.
+
+ @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 com::sun::star::awt::XGraphics
+ which has to be used to update the visual representation.
+
+ @param OutputRectangle
+ a com::sun::star::awt::Rectangle which
+ determine the output rectangle for all drawing operations
+
+ @param nStyle
+ reserved for future use.
+ */
+ void paint( [in] ::com::sun::star::awt::XGraphics xGraphics,
+ [in] ::com::sun::star::awt::Rectangle OutputRectangle,
+ [in] long nStyle );
+
+ /** is called by a status bar if the user clicked with mouse into the
+ field of the corresponding control.
+
+ @param aPos
+ the current mouse position in pixel.
+ */
+ void click( [in] ::com::sun::star::awt::Point aPos );
+
+ /** is called by a status bar if the user double-clicked with mouse
+ into the field of the corresponding control.
+
+ @param aPos
+ the current mouse position in pixel.
+ */
+ void doubleClick( [in] ::com::sun::star::awt::Point aPos );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XStorable.idl b/offapi/com/sun/star/frame/XStorable.idl
new file mode 100644
index 000000000..60e8239e0
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStorable.idl
@@ -0,0 +1,156 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XStorable_idl__
+#define __com_sun_star_frame_XStorable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** offers a simple way to store a component to a 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 XStorable::storeAsURL() 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 XStorable::store() 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 occurred 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
+ XStorable::storeAsURL() will throw an exception if a pure
+ export filter is used, it will accept only combined import/export filters.
+ For such filters the method XStorable::storeToURL()
+ 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 com::sun::star::document::MediaDescriptor for further details)
+
+ @throws com::sun::star::io::IOException
+ if an IO error occurred 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 occurred during save operation
+ (may the location is unknown)
+
+ @param sURL
+ specifies the location where to store the object
+
+ @param lArguments
+ optional parameters for saving
+ (see com::sun::star::document::MediaDescriptor 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XStorable2.idl b/offapi/com/sun/star/frame/XStorable2.idl
new file mode 100644
index 000000000..50d83f2b7
--- /dev/null
+++ b/offapi/com/sun/star/frame/XStorable2.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XStorable2_idl__
+#define __com_sun_star_frame_XStorable2_idl__
+
+#include <com/sun/star/frame/XStorable.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/io/IOException.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** extends XStorable.
+ */
+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 extension of the XStorable::store().
+ This method allows to specify some additional parameters for
+ storing process.
+ </p>
+
+ @param lArguments
+ optional parameters for saving, can take values from subset of
+ com::sun::star::document::MediaDescriptor
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ the optional parameters contain unacceptable for save entry
+
+ @throws com::sun::star::io::IOException
+ if an IO error occurred 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSubToolbarController.idl b/offapi/com/sun/star/frame/XSubToolbarController.idl
new file mode 100644
index 000000000..624218e82
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSubToolbarController.idl
@@ -0,0 +1,88 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XSubToolbarController_idl__
+#define __com_sun_star_frame_XSubToolbarController_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ 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
+ */
+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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSynchronousDispatch.idl b/offapi/com/sun/star/frame/XSynchronousDispatch.idl
new file mode 100644
index 000000000..48b207bf7
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSynchronousDispatch.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XSynchronousDispatch_idl__
+#define __com_sun_star_frame_XSynchronousDispatch_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/util/URL.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** additional interfaces for dispatch objects: allow to execute with return value
+ @since OOo 2.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 which 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl b/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl
new file mode 100644
index 000000000..f4673de36
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XSynchronousFrameLoader_idl__
+#define __com_sun_star_frame_XSynchronousFrameLoader_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XFrame.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** loads a resource into a Frame.
+
+ <p>
+ Unlike the XFrameLoader 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 Frame.
+
+ @param Descriptor
+ describes the resource which should be loaded
+ It use a com::sun::star::document::MediaDescriptor 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
+ XSynchronousFrameLoader::load() must return `FALSE`
+ then and caller of this method XSynchronousFrameLoader::cancel()
+ already knows the state ...
+ </p>
+ */
+ void cancel();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTask.idl b/offapi/com/sun/star/frame/XTask.idl
new file mode 100644
index 000000000..a5a3b8373
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTask.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XTask_idl__
+#define __com_sun_star_frame_XTask_idl__
+
+#include <com/sun/star/frame/XFrame.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** use XFrame instead of this one
+ @deprecated
+ */
+published interface XTask: XFrame
+{
+ /** use com::sun::star::util::XCloseable or
+ com::sun::star::lang::XComponent::dispose()
+ at a Frame instead of this one
+ @deprecated
+ */
+ boolean close();
+
+ /** @deprecated
+ */
+ void tileWindows();
+
+ /** @deprecated
+ */
+ void arrangeWindowsVertical();
+
+ /** @deprecated
+ */
+ void arrangeWindowsHorizontal();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTasksSupplier.idl b/offapi/com/sun/star/frame/XTasksSupplier.idl
new file mode 100644
index 000000000..7e4e95a95
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTasksSupplier.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XTasksSupplier_idl__
+#define __com_sun_star_frame_XTasksSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/frame/XTask.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** use XFramesSupplier instead of that
+ @deprecated
+ */
+published interface XTasksSupplier: com::sun::star::uno::XInterface
+{
+ /** use XFramesSupplier::getFrames() instead of this one
+ @deprecated
+ */
+ com::sun::star::container::XEnumerationAccess getTasks();
+
+ /** use XFramesSupplier::getActiveFrame() instead of this one
+ @deprecated
+ */
+ XTask getActiveTask();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTerminateListener.idl b/offapi/com/sun/star/frame/XTerminateListener.idl
new file mode 100644
index 000000000..c0249e9bf
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTerminateListener.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XTerminateListener_idl__
+#define __com_sun_star_frame_XTerminateListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/frame/TerminationVetoException.idl>
+
+
+
+ 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 TerminationVetoException.
+ Interceptor will be the new owner of desktop and should call XDesktop::terminate()
+ 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.
+ No 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTerminateListener2.idl b/offapi/com/sun/star/frame/XTerminateListener2.idl
new file mode 100644
index 000000000..537e3fa82
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTerminateListener2.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XTerminateListener2_idl__
+#define __com_sun_star_frame_XTerminateListener2_idl__
+
+#include <com/sun/star/frame/XTerminateListener.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** extend interface XTerminateListener so a listener will be informed
+ in case termination process was canceled by other reasons.
+ */
+interface XTerminateListener2 : ::com::sun::star::frame::XTerminateListener
+{
+ /** is called when the master environment (e.g., desktop) was canceled in
+ it's terminate request.
+
+ <p>
+ Termination can be intercepted by throwing TerminationVetoException.
+ But if a listener was queried for termination .. doesn't throw a veto exception ...
+ it doesn't 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 occur. But these listener
+ don't know if it's allowed to start new processes then.
+ Using this optional(!) interface will make it possible to be informed about
+ canceled 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTitle.idl b/offapi/com/sun/star/frame/XTitle.idl
new file mode 100644
index 000000000..54116b6ae
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitle.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XTitle_idl__
+#define __com_sun_star_frame_XTitle_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** an interface representing an entity with a modifiable title.
+ */
+interface XTitle : com::sun::star::uno::XInterface
+{
+ /** Returns the title of the object.
+ *
+ * @returns
+ * The title.
+ */
+ string getTitle ();
+
+ /** Sets the title of the object.
+ *
+ * @param sTitle
+ * The title.
+ */
+ void setTitle ( [in] string sTitle );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl b/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl
new file mode 100644
index 000000000..bd53e1aa4
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitleChangeBroadcaster.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XTitleChangeBroadcaster_idl__
+#define __com_sun_star_frame_XTitleChangeBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/frame/XTitleChangeListener.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** Allows to register for title changed events.
+ */
+interface XTitleChangeBroadcaster : com::sun::star::uno::XInterface
+{
+ /** Add a listener
+ */
+ void addTitleChangeListener ( [in] com::sun::star::frame::XTitleChangeListener xListener );
+
+ /** Remove a listener
+ */
+ void removeTitleChangeListener ( [in] com::sun::star::frame::XTitleChangeListener xListener );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTitleChangeListener.idl b/offapi/com/sun/star/frame/XTitleChangeListener.idl
new file mode 100644
index 000000000..4c8a27d2b
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTitleChangeListener.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XTitleChangeListener_idl__
+#define __com_sun_star_frame_XTitleChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/frame/TitleChangedEvent.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** Allows to receive notifications when the frame title changes
+ */
+interface XTitleChangeListener : com::sun::star::lang::XEventListener
+{
+ /** The frame title has changed
+ */
+ void titleChanged ( [in] TitleChangedEvent aEvent );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XToolbarController.idl b/offapi/com/sun/star/frame/XToolbarController.idl
new file mode 100644
index 000000000..c8f7578ab
--- /dev/null
+++ b/offapi/com/sun/star/frame/XToolbarController.idl
@@ -0,0 +1,92 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XToolbarController_idl__
+#define __com_sun_star_frame_XToolbarController_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/awt/KeyModifier.idl>
+
+
+ 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
+ */
+interface XToolbarController : com::sun::star::uno::XInterface
+{
+ /** provides a function to execute the command which is bound to the toolbar controller.
+
+ @param KeyModifier
+ a combination of com::sun::star::awt::KeyModifier value that represent
+ the current state of the modifier keys.
+
+ <p>
+ This function is usually 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 pop-up window for additional functions.
+
+ @return
+ a com::sun::star::awt::XWindow 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 com::sun::star::awt::XWindow which must be used as a parent
+ for the requested item window.
+
+ @return
+ a com::sun::star::awt::XWindow 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XToolbarControllerListener.idl b/offapi/com/sun/star/frame/XToolbarControllerListener.idl
new file mode 100644
index 000000000..04ec98e66
--- /dev/null
+++ b/offapi/com/sun/star/frame/XToolbarControllerListener.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XToolbarControllerListener_idl__
+#define __com_sun_star_frame_XToolbarControllerListener_idl__
+
+#include <com/sun/star/uno/XInterface.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
+ */
+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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl
new file mode 100644
index 000000000..5751787d2
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentFactory.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XTransientDocumentsDocumentContentFactory_idl__
+#define __com_sun_star_frame_XTransientDocumentsDocumentContentFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContent.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** specifies a factory for
+ com::sun::star::ucb::TransientDocumentsDocumentContents.
+
+ @version 1.0
+ @see com::sun::star::document::OfficeDocument
+ @see com::sun::star::ucb::TransientDocumentsDocumentContent
+
+ @since OOo 2.0
+*/
+interface XTransientDocumentsDocumentContentFactory : com::sun::star::uno::XInterface
+{
+ /** creates a
+ com::sun::star::ucb::TransientDocumentsDocumentContent
+ based on a given com::sun::star::document::OfficeDocument.
+
+ @param Model
+ the document model for that a
+ com::sun::star::ucb::TransientDocumentsDocumentContent
+ is requested. The model must be an implementation of service
+ com::sun::star::document::OfficeDocument.
+
+ @returns
+ a document content based on the given document model. The content must
+ be an implementation of service
+ com::sun::star::ucb::TransientDocumentsDocumentContent.
+
+ @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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentIdentifierFactory.idl b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentIdentifierFactory.idl
new file mode 100644
index 000000000..26359db3e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XTransientDocumentsDocumentContentIdentifierFactory.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ */
+#ifndef __com_sun_star_frame_XTransientDocumentsDocumentContentIdentifierFactory_idl__
+#define __com_sun_star_frame_XTransientDocumentsDocumentContentIdentifierFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/ucb/XContentIdentifier.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module frame {
+
+/** a factory for identifiers of
+ com::sun::star::ucb::TransientDocumentsDocumentContents.
+
+ @see com::sun::star::document::OfficeDocument
+ @see com::sun::star::ucb::XContentIdentifier
+
+ @since LibreOffice 6.3
+*/
+interface XTransientDocumentsDocumentContentIdentifierFactory
+ : com::sun::star::uno::XInterface
+{
+ /** creates a com::sun::star::ucb::XContentIdentifier
+ based on a given com::sun::star::document::OfficeDocument.
+
+ @param Model
+ the document model for which a
+ com::sun::star::ucb::XContentIdentifier
+ is requested. The model must be an implementation of service
+ com::sun::star::document::OfficeDocument.
+
+ @returns
+ a content identifier based on the given document model.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the document model cannot be associated with content for any reason.
+ */
+ com::sun::star::ucb::XContentIdentifier
+ createDocumentContentIdentifier(
+ [in] com::sun::star::frame::XModel Model )
+ raises ( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XUIControllerFactory.idl b/offapi/com/sun/star/frame/XUIControllerFactory.idl
new file mode 100644
index 000000000..a44eed272
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUIControllerFactory.idl
@@ -0,0 +1,75 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XUIControllerFactory_idl__
+#define __com_sun_star_frame_XUIControllerFactory_idl__
+
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+#include <com/sun/star/frame/XUIControllerRegistration.idl>
+
+module com { module sun { module star { module frame {
+
+/** a factory to create User Interface controllers.
+
+ <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
+ @see StatusbarControllerFactory
+ @see ToolbarControllerFactory
+ </p>
+
+ @since LibreOffice 4.1
+ */
+interface XUIControllerFactory
+{
+ /** this interface provides functions to create new instances of a registered UI controller.
+
+ <p>
+ Use com::sun::star::lang::XMultiComponentFactory::createInstanceWithArgumentsAndContext() to create
+ a new UI controller instance. Use the CommandURL as the service specifier.
+
+ This call supports the following arguments provided as com::sun::star::beans::PropertyValue:
+ <ul>
+ <li>
+ <b>Frame</b><br>specifies the com::sun::star::frame::XFrame
+ instance to which the UI controller belongs to. This property must be provided to
+ the UI controller, otherwise it cannot dispatch its internal commands.
+ </li>
+ <li>
+ <b>ModuleIdentifier</b><br>optional string that specifies in which module context the UI
+ controller should be created.<br>The module identifier can be retrieved using the
+ ModuleManager.
+ </li>
+ </ul>
+ </p>
+ */
+ interface com::sun::star::lang::XMultiComponentFactory;
+
+ /** provides functions to query for, register and deregister a popup menu controller.
+ */
+ interface XUIControllerRegistration;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XUIControllerRegistration.idl b/offapi/com/sun/star/frame/XUIControllerRegistration.idl
new file mode 100644
index 000000000..17ebbfeb8
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUIControllerRegistration.idl
@@ -0,0 +1,96 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_XUIControllerRegistration_idl__
+#define __com_sun_star_frame_XUIControllerRegistration_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+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 should 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 should 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XUntitledNumbers.idl b/offapi/com/sun/star/frame/XUntitledNumbers.idl
new file mode 100644
index 000000000..19fbbca9e
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUntitledNumbers.idl
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XUntitledNumbers_idl__
+#define __com_sun_star_frame_XUntitledNumbers_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+ module com { module sun { module star { module frame {
+
+/** knows all currently used and all free numbers for using with untitled
+ but counted objects.
+ */
+interface XUntitledNumbers : com::sun::star::uno::XInterface
+{
+ /** callee has to lease a number before he can use it within in its own title.
+
+ Such number must be freed after using e.g. while the object was closed or
+ gets 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 numbers as "free for using".
+
+ If the registered 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 normally 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 untitled objects in
+ combination with the leased number.
+
+ Note: Such string already contains leading spaces/tabs etc. !
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XUrlList.idl b/offapi/com/sun/star/frame/XUrlList.idl
new file mode 100644
index 000000000..b03752873
--- /dev/null
+++ b/offapi/com/sun/star/frame/XUrlList.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XUrlList_idl__
+#define __com_sun_star_frame_XUrlList_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+module com { module sun { module star { module frame {
+
+/** @deprecated
+*/
+published interface XUrlList: com::sun::star::uno::XInterface
+{
+ /** - */
+ [attribute] sequence<string> List;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/XWindowArranger.idl b/offapi/com/sun/star/frame/XWindowArranger.idl
new file mode 100644
index 000000000..a56e4c133
--- /dev/null
+++ b/offapi/com/sun/star/frame/XWindowArranger.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_XWindowArranger_idl__
+#define __com_sun_star_frame_XWindowArranger_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module frame {
+
+/** @deprecated
+ */
+published interface XWindowArranger: com::sun::star::uno::XInterface
+{
+ /** @deprecated
+ */
+ boolean hasArrangeCommand( [in] short nCommand );
+
+ /** @deprecated
+ */
+ void arrange( [in] short nCommand );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 000000000..ebe56aa59
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ClipboardFormats.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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 IDs 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 000000000..7b2d80c6c
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/FontHeight.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 000000000..c4c02d56c
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ItemState.idl
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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 an ItemStatus.
+
+ @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.
+ *
+ * Deprecated: There is no equivalent in SfxItemState
+ * anymore due to not being used, so remove for simplification
+ * reasons and to prepare rework of Item/ItemSet/ItemPool stuff.
+ *
+ * There are only three usages of com::sun::star::frame::status::ItemState
+ * in the code which all set the internal SfxItem to SfxVoidItem when
+ * triggered, which is equivalent to state SfxItemState::DISABLED (see e.g.
+ * SfxItemSet::GetItemState), so READ_ONLY gets not used in internal
+ * handling, even when eventually existing UNO API usages hand it over the
+ * office.
+ */
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 000000000..11772833d
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/ItemStatus.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_status_ItemStatus_idl__
+#define __com_sun_star_frame_status_ItemStatus_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 ItemState
+ */
+ 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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 000000000..a65a25d19
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/LeftRightMargin.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/status/LeftRightMarginScale.idl b/offapi/com/sun/star/frame/status/LeftRightMarginScale.idl
new file mode 100644
index 000000000..ab3756825
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/LeftRightMarginScale.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_status_LeftRightMarginScale_idl__
+#define __com_sun_star_frame_status_LeftRightMarginScale_idl__
+
+
+
+module com { module sun { module star { module frame { module status {
+
+
+/** specifies a left and right margin.
+
+ @since LibreOffice 5.3
+ */
+struct LeftRightMarginScale
+{
+ /** specifies a left text margin in 1/100th mm.
+ */
+ long TextLeft;
+
+
+ /** specifies a left margin in 1/100th mm.
+ */
+ long Left;
+
+
+ /** specifies a right margin in 1/100th mm.
+ */
+ long Right;
+
+
+ /** specifies a first line indent relative to TextLeft in 1/100th mm.
+ */
+ long FirstLine;
+
+
+ /** specifies a scale value for the left margin in percent.
+ */
+ long ScaleLeft;
+
+
+ /** specifies a scale value for the right margin in percent.
+ */
+ long ScaleRight;
+
+
+ /** specifies a scale value for the first line margin in percent.
+ */
+ long ScaleFirstLine;
+
+
+ /** specifies if the automatic calculation of the first line indent occurs.
+ */
+ boolean AutoFirstLine;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 000000000..9bb9402ce
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Template.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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;
+
+
+ /** specifies an identifier name in English (only for standard style).
+
+ @since LO 7.2
+ */
+ string StyleNameIdentifier;
+};
+
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 000000000..d1e597b6e
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/UpperLowerMargin.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 000000000..bccd46655
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/UpperLowerMarginScale.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 000000000..0361496b4
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Verb.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 000000000..13618c49e
--- /dev/null
+++ b/offapi/com/sun/star/frame/status/Visibility.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_status_Visibility_idl__
+#define __com_sun_star_frame_status_Visibility_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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theAutoRecovery.idl b/offapi/com/sun/star/frame/theAutoRecovery.idl
new file mode 100644
index 000000000..622660c78
--- /dev/null
+++ b/offapi/com/sun/star/frame/theAutoRecovery.idl
@@ -0,0 +1,28 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+#ifndef __com_sun_star_frame_theAutoRecovery_idl__
+#define __com_sun_star_frame_theAutoRecovery_idl__
+
+#include <com/sun/star/frame/XDispatch.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) AutoRecovery service.
+
+ @since LibreOffice 4.3
+ */
+singleton theAutoRecovery : XDispatch;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theDesktop.idl b/offapi/com/sun/star/frame/theDesktop.idl
new file mode 100644
index 000000000..12c7d7920
--- /dev/null
+++ b/offapi/com/sun/star/frame/theDesktop.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_theDesktop_idl__
+#define __com_sun_star_frame_theDesktop_idl__
+
+#include <com/sun/star/frame/XDesktop2.idl>
+
+
+ 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>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) Desktop service.
+
+ @since LibreOffice 4.3
+ */
+published singleton theDesktop : XDesktop2;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theGlobalEventBroadcaster.idl b/offapi/com/sun/star/frame/theGlobalEventBroadcaster.idl
new file mode 100644
index 000000000..b802a1385
--- /dev/null
+++ b/offapi/com/sun/star/frame/theGlobalEventBroadcaster.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef COM_SUN_STAR_FRAME_GLOBALEVENTBROADCASTER_IDL
+#define COM_SUN_STAR_FRAME_GLOBALEVENTBROADCASTER_IDL
+
+#include <com/sun/star/frame/XGlobalEventBroadcaster.idl>
+
+module com { module sun { module star { module frame {
+
+/**
+ This singleton offers the document event functionality that can be found at
+ any com::sun::star::document::OfficeDocument, 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.
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) GlobalEventBroadcaster service.
+
+ @since LibreOffice 4.3
+*/
+singleton theGlobalEventBroadcaster: XGlobalEventBroadcaster;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/thePopupMenuControllerFactory.idl b/offapi/com/sun/star/frame/thePopupMenuControllerFactory.idl
new file mode 100644
index 000000000..48511b7b5
--- /dev/null
+++ b/offapi/com/sun/star/frame/thePopupMenuControllerFactory.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_thePopupMenuControllerFactory_idl__
+#define __com_sun_star_frame_thePopupMenuControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+module com { module sun { module star { module frame {
+
+/** specifies a factory that creates instances of registered popup menu controller.
+
+ <p>
+ A pop-up menu controller can be registered for a command URL and a model service name.
+ A menu bar or context menu will automatically create a pop-up menu controller if
+ it contains a registered command URL.
+ </p>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) PopupMenuControllerFactory service.
+
+ @since LibreOffice 4.3
+*/
+singleton thePopupMenuControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theStatusbarControllerFactory.idl b/offapi/com/sun/star/frame/theStatusbarControllerFactory.idl
new file mode 100644
index 000000000..3fdfb1101
--- /dev/null
+++ b/offapi/com/sun/star/frame/theStatusbarControllerFactory.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_theStatusbarControllerFactory_idl__
+#define __com_sun_star_frame_theStatusbarControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+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>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) StatusbarControllerFactory service.
+
+ @since LibreOffice 4.3
+*/
+singleton theStatusbarControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theToolbarControllerFactory.idl b/offapi/com/sun/star/frame/theToolbarControllerFactory.idl
new file mode 100644
index 000000000..e60534660
--- /dev/null
+++ b/offapi/com/sun/star/frame/theToolbarControllerFactory.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_frame_theToolbarControllerFactory_idl__
+#define __com_sun_star_frame_theToolbarControllerFactory_idl__
+
+#include <com/sun/star/frame/XUIControllerFactory.idl>
+
+module com { module sun { module star { module frame {
+
+/** specifies a factory that creates instances of registered toolbar controller.
+
+ <p>
+ A toolbar controller can be registered for a command URL and a model service name.
+ </p>
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) ToolbarControllerFactory service.
+
+ @since LibreOffice 4.3
+*/
+
+singleton theToolbarControllerFactory : XUIControllerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/frame/theUICommandDescription.idl b/offapi/com/sun/star/frame/theUICommandDescription.idl
new file mode 100644
index 000000000..7765df701
--- /dev/null
+++ b/offapi/com/sun/star/frame/theUICommandDescription.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_frame_theUICommandDescription_idl__
+#define __com_sun_star_frame_theUICommandDescription_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module frame {
+
+
+/** a singleton which provides information about user interface commands of modules.
+
+ <p>
+ OpenOffice.org has an amount of commands that can be used by user interface
+ elements. This singleton provides access to the user interface commands that
+ are part of OpenOffice.org modules, like Writer or Calc.
+ </p>
+
+ Provides access to user interface commands of the installed modules.
+
+ <p>
+ To access the user interface command description of a module, a unique module specifier
+ must be provided to com::sun::star::container::XNameAccess::getByName() function.
+ The module specifier can be retrieved from the com::sun::star::frame::ModuleManager
+ service. The interface provides references to com::sun:star::ui::ModuleUICommandDescription.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+
+ Prior to LibreOffice 4.3, this singleton was only available as a
+ (single-instance) UICommandDescription service.
+
+ @since LibreOffice 4.3
+
+*/
+singleton theUICommandDescription : com::sun::star::container::XNameAccess;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */