summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/ui
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/ui')
-rw-r--r--offapi/com/sun/star/ui/ActionTrigger.idl68
-rw-r--r--offapi/com/sun/star/ui/ActionTriggerContainer.idl97
-rw-r--r--offapi/com/sun/star/ui/ActionTriggerSeparator.idl45
-rw-r--r--offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl52
-rw-r--r--offapi/com/sun/star/ui/ConfigurableUIElement.idl128
-rw-r--r--offapi/com/sun/star/ui/ConfigurationEvent.idl59
-rw-r--r--offapi/com/sun/star/ui/ContextMenuExecuteEvent.idl66
-rw-r--r--offapi/com/sun/star/ui/ContextMenuInterceptorAction.idl58
-rw-r--r--offapi/com/sun/star/ui/DockingArea.idl76
-rw-r--r--offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl50
-rw-r--r--offapi/com/sun/star/ui/ImageType.idl64
-rw-r--r--offapi/com/sun/star/ui/ItemDescriptor.idl102
-rw-r--r--offapi/com/sun/star/ui/ItemStyle.idl158
-rw-r--r--offapi/com/sun/star/ui/ItemType.idl59
-rw-r--r--offapi/com/sun/star/ui/ModuleUICategoryDescription.idl77
-rw-r--r--offapi/com/sun/star/ui/ModuleUICommandDescription.idl84
-rw-r--r--offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl117
-rw-r--r--offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl66
-rw-r--r--offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl98
-rw-r--r--offapi/com/sun/star/ui/UICategoryDescription.idl77
-rw-r--r--offapi/com/sun/star/ui/UICommandDescription.idl71
-rw-r--r--offapi/com/sun/star/ui/UIConfigurationManager.idl94
-rw-r--r--offapi/com/sun/star/ui/UIElement.idl112
-rw-r--r--offapi/com/sun/star/ui/UIElementFactory.idl67
-rw-r--r--offapi/com/sun/star/ui/UIElementFactoryManager.idl76
-rw-r--r--offapi/com/sun/star/ui/UIElementSettings.idl94
-rw-r--r--offapi/com/sun/star/ui/UIElementType.idl88
-rw-r--r--offapi/com/sun/star/ui/WindowContentFactory.idl59
-rw-r--r--offapi/com/sun/star/ui/WindowStateConfiguration.idl74
-rw-r--r--offapi/com/sun/star/ui/XAcceleratorConfiguration.idl304
-rw-r--r--offapi/com/sun/star/ui/XContextMenuInterception.idl57
-rw-r--r--offapi/com/sun/star/ui/XContextMenuInterceptor.idl57
-rw-r--r--offapi/com/sun/star/ui/XDockingAreaAcceptor.idl119
-rw-r--r--offapi/com/sun/star/ui/XImageManager.idl256
-rw-r--r--offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl113
-rw-r--r--offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl71
-rw-r--r--offapi/com/sun/star/ui/XToolPanel.idl64
-rw-r--r--offapi/com/sun/star/ui/XUIConfiguration.idl85
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationListener.idl87
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationManager.idl274
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl61
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationPersistence.idl105
-rw-r--r--offapi/com/sun/star/ui/XUIConfigurationStorage.idl86
-rw-r--r--offapi/com/sun/star/ui/XUIElement.idl97
-rw-r--r--offapi/com/sun/star/ui/XUIElementFactory.idl130
-rw-r--r--offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl182
-rw-r--r--offapi/com/sun/star/ui/XUIElementSettings.idl102
-rw-r--r--offapi/com/sun/star/ui/XUIFunctionListener.idl64
-rw-r--r--offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl86
-rw-r--r--offapi/com/sun/star/ui/dialogs/ControlActions.idl111
-rw-r--r--offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl65
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl54
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl58
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl127
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePicker.idl165
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl62
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl53
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl89
-rw-r--r--offapi/com/sun/star/ui/dialogs/FolderPicker.idl88
-rw-r--r--offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl91
-rw-r--r--offapi/com/sun/star/ui/dialogs/TemplateDescription.idl143
-rw-r--r--offapi/com/sun/star/ui/dialogs/Wizard.idl75
-rw-r--r--offapi/com/sun/star/ui/dialogs/WizardButton.idl60
-rw-r--r--offapi/com/sun/star/ui/dialogs/WizardTravelType.idl54
-rw-r--r--offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl72
-rw-r--r--offapi/com/sun/star/ui/dialogs/XControlAccess.idl105
-rw-r--r--offapi/com/sun/star/ui/dialogs/XControlInformation.idl111
-rw-r--r--offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl68
-rw-r--r--offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl75
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePicker.idl145
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePicker2.idl75
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl153
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl120
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl75
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePreview.idl144
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl80
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilterManager.idl97
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFolderPicker.idl100
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizard.idl228
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizardController.idl85
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizardPage.idl86
-rw-r--r--offapi/com/sun/star/ui/dialogs/makefile.mk79
-rw-r--r--offapi/com/sun/star/ui/makefile.mk93
83 files changed, 8022 insertions, 0 deletions
diff --git a/offapi/com/sun/star/ui/ActionTrigger.idl b/offapi/com/sun/star/ui/ActionTrigger.idl
new file mode 100644
index 000000000000..fd41e7ae38f2
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTrigger.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ActionTrigger_idl__
+#define __com_sun_star_ui_ActionTrigger_idl__
+
+#ifndef __com_sun_star_awt_XBitmap_idl__
+#include <com/sun/star/awt/XBitmap.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** describes a trigger for an (user inter-)action.
+ <p>Common examples for such triggers are menu entries or toolbar icons.</p>
+*/
+published service ActionTrigger
+{
+ /** contains the text of the menu entry.
+ */
+ [property] string Text;
+
+ /** contains the command URL for the menu entry.
+ */
+ [property] string CommandURL;
+
+ /** contains the a URL that points to a help text.
+ */
+ [optional, property] string HelpURL;
+
+ /** contains the menu item image.
+ */
+ [property] ::com::sun::star::awt::XBitmap Image;
+
+ /** contains a sub menu.
+ */
+ [property] ::com::sun::star::container::XIndexContainer SubContainer;
+};
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/ActionTriggerContainer.idl b/offapi/com/sun/star/ui/ActionTriggerContainer.idl
new file mode 100644
index 000000000000..fd11ff28d102
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTriggerContainer.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ActionTriggerContainer_idl__
+#define __com_sun_star_ui_ActionTriggerContainer_idl__
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+#ifndef __com_sun_star_container_XContainer_idl__
+#include <com/sun/star/container/XContainer.idl>
+#endif
+#ifndef __com_sun_star_container_XEnumerationAccess_idl__
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+
+/** describes a container of user actions.
+
+ <p>No assumption is made about any graphical representation:
+ You could have a menu or a toolbox working with the same container
+ describing their entries.</p>
+
+ <p>Possible elements of the <type>ActionTriggerContainer</type> are
+ <ul>
+ <li><type>ActionTrigger</type> -
+ represents a simply clickable menu entry</li>
+ <li><type>ActionTriggerSeparator</type> -
+ represents a separator between two entries<br/>
+ This entry type is of interest for components rendering a an
+ <type>ActionTriggerContainer</type>
+ </li>
+ <li><type>ActionTriggerContainer</type> -
+ represents a sub container</li>
+ </ul>
+ </p>
+*/
+published service ActionTriggerContainer
+{
+ /** provides access to the entries of a menu. The element type
+ is <type scope="com::sun::star::beans">XPropertySet</type>.
+ The property set contains attributes like CommandURL, HelpURL
+ as defined in the service <type scope="com::sun::star::ui">ActionTrigger</type>
+ and optional a <type scope="com::sun::star::ui">ActionTriggerContainer</type>.
+ */
+
+ interface ::com::sun::star::container::XIndexContainer;
+
+ /** creates elements to be inserted into the container.
+ <p>Usually, the <method>XMultiServiceFactory::getSupportedServiceNames</method>
+ gives you a <type>ActionTrigger</type> and
+ optionally <type>ActionTriggerContainer</type> and
+ <type>ActionTriggerSeparator</type>
+
+ .</p>
+ */
+ interface ::com::sun::star::lang::XMultiServiceFactory;
+
+ /** allows to enumerate the elements of the container
+ */
+ [optional] interface ::com::sun::star::container::XEnumerationAccess;
+
+ /** allows foreign components to register themselves as listener for the container
+ structure.
+ */
+ [optional] interface ::com::sun::star::container::XContainer;
+};
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/ActionTriggerSeparator.idl b/offapi/com/sun/star/ui/ActionTriggerSeparator.idl
new file mode 100644
index 000000000000..5d42c4a3d252
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTriggerSeparator.idl
@@ -0,0 +1,45 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ActionTriggerSeparator_idl__
+#define __com_sun_star_ui_ActionTriggerSeparator_idl__
+
+module com { module sun { module star { module ui {
+
+
+/** describes a separator entry. Such entries are of interest
+ for components rendering an <type>ActionTriggerContainer</type>.
+*/
+published service ActionTriggerSeparator
+{
+ /** determines the type of the separator using constants from
+ <type>ActionTriggerSeparatorType</type>.
+ */
+ [optional, property] short SeparatorType;
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl b/offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl
new file mode 100644
index 000000000000..ec1ef5c7d777
--- /dev/null
+++ b/offapi/com/sun/star/ui/ActionTriggerSeparatorType.idl
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ActionTriggerSeparatorType_idl__
+#define __com_sun_star_ui_ActionTriggerSeparatorType_idl__
+
+module com { module sun { module star { module ui {
+
+/** Determines the type of a separator in an ActionTriggerContainer.
+ */
+published constants ActionTriggerSeparatorType
+{
+ //-------------------------------------------------------------------------
+ /** a separator is inserted as a line.
+ */
+ const short LINE = 0;
+ //-------------------------------------------------------------------------
+ /** a separator is inserted as a space.
+ */
+ const short SPACE = 1;
+ //-------------------------------------------------------------------------
+ /** a line break is inserted.
+ */
+ const short LINEBREAK = 2;
+
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/ConfigurableUIElement.idl b/offapi/com/sun/star/ui/ConfigurableUIElement.idl
new file mode 100644
index 000000000000..88d2a96416e8
--- /dev/null
+++ b/offapi/com/sun/star/ui/ConfigurableUIElement.idl
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ConfigurableUIElement_idl__
+#define __com_sun_star_ui_ConfigurableUIElement_idl__
+
+#ifndef __com_sun_star_ui_UIElement_idl__
+#include <com/sun/star/ui/UIElement.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIElementSettings_idl__
+#include <com/sun/star/ui/XUIElementSettings.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_ui_UIElementType_idl__
+#include <com/sun/star/ui/UIElementType.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** specifies a configurable user interface element that supports persistence.
+
+ <p>
+ Configurable user interface elements are:
+ <ul>
+ <li>menubar</li>
+ <li>popupmenu<li>
+ <li>toolbar</li>
+ <li>statusbar</li>
+ </ul>
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service ConfigurableUIElement
+{
+ /** provides properties and functions to initialize and identify a user
+ interface element.
+
+ <p>
+ A configurable user interface element must be initialized using
+ <member scope=com::sun::star::lang>XInitialization::initialize</member> before
+ it can be used. The following properties must be provided:
+ <ul>
+ <li><b>ResourceURL</b><br>specifies the user interface name.</li>
+ <li><b>Frame</b><br>specifies to which frame instance the user interface belongs to.</li>
+ <li><b>ConfigurationSource</b><br>specifies to which configuration manager a user interface
+ element instance is bound to.</li>
+ </ul>
+ </p>
+
+ A user interface element factory creates and initializes every user interface element
+ correctly.
+
+ @see com::sun::star::ui::UIElementFactory
+ */
+ service UIElement;
+
+ /** provides functions to retrieve and change the user interface element structure data and to
+ update its visible representation.
+ */
+ interface com::sun::star::ui::XUIElementSettings;
+
+ /** specifies if the user interface element stores changes of its structure to its creator
+ source defined by the property <member>ConfigurationSource</member>. */
+ [property] boolean Persistent;
+
+ /** specifies the configuration source of this user interface element.
+
+ <p>
+ If the property <member>Persistent</member> is <TRUE/> changes on the structure of
+ the user interface element are written back to configuration source. When this property is
+ changed, afterwards <member>XUIElementSettings::updateSettings</member> must be called so
+ the user interface element tries to retrieve its settings from the new user interface
+ configuration manager.
+ </p>
+ */
+ [property] com::sun::star::ui::XUIConfigurationManager ConfigurationSource;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ConfigurationEvent.idl b/offapi/com/sun/star/ui/ConfigurationEvent.idl
new file mode 100644
index 000000000000..9001f3d2b333
--- /dev/null
+++ b/offapi/com/sun/star/ui/ConfigurationEvent.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ConfigurationEvent_idl__
+#define __com_sun_star_ui_ConfigurationEvent_idl__
+
+#ifndef __com_sun_star_container_ContainerEvent_idl__
+#include <com/sun/star/container/ContainerEvent.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** this event is broadcasted by a configuration manager whenever the state of
+ user interface element has changed.
+
+ @since OOo 2.0.0
+*/
+
+published struct ConfigurationEvent : ::com::sun::star::container::ContainerEvent
+{
+ /** contains the resource URL of the user interface element or a
+ configuration manager, which has been changed, inserted or replaced. */
+ string ResourceURL;
+
+ /** contains additional information about this configuration event.
+ The type depends on the specific implementation.
+ */
+ any aInfo;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ContextMenuExecuteEvent.idl b/offapi/com/sun/star/ui/ContextMenuExecuteEvent.idl
new file mode 100644
index 000000000000..09fa6843efb7
--- /dev/null
+++ b/offapi/com/sun/star/ui/ContextMenuExecuteEvent.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ContextMenuExecuteEvent_idl__
+#define __com_sun_star_ui_ContextMenuExecuteEvent_idl__
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+#ifndef __com_sun_star_awt_Point_idl__
+#include <com/sun/star/awt/Point.idl>
+#endif
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+#ifndef __com_sun_star_view_XSelectionSupplier_idl__
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** contains all information about the requested context menu.
+ */
+published struct ContextMenuExecuteEvent
+{
+ /** contains the window where the context menu has been requested
+ */
+ ::com::sun::star::awt::XWindow SourceWindow;
+ /** contains the position the context menu will be executed at.
+ */
+ ::com::sun::star::awt::Point ExecutePosition;
+ /** enables the access to the menu content.
+ The implementing object has to support the service
+ <type scope="com::sun::star::ui">ActionTriggerContainer</type>;
+ */
+ ::com::sun::star::container::XIndexContainer ActionTriggerContainer;
+ /** provides the current selection inside the source window.
+ */
+ ::com::sun::star::view::XSelectionSupplier Selection;
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/ContextMenuInterceptorAction.idl b/offapi/com/sun/star/ui/ContextMenuInterceptorAction.idl
new file mode 100644
index 000000000000..bbcc53227ef1
--- /dev/null
+++ b/offapi/com/sun/star/ui/ContextMenuInterceptorAction.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ContextMenuInterceptorAction_idl__
+#define __com_sun_star_ui_ContextMenuInterceptorAction_idl__
+
+module com { module sun { module star { module ui {
+
+
+/** determines the action that is requested from the <type>XContextMenuInterceptor</type>.
+ */
+published enum ContextMenuInterceptorAction
+{
+ /** the <type>XContextMenuInterceptor</type> has ignored the call. The next registered
+ <type>XContextMenuInterceptor</type> should be notified.
+ */
+ IGNORED,
+ /** the context menu must not be executed. The next registered
+ <type>XContextMenuInterceptor</type> should not be notified.
+ */
+ CANCELLED,
+ /**
+ the menu has been modified and should be executed without notifying the next registered
+ <type>XContextMenuInterceptor</type>.
+ */
+ EXECUTE_MODIFIED,
+ /**
+ the menu has been modified and the next registered <type>XContextMenuInterceptor</type>
+ should be notified.
+ */
+ CONTINUE_MODIFIED
+};
+
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/DockingArea.idl b/offapi/com/sun/star/ui/DockingArea.idl
new file mode 100644
index 000000000000..9a4170dc1173
--- /dev/null
+++ b/offapi/com/sun/star/ui/DockingArea.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_DockingArea_idl__
+#define __com_sun_star_ui_DockingArea_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** specifies different docking areas a frame based layout manager
+ supports.
+
+ <p>
+ A frame based layout manager supports four different docking areas where
+ dockable user interface elements can be docked.
+
+ @see com::sun::star::frame::XLayoutManager
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+enum DockingArea
+{
+ /** the top docking area below the menu bar.
+ */
+ DOCKINGAREA_TOP,
+
+ /** the bottom docking area above the status bar.
+ */
+ DOCKINGAREA_BOTTOM,
+
+ /** the left side docking area.
+ */
+ DOCKINGAREA_LEFT,
+
+ /** the right side docking area.
+ */
+ DOCKINGAREA_RIGHT,
+
+ /** a default docking area. It depends on the implementation
+ how to treat this value.
+ */
+ DOCKINGAREA_DEFAULT
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl
new file mode 100644
index 000000000000..58ff8da73fa0
--- /dev/null
+++ b/offapi/com/sun/star/ui/GlobalAcceleratorConfiguration.idl
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_GlobalAcceleratorConfiguration_idl__
+#define __com_sun_star_ui_GlobalAcceleratorConfiguration_idl__
+
+#ifndef __com_sun_star_ui_XAcceleratorConfiguration_idl__
+#include <com/sun/star/ui/XAcceleratorConfiguration.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+//-----------------------------------------------
+/** provides access to the global shortcut configuration set.
+
+ <p> The GlobalAcceleratorConfiguration service can be created
+ by using an UNO service manager. It provides then access to
+ the global accelerator configuration.</p>
+
+ @since OOo 2.0.0
+*/
+service GlobalAcceleratorConfiguration : XAcceleratorConfiguration
+{};
+
+}; }; }; }; // com.sun.star
+
+#endif
diff --git a/offapi/com/sun/star/ui/ImageType.idl b/offapi/com/sun/star/ui/ImageType.idl
new file mode 100644
index 000000000000..fb35073f9d38
--- /dev/null
+++ b/offapi/com/sun/star/ui/ImageType.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ImageType_idl__
+#define __com_sun_star_ui_ImageType_idl__
+
+module com { module sun { module star { module ui {
+
+/** Determine the image set of an image manager.
+
+ <p>
+ The constants describe bits in a bit field which determine
+ the current image set of an image manager.
+ </p>
+
+ @since OOo 2.0.0
+ */
+constants ImageType
+{
+ //-------------------------------------------------------------------------
+ /** an image with default size.
+ */
+ const short SIZE_DEFAULT = 0;
+ //-------------------------------------------------------------------------
+ /** an image with big size;
+ */
+ const short SIZE_LARGE = 1;
+ //-------------------------------------------------------------------------
+ /** an image with normal colors.
+ */
+ const short COLOR_NORMAL = 0;
+ //-------------------------------------------------------------------------
+ /** an image with high contrast colors.
+ */
+ const short COLOR_HIGHCONTRAST = 4;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ItemDescriptor.idl b/offapi/com/sun/star/ui/ItemDescriptor.idl
new file mode 100644
index 000000000000..8732f300b96d
--- /dev/null
+++ b/offapi/com/sun/star/ui/ItemDescriptor.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ItemDescriptor_idl__
+#define __com_sun_star_ui_ItemDescriptor_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+/**
+ describes a user interface item that is part of a user interface
+ element.
+ <p>Common examples for such elements are:
+ <ul>
+ <li>menus</li>
+ <li>tool bars</li>
+ <li>status bars</li>
+ </ul>
+ No assumption is made about any graphical representation:
+ You could have a menu or a toolbox working with the same item descriptor.
+ </p>
+
+ @since OOo 2.0.0
+*/
+service ItemDescriptor
+{
+ /** specifies which type this item descriptor belongs to.<p>See constant definition
+ <type>ItemType</type>.</p>
+ */
+ [property] short Type;
+
+ /** the text of the user interface item.
+ */
+ [property] string Label;
+
+ /** contains the command URL which specifies which action should be accomplished.
+ */
+ [property] string CommandURL;
+
+ /** contains the a URL that points to a help text.
+ */
+ [property] string HelpURL;
+
+ /** different styles which influence the appearance of the item and its behavior.
+ <p>This property is only valid if the item describes a toolbar or statusbar
+ item. See <type>ItemStyle</type> for more information about possible styles.</p>
+ */
+ [optional, property] short Style;
+
+ /** specifies the pixel distance by which the text of the item is shifted on the x-axis.
+ <p>This property is only valid if the item describes a statusbar item.</p>
+ */
+ [optional, property] short Offset;
+
+ /** specifies an optional sub container.
+ <p>This property is valid for menus only. It can be used to define sub menus.</p>
+ */
+ [optional, property] com::sun::star::container::XIndexAccess ItemDescriptorContainer;
+
+ /** specifies if this item is visible or not.
+ <p>This property is only valid if the item describes a toolbar or statusbar item.</p>
+ */
+ [optional, property] boolean IsVisible;
+
+ /** specifies a pixel width for this item inside the user interface element.
+ <p>This property is only valid if the item describes a toolbar or statusbar item.</p>
+ */
+ [optional, property] short Width;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ItemStyle.idl b/offapi/com/sun/star/ui/ItemStyle.idl
new file mode 100644
index 000000000000..78e11cde05fd
--- /dev/null
+++ b/offapi/com/sun/star/ui/ItemStyle.idl
@@ -0,0 +1,158 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ItemStyle_idl__
+#define __com_sun_star_ui_ItemStyle_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+/**
+ specifies styles which influence the appearance and the behavior of an
+ user interface item.
+
+ <p>
+ These styles are only valid if the item describes a toolbar or statusbar item.
+ The style values can be combined with the OR operator. Styles which are not valid
+ for an item will be ignored by the implementation.<br/>
+ There are two styles where
+ only one value is valid:
+ Alignment:
+ <ul>
+ <li>ALIGN_LEFT</li>
+ <li>ALIGN_CENTER</li>
+ <li>ALIGN_RIGHT</li>
+ </ul>
+ Drawing:
+ <ul>
+ <li>DRAW_OUT3D</li>
+ <li>DRAW_IN3D</li>
+ <li>DRAW_FLAT</li>
+ </ul>
+ </p>
+
+ @since OOo 2.0.0
+*/
+constants ItemStyle
+{
+ //-------------------------------------------------------------------------
+ /** specifies how the output of the item is aligned in the bounding box of
+ the user interface element.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item with a left aligned output.</p>
+ */
+ const short ALIGN_LEFT = 1;
+
+ /** specifies how the output of the item is aligned in the bounding box of
+ the user interface element.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item with a centered aligned output.</p>
+ */
+ const short ALIGN_CENTER = 2;
+
+ /** specifies how the output of the item is aligned in the bounding box of
+ the user interface element.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item with a right aligned output.</p>
+ */
+ const short ALIGN_RIGHT = 3;
+
+ //-------------------------------------------------------------------------
+ /** specifies how the implementation should draw the item.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item with an embossed 3D effect.</p>
+ */
+ const short DRAW_OUT3D = 4;
+
+ /** specifies how the implementation should draw the item.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item with an impressed 3D effect.</p>
+ */
+ const short DRAW_IN3D = 8;
+
+ /** specifies how the implementation should draw the item.
+ <p>This style is only valid for an item which describes a statusbar item.
+ Draw item without an 3D effect.</p>
+ */
+ const short DRAW_FLAT = 12;
+
+ //-------------------------------------------------------------------------
+ /** specifies whether or not a item is displayed using an external function.
+ <p>This style is only valid if the item describes a statusbar item.</p>
+ */
+ const short OWNER_DRAW = 16;
+
+ //-------------------------------------------------------------------------
+ /** specifies whether or not the size of the item is set automatically by
+ the parent user interface element.
+ <p>This style is only valid if the item describes a toolbar or statusbar item.</p>
+ */
+ const short AUTO_SIZE = 32;
+
+ //-------------------------------------------------------------------------
+ /** determines whether the item unchecks neighbor entries which have also this style set.
+ <p>This style is only valid if the item describes a toolbar item.</p>
+ */
+ const short RADIO_CHECK = 64;
+
+ //-------------------------------------------------------------------------
+ /** specifies if an icon is placed on left side of the text, like an entry in a taskbar.
+ <p>This style is only valid if the item describes a toolbar item and visible if
+ style of the toolbar is set to symboltext.</p>
+ <p> This style can also be used for custom toolbars and menus, in a custom toolbar an item's Style setting can used to override the toolbar container setting, the style can be bitwise OR-ed with <member scope="::com::sun::star::ui::ItemStyle">TEXT</member> to define text, text+icon or icon only is to be displayed. Similarly for menu items, an items Style can override the application setting to display either text or icon ( note: for menu an icon only setting interpreted as icon+text ) </p>
+ */
+ const short ICON = 128;
+
+ //-------------------------------------------------------------------------
+ /** specifies that the item supports a dropdown menu or toolbar for additional functions.
+ <p>This style is only valid if the item describes a toolbar item.</p>
+ */
+ const short DROP_DOWN = 256;
+
+ //-------------------------------------------------------------------------
+ /** indicates that the item continues to execute the command while you click and hold
+ the mouse button.
+ <p>This style is only valid if the item describes a toolbar item.</p>
+ */
+ const short REPEAT = 512;
+
+ //-------------------------------------------------------------------------
+ /** indicates that the item only supports a dropdown menu or toolbar for
+ additional functions. There is no function on the button itself.
+ <p>This style is only valid if the item describes a toolbar item.</p>
+ */
+ const short DROPDOWN_ONLY = 1024;
+ /** indicates if icon, text or text+icon is displayed for the item.
+ <p> This style can be used for custom toolbars and menus, in a custom toolbar an item's Style setting can used to override the toolbar container setting, the style can be bitwise OR-ed with <member scope="com::sun::star::ui::ItemStyle">ICON</member> to define text, text+icon or icon only is to be displayed. Similarly for menu items, an items Style can override the application setting to display either text or icon ( note: for menu an icon only setting interpreted as icon+text ) </p>
+ */
+ const short TEXT = 2048;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ItemType.idl b/offapi/com/sun/star/ui/ItemType.idl
new file mode 100644
index 000000000000..53b655e85683
--- /dev/null
+++ b/offapi/com/sun/star/ui/ItemType.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ItemType_idl__
+#define __com_sun_star_ui_ItemType_idl__
+
+module com { module sun { module star { module ui {
+
+/** Determines the type of an item.
+
+ @since OOo 2.0.0
+ */
+constants ItemType
+{
+ //-------------------------------------------------------------------------
+ /** a normal item
+ */
+ const short DEFAULT = 0;
+ //-------------------------------------------------------------------------
+ /** a separator is inserted as a line.
+ */
+ const short SEPARATOR_LINE = 1;
+ //-------------------------------------------------------------------------
+ /** a separator is inserted as a space.
+ */
+ const short SEPARATOR_SPACE = 2;
+ //-------------------------------------------------------------------------
+ /** a line break is inserted.
+ */
+ const short SEPARATOR_LINEBREAK = 3;
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl b/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl
new file mode 100644
index 000000000000..3b410d9dc799
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUICategoryDescription.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ModuleUICommandDescription_idl__
+#define __com_sun_star_ui_ModuleUICommandDescription_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** a service which provides information about the user interface command
+ categories of a single module.
+
+ <p>
+ Every OpenOffice.org module has an amount of commands that can be used by
+ user interface elements. This service provides access to the user interface
+ commands that are part of a single OpenOffice.org module, like Writer
+ or Calc.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service ModuleUICategoryDescription
+{
+ /** provides access to user interface command categories of an installed
+ module.
+
+ <p>
+ An implementation must provide a language dependent string which
+ can be used by a UI to display the category name.
+ The key to a user interface command category depends on the specific
+ implementation. OpenOffice.org uses a pre-defined number of
+ identifiers defined in <type scope="::com::sun:star::frame">
+ CommandGroup</type>.
+ </p>
+
+ @see ::com::sun::star::frame::ModuleManager
+ @see ::com::sun::star::frame::CommandGroup
+ */
+
+ interface com::sun::star::container::XNameAccess;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ModuleUICommandDescription.idl b/offapi/com/sun/star/ui/ModuleUICommandDescription.idl
new file mode 100644
index 000000000000..42805d5ff464
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUICommandDescription.idl
@@ -0,0 +1,84 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ModuleUICommandDescription_idl__
+#define __com_sun_star_ui_ModuleUICommandDescription_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** a service which provides information about the user interface commands of
+ a single module.
+
+ <p>
+ Every OpenOffice.org module has an amount of commands that can be used by
+ user interface elements. This service provides access to the user interface commands
+ that are part of a single OpenOffice.org module, like Writer or Calc.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service ModuleUICommandDescription
+{
+ /** provides access to user interface commands of an installed module.
+
+ <p>
+ An implementation must provide a <type scope="com::sun::star::uno">Sequence</type> which
+ has <type scope="com::sun::star::beans">PropertyValue</type> as entries. The following
+ entries a defined:
+ <ul>
+ <li><b>Label</b><br>a string which specifies the short name of the user interface command with
+ mnemonic and optional subsequent ... if the command needs additional user input. This string
+ can directly be used to set the text of a menu item.</li>
+ <li><b>Name</b><br>a string which specifies the short name of the user interface command without
+ any additional information. It can be used for the bubble help.</li>
+ <li><b>Popup</b><br>a boolean which specifies if the user interface command is a unique
+ identifier for a pop-up menu. A pop-up menu has a label, but is not bound to a command.</li>
+ </ul>
+ The key to a user interface command description is the user interface command itself which has
+ the following syntax ".uno:$Command". For example ".uno:Open" shows the file open dialog.
+ A complete list of user interface commands can be found inside the latest OpenOffice Developers Guide
+ or online at http://framework.openoffice.org.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+ */
+
+ interface com::sun::star::container::XNameAccess;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl
new file mode 100644
index 000000000000..0b4246c21c6c
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUIConfigurationManager.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ModuleUIConfigurationManager_idl__
+#define __com_sun_star_ui_ModuleUIConfigurationManager_idl__
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XModuleUIConfigurationManager_idl__
+#include <com/sun/star/ui/XModuleUIConfigurationManager.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfiguration_idl__
+#include <com/sun/star/ui/XUIConfiguration.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** specifies a user interface configuration manager which gives access to user interface
+ configuration data of a module.
+
+ <p>
+ A module user interface configuration manager supports two layers of configuration settings
+ data:<br/>
+ 1. Layer: A module default user interface configuration which describe all user interface
+ elements settings that are used by OpenOffice. It is not possible to insert, remove or change
+ elements settings in this layer through the interfaces.</br>
+ 2. Layer: A module user interface configuration which only contains customized user interface
+ elements and user-defined ones. All changes on user interface element settings are done on
+ this layer.</br>
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service ModuleUIConfigurationManager
+{
+ /** provides a function to initialize a module user interface configuration manager instance.
+
+ <p>
+ A module user interface configuration manager instance needs the following arguments as
+ <type scope="com::sun::star::beans">PropertyValue</type> to be in a working state:
+ <ul>
+ <li><b>DefaultConfigStorage</b>a reference to a <type scope="com::sun::star::embed">Storage</type> that
+ contains the default module user interface configuration settings.</li>
+ <li><b>UserConfigStorage</b>a reference to a <type scope="com::sun::star::embed">Storage</type> that
+ contains the user-defined module user interface configuration settings.</li>
+ <li><b>ModuleIdentifier</b>string that provides the module identifier.</li>
+ <li><b>UserRootCommit</b>a reference to a <type scope="com::sun::star::embed">XTransactedObject</type> which
+ represents the customizable root storage. Every implementation must use this reference to commit its
+ changes also at the root storage.</li>
+ </ul>
+ A non-initialized module user interface configuration manager cannot be used, it is treated
+ as a read-only container.
+ </p>
+ */
+ interface com::sun::star::lang::XInitialization;
+
+ /** provides access to persistence functions to load/store user interface element
+ settings from/to a module storage.
+ */
+ interface com::sun::star::ui::XUIConfigurationPersistence;
+
+ /** provides functions to change, insert and remove user interface element settings
+ from a module user interface configuration manager.
+ */
+ interface com::sun::star::ui::XUIConfigurationManager;
+
+ /** provides access to the default layer of a module based ui configuration
+ manager.
+ */
+ interface com::sun::star::ui::XModuleUIConfigurationManager;
+
+ /** provides functions to add and remove listeners for changes within a module user
+ interface configuration manager.
+ */
+ interface com::sun::star::ui::XUIConfiguration;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl
new file mode 100644
index 000000000000..835fecc0e5ab
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleUIConfigurationManagerSupplier.idl
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_ModuleUIConfigurationManagerSupplier_idl__
+#define __com_sun_star_ui_ModuleUIConfigurationManagerSupplier_idl__
+
+#ifndef __com_sun_star_ui_XModuleUIConfigurationManagerSupplier_idl__
+#include <com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** specifies a central user interface configuration provider which gives
+ access to module based user interface configuration managers.
+
+ @since OOo 2.0.0
+*/
+
+service ModuleUIConfigurationManagerSupplier
+{
+ /** controls module based user interface configuration managers.
+
+ <p>
+ There can only exists one user interface configuration manager for
+ a module. A user interface configuration manager supports to get and set
+ user interface configuration data for configurable user interface elements.
+
+ @see ConfigurableUIElement
+ @see XUIConfigurationManager
+ </p>
+ */
+ interface XModuleUIConfigurationManagerSupplier;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl b/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl
new file mode 100644
index 000000000000..8127bc25c566
--- /dev/null
+++ b/offapi/com/sun/star/ui/ModuleWindowStateConfiguration.idl
@@ -0,0 +1,98 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_ModuleUICommandDescription_idl__
+#define __com_sun_star_ui_ModuleUICommandDescription_idl__
+
+#ifndef __com_sun_star_container_XNameContainer_idl__
+#include <com/sun/star/container/XNameContainer.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** a service which provides window based information about user interface
+ elements of a single application module.
+
+ <p>
+ Every OpenOffice.org module has an amount of user interface elements that can
+ be positioned, resized, closed and their style can be changed. This service
+ provides access to the window based information of available user interface
+ elements which are part of a single OpenOffice.org module, like Writer or
+ Calc.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service ModuleWindowStateConfiguration
+{
+ /** provides read/write access to window based information of user interface
+ elements which are part of single installed module.
+
+ <p>
+ An implementation must provide a <type scope="com::sun::star::uno">Sequence</type> which
+ has <type scope="com::sun::star::beans">PropertyValue</type> as entries. The following
+ entries a defined:
+ <ul>
+ <li><b>Docked</b><br>a boolean which specifies if the window is docked or not.</li>
+ <li><b>DockingArea</b><br>a <type scope="com::sun::star::ui">DockingArea</type>
+ which specifies the docking area where the window is docked.</li>
+ <li><b>DockPos</b><br>a <type scope="com::sun::star::awt">Point</type> which specifies the
+ docked position of a window. The X and Y values are interpreted as a row/column number and
+ a pixel position for top/bottom docked windows. For left/right docked windows this is</li>
+ <li><b>DockSize</b><br>a <type scope="com::sun::star::awt">Size</type> which specifies
+ the docked size of the window. This property is currently not used by the layout manager
+ implementation. For future use.</li>
+ <li><b>Locked</b><br>a boolean which specifies if the window is locked or not. This property
+ is only valid for docked windows</li>
+ <li><b>Pos</b><br>a <type scope="com::sun::star::awt">Point</type> which specifies the
+ floating position in pixel of the window.</li>
+ <li><b>Size</b><br>a <type scope="com::sun::star::awt">Size</type> which specifies the
+ floating size in pixel of the window.</li>
+ <li><b>Style</b><br>a long which specifies the style of the window. A toolbar support the
+ following values: 0 = icons, 1 = text, 2 = text+icons.</li>
+ <li><b>UIName</br><br>a localized string which specifies the default window title.</li>
+ </ul>
+ The key to a user interface element is the resource URL which has
+ the following syntax "private:resource/$type/$name". For example "private:resource/toolbar/standardbar"
+ addresses the standard bar of a module.
+ A complete list of all user interface elements is available in the Developers Guide.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+ */
+
+ interface com::sun::star::container::XNameContainer;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/UICategoryDescription.idl b/offapi/com/sun/star/ui/UICategoryDescription.idl
new file mode 100644
index 000000000000..9853b43fc769
--- /dev/null
+++ b/offapi/com/sun/star/ui/UICategoryDescription.idl
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_UICategoryDescription_idl__
+#define __com_sun_star_ui_UICategoryDescription_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** a service which provides information about user interface command
+ categories.
+
+ <p>
+ OpenOffice.org has an amount of commands that can be used by user
+ interface elements. Every command is member of a single category.
+ Categories makes it easier to handle to huge amount of commands
+ provided by OpenOffice.org. This service is normally used by UI
+ implementations which provides all commands to a user.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+//=============================================================================
+
+service UICategoryDescription
+{
+ /** provides access to user interface command categories of the installed
+ modules.
+
+ <p>
+ To access the user interface command categories of a module, a unique
+ module specifier must be provided to
+ <member scope="com::sun::star::container">XNameAccess::getByName()</member>
+ function. The module specifier can be retrieved from the
+ <type scope="com::sun::star::frame">ModuleManager</type>
+ service. The interface provides references to
+ <type scope="com::sun:star::ui">ModuleUICommandDescription</type>.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+ */
+
+ interface com::sun::star::container::XNameAccess;
+};
+
+}; }; }; }; // com.sun.star.ui
+
+#endif
diff --git a/offapi/com/sun/star/ui/UICommandDescription.idl b/offapi/com/sun/star/ui/UICommandDescription.idl
new file mode 100644
index 000000000000..76d7c179731b
--- /dev/null
+++ b/offapi/com/sun/star/ui/UICommandDescription.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_UICommandDescription_idl__
+#define __com_sun_star_ui_UICommandDescription_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** a service 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 service provides access to the user interface commands that
+ are part of OpenOffice.org modules, like Writer or Calc.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service UICommandDescription
+{
+ /** 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 <member scope="com::sun::star::container">XNameAccess::getByName()</member> function.
+ The module specifier can be retrieved from the <type scope="com::sun::star::frame">ModuleManager</type>
+ service. The interface provides references to <type scope="com::sun:star::ui">ModuleUICommandDescription</type>.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+ */
+
+ interface com::sun::star::container::XNameAccess;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/UIConfigurationManager.idl b/offapi/com/sun/star/ui/UIConfigurationManager.idl
new file mode 100644
index 000000000000..7fe313bf178d
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIConfigurationManager.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_UIConfigurationManager_idl__
+#define __com_sun_star_ui_UIConfigurationManager_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfiguration_idl__
+#include <com/sun/star/ui/XUIConfiguration.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationStorage_idl__
+#include <com/sun/star/ui/XUIConfigurationStorage.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** specifies a user interface configuration manager which controls
+ all customizable user interface elements of an object.
+
+ @since OOo 2.0.0
+*/
+
+service UIConfigurationManager
+{
+ /** provides access to set a storage and to check if a storage has been
+ associated to the user interface configuration manager.
+ */
+ interface com::sun::star::ui::XUIConfigurationStorage;
+
+ /** provides access to persistence functions to load/store user interface configuration
+ data from a storage.
+ */
+ interface com::sun::star::ui::XUIConfigurationPersistence;
+
+ /** provides functions to change, insert and remove user interface elements
+ from a user interface configuration manager.
+ */
+ interface com::sun::star::ui::XUIConfigurationManager;
+
+ /** provides functions to add and remove listeners for changes within a user
+ interface configuration manager.
+ */
+ interface com::sun::star::ui::XUIConfiguration;
+
+ /** allows controlling or observing the lifetime of a user interface configuration manager
+ instance.
+
+ <p>The owner of the object may dispose of this object using
+ <member scope="com::sun::star::lang">XComponent::dispose()</member>.
+ </p>
+ */
+ interface ::com::sun::star::lang::XComponent;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/UIElement.idl b/offapi/com/sun/star/ui/UIElement.idl
new file mode 100644
index 000000000000..580a660f734e
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElement.idl
@@ -0,0 +1,112 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_UIElement_idl__
+#define __com_sun_star_ui_UIElement_idl__
+
+#ifndef __com_sun_star_ui_XUIElement_idl__
+#include <com/sun/star/ui/XUIElement.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_util_XUpdatable_idl__
+#include <com/sun/star/util/XUpdatable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** specifies a user interface element.
+
+ <p>
+ A user interface element consists of a unique identifier and a type specifier. It
+ provides an interface to retrieve a special purpose interface which depends on
+ the specific user interface element type. Every user interface must be initialized
+ before it can be used.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service UIElement
+{
+ /** provides a function to retrieve a special purpose interface which depends on
+ the specific user interface element type.
+ */
+ interface ::com::sun::star::ui::XUIElement;
+
+ /** interface to initialize a user interface element instance.
+
+ A user interface element must be initialized using
+ <member scope=com::sun::star::lang>XInitialization::initialize</member> before
+ it can be used. The following property must be provided:
+ <ul>
+ <li><b>ResourceURL</b>specifies a string property which is the unique identifier of
+ the user interface element.</li>
+ </ul>
+
+ A user interface element factory creates and initializes every user interface element
+ correctly.
+
+ @see com::sun::star::ui::UIElementFactoryManager;
+ @see com::sun::star::ui::UIElementFactory
+ */
+ [optional] interface ::com::sun::star::lang::XInitialization;
+
+ /** used to notify an implementation that it needs to update its visual representation.
+
+ <p>
+ A user interface element implementation should check if it has to update its visual
+ representation. It is up to the implementation if it ignores notifications.
+ </p>
+ */
+ [optional] interface com::sun::star::util::XUpdatable;
+
+ /** controls the life-time of the object.
+ */
+ interface ::com::sun::star::lang::XComponent;
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/UIElementFactory.idl b/offapi/com/sun/star/ui/UIElementFactory.idl
new file mode 100644
index 000000000000..2710d13d1d35
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementFactory.idl
@@ -0,0 +1,67 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_UIElementFactory_idl__
+#define __com_sun_star_ui_UIElementFactory_idl__
+
+#ifndef __com_sun_star_ui_XUIElementFactory_idl__
+#include <com/sun/star/ui/XUIElementFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** specifies a user interface element factory that can create and initialize
+ a user interface element type.
+
+ <p>
+ It depends on the implementation which user interface element types can be
+ created. It is also possible that a factory is only able to create one
+ special user interface element. User interface element factories must be
+ registered at the single instance <type>UIElementFactoryManager</type>
+ service to provide access to itself.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service UIElementFactory
+{
+ /** this interface provides a function to create and initialize new
+ instances of user interface elements.
+
+ @see XUIElementFactory
+ */
+ interface com::sun::star::ui::XUIElementFactory;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/UIElementFactoryManager.idl b/offapi/com/sun/star/ui/UIElementFactoryManager.idl
new file mode 100644
index 000000000000..c814a58f6b8e
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementFactoryManager.idl
@@ -0,0 +1,76 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_UIElementFactory_idl__
+#define __com_sun_star_ui_UIElementFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiComponentFactory_idl__
+#include <com/sun/star/lang/XMultiComponentFactory.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIElementFactoryRegistration_idl__
+#include <com/sun/star/ui/XUIElementFactoryRegistration.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** specifies a user interface factory manager that controls all registered user
+ interface element factories.
+
+ <p>An implementation is usually obtained from a
+ <type scope="com::sun::star::lang">ServiceManager</type>.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service UIElementFactoryManager
+{
+ /** provides a function to create new instances of user interface elements.
+
+ <p>
+ A user interface element factory manager is also a user interface element factory. It
+ retrieves the responsible user interface element factory from the provided arguments and passes
+ the arguments to it.
+
+ see @XUIElementFactory
+ </p>
+ */
+ interface XUIElementFactory;
+
+ /** provides functions to query, retrieve, register and deregister user interface element factories.
+ */
+ interface XUIElementFactoryRegistration;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/UIElementSettings.idl b/offapi/com/sun/star/ui/UIElementSettings.idl
new file mode 100644
index 000000000000..9362211407e9
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementSettings.idl
@@ -0,0 +1,94 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_UIElementSettings_idl__
+#define __com_sun_star_ui_UIElementSettings_idl__
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XSingleComponentFactory_idl__
+#include <com/sun/star/lang/XSingleComponentFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/**
+ describes the internal structure of a configurable user interface element.
+
+ <p>
+ No assumption is made about any graphical representation:
+ You could have a menu or a toolbar working with the same UIElementSettings
+ although limitations based on the real user interface element may be visible.
+ </p>
+
+ @since OOo 2.0.0
+*/
+service UIElementSettings
+{
+ /** provides access to the structure of the user interface element.
+
+ <p>
+ The container contains the items of the user interface element. Every
+ item is stored as a sequence of <type scope="com::sun::star::beans">PropertyValue</type>.
+ The properties insides the sequence are defined by the service <type scope="com::sun::star::ui">ItemDescriptor</type>.
+ It depends on the function which provides these service if the container is shareable read-only or exclusive writable.
+
+ @see com::sun::star::ui::ItemDescriptor
+ @see com::sun::star::ui::ItemType
+ @see com::sun::star::ui::ItemStyle
+ </p>
+ */
+ interface ::com::sun::star::container::XIndexAccess;
+
+
+ /** provides access to an optional factory interface to create sub container.
+
+ <p>
+ The factory should be used to create sub container within this user interface element settings. This interface is only
+ available if the container is exclusive writable.
+ </p>
+ */
+ [optional] interface ::com::sun::star::lang::XSingleComponentFactory;
+
+ /** determine an optional user interface name of the user interface element.
+
+ <p>
+ A toolbar can show a its user interface name on the window title, when it is in floating mode.
+ </p>
+ */
+ [optional, property] string UIName;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/UIElementType.idl b/offapi/com/sun/star/ui/UIElementType.idl
new file mode 100644
index 000000000000..63fb62186747
--- /dev/null
+++ b/offapi/com/sun/star/ui/UIElementType.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_UIElementType_idl__
+#define __com_sun_star_ui_UIElementType_idl__
+
+module com { module sun { module star { module ui {
+
+/** determine the type of a user interface element which is controlled
+ by a layout manager.
+
+ @since OOo 2.0.0
+ */
+constants UIElementType
+{
+ //-------------------------------------------------------------------------
+ /** unknown user interface element type, which can be used as a wildcard
+ to specify all types.
+ */
+ const short UNKNOWN = 0;
+
+ //-------------------------------------------------------------------------
+ /** specifies a menu bar.
+ */
+ const short MENUBAR = 1;
+
+ //-------------------------------------------------------------------------
+ /** specifies a pop-up menu.
+ */
+ const short POPUPMENU = 2;
+
+ //-------------------------------------------------------------------------
+ /** specifies a toolbar.
+ */
+ const short TOOLBAR = 3;
+
+ //-------------------------------------------------------------------------
+ /** specifies a statusbar.
+ */
+ const short STATUSBAR = 4;
+
+ //-------------------------------------------------------------------------
+ /** specifies a floating window, which can also be docked.
+ */
+ const short FLOATINGWINDOW = 5;
+
+ //-------------------------------------------------------------------------
+ /** specifies a floating window, which can also be docked.
+ */
+ const short PROGRESSBAR = 6;
+
+ //-------------------------------------------------------------------------
+ /** specifies a tool panel
+ */
+ const short TOOLPANEL = 7;
+
+ //-------------------------------------------------------------------------
+ /** specifies the number of constants.
+ */
+ const short COUNT = 8;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/WindowContentFactory.idl b/offapi/com/sun/star/ui/WindowContentFactory.idl
new file mode 100644
index 000000000000..c1ea6a94d9b8
--- /dev/null
+++ b/offapi/com/sun/star/ui/WindowContentFactory.idl
@@ -0,0 +1,59 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_WindowContentFactory_idl__
+#define __com_sun_star_ui_WindowContentFactory_idl__
+
+#ifndef __com_sun_star_lang_XSingleComponentFactory_idl__
+#include <com/sun/star/lang/XSingleComponentFactory.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** specifies a factory which creates a window that is a container for user
+ interface elements. Dependent on the provided arguments different window
+ types can be created. This container window must be capable of being
+ integrated into another window (e.g. docking or floating windows).
+
+ <p>
+ The specific type of the created window depends on the provided arguments.
+ </p>
+
+ @since OOo 3.1.0
+*/
+
+service WindowContentFactory : com::sun::star::lang::XSingleComponentFactory
+{
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/WindowStateConfiguration.idl b/offapi/com/sun/star/ui/WindowStateConfiguration.idl
new file mode 100644
index 000000000000..376feb6422db
--- /dev/null
+++ b/offapi/com/sun/star/ui/WindowStateConfiguration.idl
@@ -0,0 +1,74 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_WindowStateConfiguration_idl__
+#define __com_sun_star_ui_WindowStateConfiguration_idl__
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** a service which provides window based information about user interface
+ elements.
+
+ <p>
+ OpenOffice.org has an amount of user interface elements that can be positioned,
+ resized, closed and their style can be changed. This service provides access
+ to the window based information of available user interface elements which are
+ part of OpenOffice.org modules, like Writer or Calc.
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+service WindowStateConfiguration
+{
+ /** provides access to window based information about user interface elements
+ of all installed application modules.
+
+ <p>
+ To access the window based information of a module, a unique module specifier
+ must be provided to <member scope="com::sun::star::container">XNameAccess::getByName()</member> function.
+ The module specifier can be retrieved from the <type scope="com::sun::star::frame">ModuleManager</type>
+ service. The interface provides references to a <type scope="com::sun:star::ui">ModuleWindowStateConfiguration</type>.
+ </p>
+
+ @see com::sun::star::frame::ModuleManager
+ */
+
+ interface com::sun::star::container::XNameAccess;
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl b/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl
new file mode 100644
index 000000000000..92a77c71c8ac
--- /dev/null
+++ b/offapi/com/sun/star/ui/XAcceleratorConfiguration.idl
@@ -0,0 +1,304 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_XAcceleratorConfiguration_idl__
+#define __com_sun_star_ui_XAcceleratorConfiguration_idl__
+
+#ifndef __com_sun_star_ui_XUIConfiguration_idl__
+#include <com/sun/star/ui/XUIConfiguration.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationStorage_idl__
+#include <com/sun/star/ui/XUIConfigurationStorage.idl>
+#endif
+
+#ifndef __com_sun_star_awt_KeyEvent_idl__
+#include <com/sun/star/awt/KeyEvent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+//-----------------------------------------------
+/** provides read/write access to an accelerator configuration set.
+
+ <p>
+ Such configuration set base on:<br>
+ <ul>
+ <li>Key events structure</li>
+ <li>and Commands, which are represented as URLs; describing
+ a function, which and can be executed using the dispatch API.</li>
+ </ul>
+ </p>
+
+ <p>
+ Note further:<br>
+ All changes you made on this configuration access modify the
+ the configuration set inside memory only. You have to use
+ the <type scope="com::sun::star::util">XFlushable</type> interface
+ (which must be available at the same implementation object too), to
+ make it persistent.
+ </p>
+
+ @see AcceleratorConfiguration
+ @see <type scope="dom::sun::star::util">XFlushable</type>
+
+ @since OOo 2.0.0
+*/
+interface XAcceleratorConfiguration
+{
+ //-------------------------------------------
+ /** return the list of all key events, which
+ are available at this configuration set.
+
+ <p>
+ The key events are the "primary keys" of this configuration sets.
+ Means: Commands are registered for key events.
+ </p>
+
+ <p>
+ Such key event can be mapped to its bound command,
+ using the method getCommandForKeyEvent().
+ </p>
+
+ @see getCommandForKeyEvent().
+
+ @return A list of key events.
+ */
+ sequence< com::sun::star::awt::KeyEvent > getAllKeyEvents();
+
+ //-------------------------------------------
+ /** return the registered command for the specified key event.
+
+ <p>
+ This function can be used to:<br>
+ <ul>
+ <li>by a generic service, which can execute commands if a
+ keyboard event occurs.</li>
+ <li>or to iterate over the whole container and change some
+ accelerator bindings.</li>
+ </ul>
+ </p>
+
+ @param aKeyEvent
+ the key event, where the registered command is searched for.
+
+ @return The registered command for the specified key event.
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if the key event is an invalid one or does not exists
+ inside this configuration set.
+ */
+ string getCommandByKeyEvent( [in] com::sun::star::awt::KeyEvent aKeyEvent )
+ raises(com::sun::star::container::NoSuchElementException);
+
+ //-------------------------------------------
+ /** modify or create a key - command - binding.
+
+ <p>
+ If the specified key event does not already exists inside this
+ configuration access, it will be created and the command will be
+ registered for it.
+ </p>
+
+ <p>
+ If the specified key event already exists, its command will
+ be overwritten with the new command. There is no warning nor any error
+ about that! The outside code has to use the method getCommandForKeyEvent()
+ to check for possible collisions.
+ </p>
+
+ <p>
+ Note: This method cant be used to remove entities from the configuration set.
+ Empty parameters will result into an exception!
+ Use the method removeKeyEvent() instead.
+ </p>
+
+ @see removeKeyEvent()
+
+ @param aKeyEvent
+ specify the key event, which must be updated or new created.
+
+ @param sCommand
+ the new command for the specified key event.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the key event isn't a valid one. Commands can be
+ checked only, if they are empty. Because every URL schema can be used
+ by commands in general, so its not possible to validate it.
+ */
+ void setKeyEvent( [in] com::sun::star::awt::KeyEvent aKeyEvent,
+ [in] string sCommand )
+ raises(com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------
+ /** remove a key-command-binding from this configuration set.
+
+ @param aKeyEvent
+ the key event, which should be removed.
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if the key event does not exists inside this configuration set.
+ */
+ void removeKeyEvent( [in] com::sun::star::awt::KeyEvent aKeyEvent )
+ raises(com::sun::star::container::NoSuchElementException);
+
+ //-------------------------------------------
+ /** optimized access to the relation "command-key" instead
+ of "key-command" which is provided normally by this interface.
+
+ <p>
+ It can be used to implement collision handling, if more then one
+ key event match to the same command. The returned list contains all
+ possible key events - and the outside code can select an possible one.
+ Of course - mostly this list will contain only one key event ...
+ </p>
+
+ @param sCommand
+ the command, where key bindings are searched for.
+
+ @return A list of <type scope="com::sun::star::awt">KeyEvent</type> structures,
+ where the specified command is registered for.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the specified command is empty. It cant be checked, if a command
+ is valid - because every URL schema can be used here.
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if the specified command isn't empty but does not
+ occur inside this configuration set.
+ */
+ sequence< com::sun::star::awt::KeyEvent > getKeyEventsByCommand( [in] string sCommand )
+ raises(com::sun::star::lang::IllegalArgumentException ,
+ com::sun::star::container::NoSuchElementException);
+
+ //-------------------------------------------
+ /** optimized function to map a list of commands to a corresponding
+ list of key events.
+
+ <p>
+ It provides a fast mapping, which is e.g. needed by a menu or toolbar implementation.
+ E.g. a sub menu is described by a list of commands - and the implementation of the menu
+ must show the corresponding shortcuts. Iteration over all items of this configuration
+ set can be very expensive.
+ </p>
+
+ <p>
+ Instead to the method getKeyEventsForCommand() the returned list contains only
+ one(!) key event bound to one(!) requested command. If more then one key event
+ is bound to a command - a selection is done inside this method.
+ This internal selection cant be influenced from outside.
+ </p>
+
+ @attention Because its not defined, that any command (e.g. configured inside a menu)
+ must have an accelerator - we cant reject the call if at least one command
+ does not occur inside this configuration set ...
+ We handle it more gracefully - and return an empty item instead of throwing
+ and exception.
+
+ @param lCommandList
+ a list of commands
+
+ @return A (non packed!) list of key events, where every item match by index
+ directly to a command of the specified <var>CommandList</var>.
+ If a command does not exists inside this configuration set, the
+ corresponding any value will be empty.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if at least one of the specified commands is empty.
+ It cant be checked, if a command is valid -
+ because every URL schema can be used here.
+ */
+ sequence< any > getPreferredKeyEventsForCommandList( [in] sequence< string > lCommandList )
+ raises(com::sun::star::lang::IllegalArgumentException);
+
+ //-------------------------------------------
+ /** search for an key-command-binding inside this configuration set,
+ where the specified command is used.
+
+ <p>
+ If such binding could be located, the command will be removed
+ from it. If as result of that the key binding will be empty,
+ if will be removed too.
+ </p>
+
+ <p>
+ This is an optimized method, which can perform removing of commands
+ from this configuration set. Because normally Commands are "foreign keys"
+ and key identifier the "primary keys" - it needs some work to remove
+ all commands outside this container ...
+ </p>
+
+ @param sCommand
+ the command, which should be removed from any key binding.
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ if the specified command is empty.
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if the specified command isn't used inside this configuration set.
+ */
+ void removeCommandFromAllKeyEvents( [in] string sCommand )
+ raises(com::sun::star::lang::IllegalArgumentException ,
+ com::sun::star::container::NoSuchElementException);
+
+ //-------------------------------------------
+ /** specifies a persistence interface which supports to
+ load/store accelerator configuration data to a storage
+ and to retrieve information about the current state.
+ */
+ interface com::sun::star::ui::XUIConfigurationPersistence;
+
+ //-------------------------------------------
+ /** connects this configuration to a new storage
+ which must be used further on subsequent calls of
+ <type scope="com::sun::star::util::">XConfigurationPersistence.load()</type>
+ and <type scope="com::sun::star::util::">XConfigurationPersistence.store()</type>.
+ */
+ interface com::sun::star::ui::XUIConfigurationStorage;
+
+ //-------------------------------------------
+ /** supports to notify other implementations about
+ changes of this accelerator configuration.
+ */
+ interface com::sun::star::ui::XUIConfiguration;
+
+}; // interface XAcceleratorConfiguration
+
+}; }; }; }; // com.sun.star
+
+#endif
diff --git a/offapi/com/sun/star/ui/XContextMenuInterception.idl b/offapi/com/sun/star/ui/XContextMenuInterception.idl
new file mode 100644
index 000000000000..5d7df3baa00d
--- /dev/null
+++ b/offapi/com/sun/star/ui/XContextMenuInterception.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_XContextMenuInterception_idl__
+#define __com_sun_star_ui_XContextMenuInterception_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+
+ published interface XContextMenuInterceptor;
+/** This interface enables an object to get interceptors registered that
+ change context menus or prevent them from being executed.
+ */
+published interface XContextMenuInterception : ::com::sun::star::uno::XInterface
+{
+ /** registers an <type>XContextMenuInterceptor</type>, which will become
+ the first interceptor in the chain of registered interceptors.
+ */
+
+ void registerContextMenuInterceptor( [in]XContextMenuInterceptor Interceptor);
+ /** removes an <type>XContextMenuInterceptor</type> which was previously registered
+ using <member>XContextMenuInterception::registerContextMenuInterceptor</member>.
+
+ <p>The order of removals is arbitrary. It is not necessary to remove the last
+ registered interceptor first.</p>
+ */
+ void releaseContextMenuInterceptor( [in]XContextMenuInterceptor Interceptor);
+};
+}; }; }; };
+#endif
diff --git a/offapi/com/sun/star/ui/XContextMenuInterceptor.idl b/offapi/com/sun/star/ui/XContextMenuInterceptor.idl
new file mode 100644
index 000000000000..604cda99c839
--- /dev/null
+++ b/offapi/com/sun/star/ui/XContextMenuInterceptor.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_XContextMenuInterceptor_idl__
+#define __com_sun_star_ui_XContextMenuInterceptor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_ContextMenuInterceptorAction_idl__
+#include <com/sun/star/ui/ContextMenuInterceptorAction.idl>
+#endif
+#ifndef __com_sun_star_ui_ContextMenuExecuteEvent_idl__
+#include <com/sun/star/ui/ContextMenuExecuteEvent.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** This interface enables the object to be registered as interceptor to
+ change context menus or prevent them from being executed.
+ */
+published interface XContextMenuInterceptor : ::com::sun::star::uno::XInterface
+{
+ /** notifies the interceptor about the request to execute a ContextMenu.
+ The interceptor has to decide whether the menu should be executed with or without
+ being modified or may ignore the call.
+ */
+ ContextMenuInterceptorAction notifyContextMenuExecute([in]ContextMenuExecuteEvent aEvent);
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl b/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl
new file mode 100644
index 000000000000..8e6d9a01a4ac
--- /dev/null
+++ b/offapi/com/sun/star/ui/XDockingAreaAcceptor.idl
@@ -0,0 +1,119 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XDockingAreaAcceptor_idl__
+#define __com_sun_star_ui_XDockingAreaAcceptor_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_Rectangle_idl__
+#include <com/sun/star/awt/Rectangle.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XWindow_idl__
+#include <com/sun/star/awt/XWindow.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** this interface enables developer to implement different docking area
+ acceptors which are used by the frame based layout manager.
+
+ <p>
+ A docking area acceptor is responsible to control the docking area of a
+ container window. As OLE for example supports inplace and outplace editing,
+ there are different parts of code responsible for the container window.
+ This interface enables developer to make support implementations for these
+ scenarios.
+
+ @see com::sun::star::frame::XFrame
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+
+interface XDockingAreaAcceptor : com::sun::star::uno::XInterface
+{
+ /** provide the container window where the layout manager can request border
+ space for docking windows.
+
+ <p>
+ Additionally the layout manager uses this window to create its own child
+ windows for docking purposes.
+ </p>
+ */
+ com::sun::star::awt::XWindow getContainerWindow();
+
+ /** method to ask an implementation if the provided space for docking windows
+ is available or not.
+
+ <p>
+ The <type scope="com::sun::star::awt">Rectangle</type> parameter is
+ filled by the caller with pixel data. The members of
+ <type scope="com::sun::star::awt">Rectangle</type> must be filled
+ as following:
+ <ul>
+ <li>X = requested area on left side (in pixel)</li>
+ <li>Y = requested area on top side (in pixel)</li>
+ <li>Width = requested area on right side (in pixel)</li>
+ <li>Height = requested area on bottom side (in pixel)</li>
+ </ul>
+ </p>
+ */
+ boolean requestDockingAreaSpace( [in] com::sun::star::awt::Rectangle RequestedSpace );
+
+ /** method to brief an implementation that we need new border space.
+
+ <p>
+ The callee must size its document window so that we have the amount
+ of space we have provided. The <type scope="com::sun::star::awt">Rectangle</type>
+ parameter is filled by the caller with pixel data. The members of
+ <type scope="com::sun::star::awt">Rectangle</type> must be filled as
+ following:
+ <ul>
+ <li>X = new area on left side (in pixel)</li>
+ <li>Y = new area on top side (in pixel)</li>
+ <li>Width = new area on right side (in pixel)</li>
+ <li>Height = new area on bottom side (in pixel)</li>
+ </ul>
+ </p>
+ */
+ void setDockingAreaSpace( [in] com::sun::star::awt::Rectangle BorderSpace );
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/XImageManager.idl b/offapi/com/sun/star/ui/XImageManager.idl
new file mode 100644
index 000000000000..e367d1184efb
--- /dev/null
+++ b/offapi/com/sun/star/ui/XImageManager.idl
@@ -0,0 +1,256 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XImageManager_idl__
+#define __com_sun_star_ui_XImageManager_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_graphic_XGraphic_idl__
+#include <com/sun/star/graphic/XGraphic.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__
+#include <com/sun/star/ui/XUIConfigurationPersistence.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfiguration_idl__
+#include <com/sun/star/ui/XUIConfiguration.idl>
+#endif
+
+#ifndef __com_sun_star_ui_ImageType_idl__
+#include <com/sun/star/ui/ImageType.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalAccessException_idl__
+#include <com/sun/star/lang/IllegalAccessException.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** specifies access functions to an images manager interface to add,
+ replace and remove images associations to command URLs.
+
+ <p>
+ An image manager controls a number of image sets which are specified
+ by a <type>ImageType</type>.
+ </p>
+*/
+
+interface XImageManager
+{
+ /** resets the image manager to default data.
+
+ <p>
+ This means that all user images of the instance will be removed.
+ </p>
+ */
+ void reset();
+
+ /** retrieves the list of command URLs which have images associated.
+
+ @param nImageType
+ specifies the image type for this operation.
+
+ @return
+ all command URLs within the images manager that have an image
+ associated.
+ */
+ sequence< string > getAllImageNames( [in] short nImageType );
+
+ /** determines if a command URL has an associated image.
+
+ @param nImageType
+ specifies the image type for this operation.
+
+ @param ResourceURL
+ a command URL that should be checked for an associated image.
+
+ @return
+ <TRUE/> if an image is associated, otherwise <FALSE/>.
+ */
+ boolean hasImage( [in] short nImageType, [in] string aCommandURL ) raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** retrieves the associated images of command URLs.
+
+ @param nImageType
+ specifies the image type for this association operation.
+
+ @param aCommandURLSequence
+ a sequence of command URLs for which the images are requested.
+
+ @return
+ a sequence of graphics object which are associated with the
+ provided command URLs. If an unknown command URL is provided or
+ a command URL has no associated image a graphics object with an
+ empty image is provided. If the sequence
+ <var>aCommandURLSequence</var> contains an invalid command
+ URL a <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown.
+ */
+ sequence< ::com::sun::star::graphic::XGraphic > getImages( [in] short nImageType, [in] sequence< string > aCommandURLSequence ) raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** replaces the associated images of command URLs.
+
+ @param nImageType
+ specifies the image type for this association operation.
+
+ @param aCommandURLSequence
+ a sequence of command URLs for which images should be replaced.
+
+ @param aGraphicsSequence
+ a sequence of graphic objects which should replace the old images
+ of the provided command URLs.
+
+ <p>
+ If a command URL cannot be found the replace call will be omitted. If
+ <var>aCommandURLSequence</var> contains an invalid command URL a
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown. If the image manager is associated with a read-only configuration
+ manager a <type scope="com::sun::star::lang">IllegalAccessException</type>
+ is thrown.
+ </p>
+ */
+ void replaceImages( [in] short nImageType, [in] sequence< string > aCommandURLSequence, [in] sequence< ::com::sun::star::graphic::XGraphic > aGraphicsSequence ) raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** removes associated images to a command URL.
+
+ @param nImageType
+ specifies the image type for this association operation.
+
+ @param aCommandURLSequence
+ a sequence of command URLs for which the images should be removed.
+
+ <p>
+ If the <var>aCommandURLSequence</var> contains an invalid command URL a
+ <type scope="com::sun::star::lang">IllegalArgumentException</type> is
+ thrown. If the image manager is associated with a read-only configuration
+ manager a <type scope="com::sun::star::lang">IllegalAccessException</type>
+ is thrown.
+ </p>
+ */
+ void removeImages( [in] short nImageType, [in] sequence< string > aResourceURLSequence ) raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** inserts new image/command associations to a image manager.
+
+ @param nImageType
+ specifies the image type for this association operation.
+
+ @param aCommandURLSequence
+ a sequence of command URLs which specify which commands get an new image.
+
+ @param aGraphicSequence
+ a sequence of graphic objects which should be associated with the provided
+ command URLs.
+
+ <p>
+ If an association is already present it is replaced. If
+ <var>aCommandURLSequence</var> contains an invalid command URL a
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown. If the configuration manager is read-only a
+ <type scope="com::sun::star::lang">IllegalAccessException</type> is
+ thrown.
+ </p>
+ */
+ void insertImages( [in] short nImageType, [in] sequence< string > aCommandURLSequence, [in] sequence< ::com::sun::star::graphic::XGraphic > aGraphicSequence ) raises ( com::sun::star::container::ElementExistException, com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** provides access to persistence functions to load/store images
+ data from a storage.
+ */
+ interface com::sun::star::ui::XUIConfigurationPersistence;
+
+ /** provides functions to add and remove listeners for changes within an
+ image manager.
+
+ <p>
+ An image manager implementation notifies its listener whenever an image
+ set has been changed, due to insert, remove or replace operations. To
+ minimize the overhead for notifications an image manager places all
+ inserted and/or replaced images into a single notify call. A container
+ which implements <type scope="com::sun::star::container">XNameAccess</type>
+ holds the information. The access key is a command URL and provides a
+ <type scope="::com::sun::star::graphic">XGraphic</type>. This container
+ is placed into the
+ <member scope="com::sun::star::ui">ConfigurationEvent::Element</member>.
+ The image set which has been changed is put into the
+ <member scope="com::sun::star::ui">ConfigurationEvent::aInfo</member>.
+ </p>
+ */
+ interface com::sun::star::ui::XUIConfiguration;
+
+ /** allows controlling or observing the lifetime of an image manager
+ instance.
+
+ <p>The owner of the object may dispose of this object using
+ <member scope="com::sun::star::lang">XComponent::dispose()</member>.
+ </p>
+ */
+ interface ::com::sun::star::lang::XComponent;
+
+ /** initializes an image manager instance.
+
+ An image manager instance must be initialized using
+ <member scope=com::sun::star::lang>XInitialization::initialize</member>
+ before it can be used.<br>
+ The following property must be provided if the image manager is
+ related to a module:
+ <ul>
+ <li><b>ModuleIdentifier</b>specifies a string property which is the
+ unique identifier of module.
+ </li>
+ <li><b>UserConfigStorage</b>specifies a
+ <type scope="com::sun::star::embed">XStorage</type> property which
+ provides access to the configuration storage of the module.
+ </li>
+ <li><b>UserRootCommit</b>specifies an optional
+ <type scope="com::sun::star::embed">XTransactedObject</type>
+ property which makes it possible to commit a root storage.
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::lang::XInitialization;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl
new file mode 100644
index 000000000000..f57524dd0039
--- /dev/null
+++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManager.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XModuleUIConfigurationManager_idl__
+#define __com_sun_star_ui_XModuleUIConfigurationManager_idl__
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalAccessException_idl__
+#include <com/sun/star/lang/IllegalAccessException.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** specifies specific functions of a module based user interface
+ configuration manager interface.
+
+ <p>
+ A module user interface configuration manager supports, unlike a
+ document based ui configuration manager, two layers of configuration
+ settings data:<br/>
+ 1. Layer: A module default user interface configuration which
+ describe all user interface elements settings that are
+ used by OpenOffice. It is not possible to insert, remove
+ or change elements settings in this layer through the
+ interfaces.</br>
+ 2. Layer: A module user interface configuration which only contains
+ customized user interface elements and user-defined ones.
+ All changes on user interface element settings are done on
+ this layer. This layer is the same as the document ui
+ configuration manager uses.</br>
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+interface XModuleUIConfigurationManager : ::com::sun::star::uno::XInterface
+{
+ /** determine if the settings of a user interface element is part
+ of the default layer of the user interface configuration manager.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element. 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 settings have been found in the default layer,
+ otherwise <FALSE/>.
+ */
+ boolean isDefaultSettings( [in] string ResourceURL ) raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** retrieves the settings from the default layer of the user interface
+ configuration manager if it has a default layer.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element. 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 default settings have been found in the default layer,
+ otherwise <FALSE/>.
+ */
+ ::com::sun::star::container::XIndexAccess getDefaultSettings( [in] string ResourceURL ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl
new file mode 100644
index 000000000000..1ca64791c3b4
--- /dev/null
+++ b/offapi/com/sun/star/ui/XModuleUIConfigurationManagerSupplier.idl
@@ -0,0 +1,71 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XModuleUIConfigurationManagerSupplier_idl__
+#define __com_sun_star_ui_XModuleUIConfigurationManagerSupplier_idl__
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** allows to retrieve user interface configuration managers related to
+ OpenOffice.org modules.
+
+ @since OOo 2.0.0
+*/
+
+interface XModuleUIConfigurationManagerSupplier : ::com::sun::star::uno::XInterface
+{
+ //----------------------------------------------------------------------
+ /** returns the requested module based user interface configuration manager.
+
+ @param ModuleIdentifier
+ a module identifier which identifies an OpenOffice.org module. The
+ module identifier can be retrieved from the
+ <type scope=com::sun::star::frame>ModuleManager</type> service.
+
+ @returns
+ an object implementing
+ <type scope="::com::sun::star::ui">ModuleUIConfigurationManager</type>
+ service. If the provided module identifier is unknown a
+ <type scope="com::sun::star::container">NoSuchElementException</type>
+ is thrown.
+ */
+ XUIConfigurationManager getUIConfigurationManager( [in] string ModuleIdentifier ) raises ( com::sun::star::container::NoSuchElementException );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XToolPanel.idl b/offapi/com/sun/star/ui/XToolPanel.idl
new file mode 100644
index 000000000000..261f4c20413d
--- /dev/null
+++ b/offapi/com/sun/star/ui/XToolPanel.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+************************************************************************/
+
+#ifndef __com_sun_star_ui_XToolPanel_idl__
+#define __com_sun_star_ui_XToolPanel_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+#include <com/sun/star/accessibility/XAccessible.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** describes the basic interface to be implemented by a tool panel
+ */
+interface XToolPanel
+{
+ /** provides access to the tool panel's main window.
+
+ <p>It is allowed for an implementation to return <NULL/> here, but in this case some functionality, for instance
+ automatic positioning of the tool panel, might not be available, and must be implemented by the tool panel itself.</p>
+ */
+ [attribute, readonly] ::com::sun::star::awt::XWindow Window;
+
+ /** creates the root of the Accessibility object tree for the tool panel
+ @param ParentAccessible
+ the parent object in the Accessibility object tree
+ */
+ ::com::sun::star::accessibility::XAccessible
+ createAccessible( [in] ::com::sun::star::accessibility::XAccessible ParentAccessible );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIConfiguration.idl b/offapi/com/sun/star/ui/XUIConfiguration.idl
new file mode 100644
index 000000000000..d8c38e43bb70
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfiguration.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfiguration_idl__
+#define __com_sun_star_ui_XUIConfiguration_idl__
+
+#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** supports to notify other implementations about changes of a user
+ interface configuration manager.
+
+ <p>
+ The <type>XUIConfiguration</type> interface is provided for user
+ interface configuration managers which need to broadcast changes
+ within the container; that means the actions of adding, replacing
+ and removing elements are broadcast to listeners.
+ </p>
+
+ <p>This can be useful for UI to enable/disable some functions without
+ actually accessing the data.</p>
+
+ @since OOo 2.0.0
+*/
+
+interface XUIConfiguration : ::com::sun::star::uno::XInterface
+{
+ /** adds the specified listener to receive events when elements are
+ changed, inserted or removed.
+
+ <p>
+ It is suggested to allow multiple registration of the same
+ listener, thus for each time a listener is added, it has to be
+ removed.
+
+ @see XUIConfigurationListener
+ </p>
+ */
+ void addConfigurationListener( [in] ::com::sun::star::ui::XUIConfigurationListener Listener );
+
+ /** removes the specified listener so it does not receive any events
+ from this user interface configuration manager.
+
+ <p>It is suggested to allow multiple registration of the same
+ listener, thus for each time a listener is added, it has to be
+ removed.
+
+ @see XUIConfigurationListener
+ </p>
+ */
+ void removeConfigurationListener( [in] ::com::sun::star::ui::XUIConfigurationListener Listener );
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIConfigurationListener.idl b/offapi/com/sun/star/ui/XUIConfigurationListener.idl
new file mode 100644
index 000000000000..cc8a8a14eed2
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationListener.idl
@@ -0,0 +1,87 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
+#define __com_sun_star_ui_XUIConfigurationListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_ui_ConfigurationEvent_idl__
+#include <com/sun/star/ui/ConfigurationEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** supplies information about changes of a user interface
+ configuration manager.
+
+ @since OOo 2.0.0
+*/
+
+interface XUIConfigurationListener : com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a configuration has inserted an user interface element.
+
+ @param Event
+ provides information about the element which has been inserted.
+ */
+ [oneway] void elementInserted( [in] ::com::sun::star::ui::ConfigurationEvent Event );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a configuration has removed an user interface element.
+
+ @param Event
+ provides information about the element which has been removed.
+ */
+ [oneway] void elementRemoved( [in] ::com::sun::star::ui::ConfigurationEvent Event );
+
+ //-------------------------------------------------------------------------
+
+ /** is invoked when a configuration has replaced an user interface element.
+
+ @param Event
+ provides information about the element which has been
+ inserted/replaced.
+ */
+ [oneway] void elementReplaced( [in] ::com::sun::star::ui::ConfigurationEvent Event );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIConfigurationManager.idl b/offapi/com/sun/star/ui/XUIConfigurationManager.idl
new file mode 100644
index 000000000000..62d3dc56a0eb
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationManager.idl
@@ -0,0 +1,274 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#define __com_sun_star_ui_XUIConfigurationManager_idl__
+
+#ifndef __com_sun_star_container_XIndexContainer_idl__
+#include <com/sun/star/container/XIndexContainer.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIConfigurationListener_idl__
+#include <com/sun/star/ui/XUIConfigurationListener.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalAccessException_idl__
+#include <com/sun/star/lang/IllegalAccessException.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** specifies a user interface configuration manager interface which
+ controls the structure of all customizable user interface
+ elements.
+
+ @since OOo 2.0.0
+*/
+
+interface XUIConfigurationManager : ::com::sun::star::uno::XInterface
+{
+ /** resets the configuration manager to the default user interface
+ configuration data.
+ <p>
+ This means that all user interface configuration data of the
+ instance will be removed. A module based user interface
+ configuration manager removes user defined elements, but set all
+ other elements back to default. It is not possible to remove
+ default elements from a module user interface configuration
+ manager.
+ </p>
+ */
+ void reset();
+
+ /** retrieves information about all user interface elements within
+ the user interface configuration manager.
+
+ @param ElementType
+ makes it possible to narrow the result set to only one type
+ of user interface elements. If all user interface element
+ types should be returned
+ <value scope=com::sun::star::ui>UIElementType::UNKNOWN</value>
+ must be provided.
+
+ @return
+ returns all user interface elements within the user interface
+ configuration manager that meet the given ElementType
+ specification. <p>The following
+ <type scope="com::sun::star::beans">PropertyValue</type> entries
+ are defined inside the sequence for every user interface element.
+ <ul>
+ <li><b>ResourceURL<b/>specifies the unique resource URL for
+ the user interface element.</li>
+ <li><b>UIName<b/>specifies the user interface name for the
+ user interface element. Not all user interface elements have
+ set UIName. At least menubars do not.</li>
+ </ul>
+ <p>
+
+ @see UIElementType
+ */
+ sequence< sequence< com::sun::star::beans::PropertyValue > > getUIElementsInfo( [in] short ElementType ) raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** creates an empty settings data container.
+
+ @return
+ an empty user interface element settings data container, which
+ implements <type>UIElementSettings</type>.
+ */
+ ::com::sun::star::container::XIndexContainer createSettings();
+
+ /** determines if the settings of a user interface element is part the
+ user interface configuration manager.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element. 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 settings have been found, otherwise <FALSE/>.
+ */
+ boolean hasSettings( [in] string ResourceURL ) raises ( com::sun::star::lang::IllegalArgumentException );
+
+ /** retrieves the settings of a user interface element.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element. 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 bWriteable
+ must be <TRUE/> if the retrieved settings should be a writable.
+ Otherwise <FALSE/> should be provided to get a shareable reference
+ to the settings data.
+
+ @return
+ settings data of an existing user interface element, which
+ implements <type>UIElementSettings</type>. If the settings data
+ cannot be found a
+ <type scope="com::sun::star::container">NoSuchElementException</type>
+ is thrown. If the <member>ResourceURL</member> is not valid or
+ describes an unknown type a
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown.
+ */
+ ::com::sun::star::container::XIndexAccess getSettings( [in] string ResourceURL, [in] boolean bWriteable ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException );
+
+ /** replaces the settings of a user interface element with new settings.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element to
+ be replaced. If no element with the given resource URL exists a
+ <type scope="com::sun::star::container">NoSuchElementException</type>
+ is thrown.
+
+ @param aNewData
+ the new settings data of an existing user interface element, which
+ implements <type>UIElementSettings</type>.
+
+ <p>
+ If the settings data cannot be found a
+ <type scope="com::sun::star::container">NoSuchElementException</type>
+ is thrown. If the <member>ResourceURL</member> is not valid or describes
+ an unknown type a
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown. If the configuration manager is read-only a
+ <type scope="com::sun::star::lang">IllegalAccessException</type> is
+ thrown.
+ </p>
+ */
+ void replaceSettings( [in] string ResourceURL, [in] ::com::sun::star::container::XIndexAccess aNewData ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** removes the settings of an existing user interface element.
+
+ @param ResourceURL
+ a resource URL which identifies the user interface element settings
+ to be removed.
+
+ <p>
+ If the settings data cannot be found a
+ <type scope="com::sun::star::container">NoSuchElementException</type> is
+ thrown. If the <member>ResourceURL</member> is not valid or describes an
+ unknown type a <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown. If the configuration manager is read-only a
+ <type scope="com::sun::star::lang">IllegalAccessException</type> is thrown.
+ </p>
+ */
+ void removeSettings( [in] string ResourceURL ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** inserts the settings of a new user interface element.
+
+ @param ResourceURL
+ a resource URL which identifies the new user interface element.
+
+ @param aNewData
+ the settings data of the new user interface element, which implements
+ <type>UIElementSettings</type>.
+
+ <p>
+ If the settings data is already present a
+ <type scope="com::sun::star::container">ElementExistException</type>
+ is thrown. If the <member>ResourceURL</member> is not valid or describes
+ an unknown type a <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ is thrown. If the configuration manager is read-only a
+ <type scope="com::sun::star::lang">IllegalAccessException</type> is thrown.
+ </p>
+ */
+ void insertSettings( [in] string NewResourceURL, [in] ::com::sun::star::container::XIndexAccess aNewData ) raises ( com::sun::star::container::ElementExistException, com::sun::star::lang::IllegalArgumentException, com::sun::star::lang::IllegalAccessException );
+
+ /** retrieves the image manager from the user interface configuration
+ manager.
+
+ <p>
+ Every user interface configuration manager has one image manager
+ instance which controls all images of a module or document.
+ </p>
+
+ @return
+ the image manager of the user interface configuration manager.
+ */
+ com::sun::star::uno::XInterface getImageManager();
+
+ /** retrieves the keyboard short cut manager from the user interface
+ configuration manager.
+
+ <p>
+ Every user interface configuration manager has one keyboard short cut
+ manager instance which controls all short cuts of a module or document.
+ </p>
+
+ @return
+ the short cut manager of the user interface configuration manager.
+ */
+ com::sun::star::uno::XInterface getShortCutManager();
+
+ /** retrieves the events manager from the user interface configuration manager.
+
+ <p>
+ Every user interface configuration manager has one events manager
+ instance which controls the mapping of events to script URLs of a module
+ or document.
+ </p>
+
+ @return
+ the events manager of the user interface configuration
+ manager, if one exists.
+ */
+ com::sun::star::uno::XInterface getEventsManager();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl b/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl
new file mode 100644
index 000000000000..8ffc2482d834
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationManagerSupplier.idl
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfigurationManagerSupplier_idl__
+#define __com_sun_star_ui_XUIConfigurationManagerSupplier_idl__
+
+#ifndef __com_sun_star_ui_XUIConfigurationManager_idl__
+#include <com/sun/star/ui/XUIConfigurationManager.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** allows to retrieve the user interface configuration manager related to
+ an object.
+
+ @since OOo 2.0.0
+*/
+
+interface XUIConfigurationManagerSupplier : ::com::sun::star::uno::XInterface
+{
+ //----------------------------------------------------------------------
+ /** returns the user interface configuration manager related to the
+ object.
+
+ @returns
+ an object implementing
+ <type scope="::com::sun::star::ui">UIConfigurationManager</type>
+ service.
+ */
+ XUIConfigurationManager getUIConfigurationManager();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl b/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl
new file mode 100644
index 000000000000..696362d0882c
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationPersistence.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfigurationPersistence_idl__
+#define __com_sun_star_ui_XUIConfigurationPersistence_idl__
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+module com { module sun { module star { module ui {
+
+/** specifies a persistence interface which supports to load/store user
+ interface configuration data to a storage and to retrieve information
+ about the current state.
+
+ @since OOo 2.0.0
+*/
+
+interface XUIConfigurationPersistence : ::com::sun::star::uno::XInterface
+{
+ /** reloads the configuration data from the storage and reinitialize
+ the user interface configuration manager instance with this data.
+
+ <p>
+ It is up to the implementation if it defers the first loading process
+ until the first data request using <type>XUIConfigurationManager</type>
+ interface.
+ </p>
+ */
+ void reload() raises ( ::com::sun::star::uno::Exception );
+
+ /** stores the configuration data to the storage provided by
+ <member>setStorage</member> from the storage and initialize the
+ user interface configuration manager instance with the newly
+ data. This call can throw an
+ <type scope="com::sun::star::io">IOException</type> if
+ <member>store</member> cannot store its data into the internal
+ storage.
+ */
+ void store() raises ( ::com::sun::star::uno::Exception );
+
+ /** stores the configuration data to the provided storage, ignoring
+ the previously set storage by <member>setStorage</member>. Can
+ be used to make copy of the current user interface configuration
+ data to another storage. This call will throw an
+ <type scope="com::sun::star::io">IOException</type> if the provided
+ storage is in read-only mode.
+
+ @param Storage
+ all configuration data will be stored to this storage.
+ */
+ void storeToStorage( [in] ::com::sun::star::embed::XStorage Storage ) raises ( ::com::sun::star::uno::Exception );
+
+ /** provides the current modify state of the configuration manager
+ instance.
+
+ @return
+ <TRUE/> if the configuration manager has changed since the
+ last <member>store</member> call. <FALSE/> if the configuration
+ manager has not been changed.
+ */
+ boolean isModified();
+
+ /** provides the current read-only state of the user configuration
+ manager. Storing a user interface configuration to a read-only storage
+ is not possible. A read-only configuration manager instance will also
+ not support any changes to its configuration settings.
+
+ @return
+ <TRUE/> if the configuration manager storage is read-only otherwise
+ <FALSE/>.
+ */
+ boolean isReadOnly();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIConfigurationStorage.idl b/offapi/com/sun/star/ui/XUIConfigurationStorage.idl
new file mode 100644
index 000000000000..2f07b995c486
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIConfigurationStorage.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIConfigurationStorage_idl__
+#define __com_sun_star_ui_XUIConfigurationStorage_idl__
+
+#ifndef __com_sun_star_embed_XStorage_idl__
+#include <com/sun/star/embed/XStorage.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** supplies functions to change or get information about the storage
+ of a user interface configuration manager.
+
+ @since OOo 2.0.0
+*/
+
+interface XUIConfigurationStorage : ::com::sun::star::uno::XInterface
+{
+ /** connects a storage to the user interface configuration manager
+ which is used on subsequent calls of <member>load</member> and
+ <member>store</member>.
+
+ @param Storage
+ all configuration data is loaded/stored from/into this storage.
+ If the storage is in read/write mode <member>load</member>
+ and <member>store</member> can be used otherwise only
+ <member>load</member> is possible.
+
+ <p>
+ This call needs careful usage as data loss can occur. If the
+ implementation has modified data and a new storage is set the
+ implementation is not allowed to write back the data to the old
+ storage. This must be done explicitly with <member>store</member>.
+ In general a user interface configuration manager instance is
+ created and initialize by the document model or the module user
+ interface configuration supplier. Normally there is no need to
+ set a storage for a user interface configuration manager. If a
+ copy of the configuration data to another storage should be made,
+ use <member>storeToStorage</member>.
+ </p>
+ */
+ void setStorage( [in] ::com::sun::star::embed::XStorage Storage );
+
+ /** checks if an instance has already a storage to load/store its data.
+
+ @return
+ <TRUE/> if the instance has a storage otherwise <FALSE/>.
+ */
+ boolean hasStorage();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIElement.idl b/offapi/com/sun/star/ui/XUIElement.idl
new file mode 100644
index 000000000000..26536a85f29f
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElement.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIElement_idl__
+#define __com_sun_star_ui_XUIElement_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** provides a function to retrieve a special purpose interface dependent
+ on the user interface element type.
+
+ <p>
+ The type of the interface depends on the real type of the user interface
+ element. A menubar user interface element provides access to its
+ <type scope="com::sun::star::awt">XSystemDependentMenuBarPeer</type>
+ which supports to retrieve the system dependent menu handle.
+ A floating window or a toolbar user interface element return a
+ <type scope=com::sun::star::awt>XWindow</type>
+ interface.
+ </p>
+*/
+
+interface XUIElement : com::sun::star::uno::XInterface
+{
+ /** returns an interface to get access to user interface type specific functions.
+
+ @return
+ a special purpose interface which depends on the type of the user
+ interface element.
+ */
+ ::com::sun::star::uno::XInterface getRealInterface();
+
+ /** determines the document frame to which this element is bound to.
+
+ <p>The life time of a user interface element does not explicitly depend on the
+ frame itself but on the visible component attached to the frame. It is possible
+ to exchange the visible component of a frame and that will lead to the end of
+ life of all user interface elements.</p>
+ */
+ [readonly, attribute] ::com::sun::star::frame::XFrame Frame;
+
+ /** a resource URL which is a unique identifier of a user interface element.
+ */
+ [readonly, attribute] string ResourceURL;
+
+ /** determines the type of the user interface element.
+
+ @see UIElementType
+ */
+ [readonly, attribute] short Type;
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIElementFactory.idl b/offapi/com/sun/star/ui/XUIElementFactory.idl
new file mode 100644
index 000000000000..6c71e72670dc
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElementFactory.idl
@@ -0,0 +1,130 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIElementFactory_idl__
+#define __com_sun_star_ui_XUIElementFactory_idl__
+
+#ifndef __com_sun_star_ui_XUIElement_idl__
+#include <com/sun/star/ui/XUIElement.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** specifies a user interface element factory that can create and initialize
+ user interface elements.
+
+ <p>
+ User interface element factories must be registered at a
+ <type>UIElementFactoryManager</type> service to provide access to itself.
+
+ Currently the following user interface element types are defined:
+ <ul>
+ <li><b>menubar</b>A configurable user interface element.</li>
+ <li><b>popupmenu</b>A configurable user interface element.</li>
+ <li><b>toolbar</b>A configurable user interface element.</li>
+ <li><b>statusbar</b>A configurable user interface element.</li>
+ <li><b>floater</b>A basic user interface element.</li>
+ </ul>
+ </p>
+
+ @since OOo 2.0.0
+*/
+
+interface XUIElementFactory : ::com::sun::star::uno::XInterface
+{
+ /** creates a new instances of a specific user interface element.
+
+ @param ResourceURL
+ specifies which unique user interface element should be created
+ by the factory. A resource URL must meet the following syntax:
+ "private:resource/$type/$name. It is only allowed to use ASCII
+ characters for type and name. This argument must not be empty to
+ have a working user interface element instance.The implementation
+ can throw an
+ <type scope="com::sun::star::container">NoSuchElementException</type>
+ if it doesn't know how to create the request user interface
+ element.
+
+ @param Args
+ The following arguments are supported:
+ <ul>
+ <li><b>Frame</b><br>
+ specifies the <type scope="com::sun::star::frame">XFrame</type>
+ instance to which the user interface element belongs to. To
+ create a configurable user interface element the frame
+ instance must contain a visible component. Otherwise it is
+ not possible to determine the correct user interface
+ configuration manager. This argument is <b>mandatory</b> to
+ have a working configurable user interface element instance.
+ </li>
+ <li><b>ParentWindow</b><br/>
+ specifies a parent window to use for the window(s) representing
+ the UI element. Depending on the concrete UI element type, this parameter
+ might be required or ignored by an implementation.
+ </li>
+ <li><b>Persistent</b><br>specifies if changes to a configurable
+ user interface element should be persistent. This is an
+ optional argument. The default value is <TRUE/>.</li>
+ </ul>
+
+ <p>
+ An implementation is responsible to initialize every newly created user
+ interface element if the necessary properties are provided. Especially
+ it must connect a configurable user interface element to the correct user
+ interface configuration manager. Without this connection the configurable
+ user interface element cannot retrieve its structure data and changes to
+ the user interface element structure won't be persistent. It is up to the
+ implementation to throw an
+ <type scope="com::sun::star::lang">IllegalArgumentException</type>
+ if it cannot create a user interface element with the provided arguments.
+
+ @see ConfigurableUIElement
+ @see UIElement
+ </p>
+ */
+ ::com::sun::star::ui::XUIElement createUIElement( [in] string ResourceURL, [in] sequence< com::sun::star::beans::PropertyValue > Args ) raises ( com::sun::star::container::NoSuchElementException, com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
new file mode 100644
index 000000000000..26d701e71647
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElementFactoryRegistration.idl
@@ -0,0 +1,182 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_frame_XUIElementFactoryRegistration_idl__
+#define __com_sun_star_frame_XUIElementFactoryRegistration_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_XUIElementFactory_idl__
+#include <com/sun/star/ui/XUIElementFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_ElementExistException_idl__
+#include <com/sun/star/container/ElementExistException.idl>
+#endif
+
+#ifndef __com_sun_star_container_NoSuchElementException_idl__
+#include <com/sun/star/container/NoSuchElementException.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** is used to query, register and deregister user interface element factories.
+
+ <p>
+ A user interface element factory is registered for a set of three properties.
+ <ul>
+ <li><b>Type</b>a string that identifies a type of a user interface element.</li>
+ <li><b>Name</b>a string that identifies a single user interface element within a type class.</li>
+ <li><b>Module</b>a string that identifies a single module of OpenOffice.</li>
+ <ul>
+ A combination of these three property values can uniquely identify every user interface
+ element within OpenOffice.
+
+ Currently the following user interface element types are defined:
+ <ul>
+ <li><b>menubar</b></li>
+ <li><b>popupmenu</b></li>
+ <li><b>toolbar</b></li>
+ <li><b>statusbar</b></li>
+ <li><b>floater</b></li>
+ </ul>
+ </p>
+
+ @since OOo 2.0.0
+ */
+
+interface XUIElementFactoryRegistration : com::sun::star::uno::XInterface
+{
+ /** function to retrieve a list of all registered user interface element factories
+
+ @returns
+ a sequence of sequence of property values which describe every registered
+ user interface element factory.<br/>
+
+ The following properties are defined:
+ <ul>
+ <li><b>Type</b>a string property that identifies the type of the user interface
+ element which this factory can create.</li>
+ <li><b>Name</b>an optional string property which identifies a single user interface
+ element within a type class which this factory can create. If this property is not
+ returned, the factory is a generic factory for all user interface elements of the
+ same type.</li>
+ <li><b>Module</b>an optional string property that specifies to which module this factory is
+ bound to. If this property is not returned, the factory is a generic factory.</li>
+ </ul>
+ */
+ sequence< sequence< com::sun::star::beans::PropertyValue > > getRegisteredFactories();
+
+ /** function to retrieve a previously registered user interface element factory.
+
+ @returns
+ a reference to a registered user interface element factory if a factory has been
+ found. An empty reference when no factory has been found.
+ <b>The defined search order of factories must be from special to generic ones.</b>
+
+ @param ResourceURL
+ a resource URL which identifies a user interface element. A resource URL uses the
+ following syntax: "private:resource/$type/$name". It is only allowed to use ASCII
+ characters for type and name.
+
+ @param ModuleName
+ an optional module identifier. This value can remain empty, if a generic factory is requested.
+ The module identifier can be retrieved from the <type scope="com::sun::star::frame">ModuleManager</type> service.
+ */
+ ::com::sun::star::ui::XUIElementFactory getFactory( [in] string ResourceURL, [in] string ModuleIdentifier );
+
+ /** function to register a user interface element factory.
+
+ @param aType
+ a string that identifies a type of a user interface element. Currently the following types
+ are supported:
+ <ul>
+ <li><b>menubar</b></li>
+ <li><b>toolbar</b></li>
+ <li><b>statusbar</b></li>
+ </ul>
+
+ @param aName
+ an optional name of a single user interface element. This name must be unique within a user
+ interface element type class. This value can remain empty if no special factory for a single
+ user interface element is needed.
+
+ @param aModuleIdentifier
+ an optional module identifier that can be used to register a factory only for a single module. This value
+ can remain empty if no special factory for a single module is needed. The module identifier can be retrieved
+ from the <type scope="com::sun::star::frame">ModuleManager</type> service.
+
+ @param aFactoryImplementationName
+ a UNO implementation name that can be used by an implementation to create a factory instance.
+ */
+ void registerFactory( [in] string aType, [in] string aName, [in] string aModuleIdentifier, [in] string aFactoryImplementationName ) raises (com::sun::star::container::ElementExistException);
+
+ /** function to remove a previously defined user interface element factory.
+
+ @param aType
+ a string that identifies a type of a user interface element. Currently the following types
+ are supported:
+ <ul>
+ <li><b>menubar</b></li>
+ <li><b>toolbar</b></li>
+ <li><b>statusbar</b></li>
+ </ul>
+
+ @param aName
+ an optional name of a single user interface element. This name must be unique within a user
+ interface element type class. This value can remain empty if no special factory for a single
+ user interface element should be deregistered.
+
+ @param aModuleName
+ an optional module name that can be used to deregister a factory only for a single module. This value
+ can remain empty if not a module based factory should be deregistered. The module identifier can be retrieved
+ from the <type scope="com::sun::star::frame">ModuleManager</type> service.
+
+ <p>
+ <b>Using this function can be very dangerous as other implementation with OpenOffice may not be able to create their
+ user interface element anymore.
+ </b>
+ </p>
+ */
+ void deregisterFactory( [in] string aType, [in] string aName, [in] string aModuleIdentifier ) raises (com::sun::star::container::NoSuchElementException);
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIElementSettings.idl b/offapi/com/sun/star/ui/XUIElementSettings.idl
new file mode 100644
index 000000000000..cd9f59f874f1
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIElementSettings.idl
@@ -0,0 +1,102 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_XUIElementSettings_idl__
+#define __com_sun_star_ui_XUIElementSettings_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_container_XIndexAccess_idl__
+#include <com/sun/star/container/XIndexAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui {
+
+//=============================================================================
+
+/** provides functions to retrieve and change user interface element structure
+ data and to update its visible representation.
+
+ @since OOo 2.0.0
+*/
+
+interface XUIElementSettings : com::sun::star::uno::XInterface
+{
+ /** forces the user interface element to retrieve new settings from its
+ configuration source.
+
+ <p>
+ This is not done automatically as configurable user interface elements
+ are controlled by layout managers. It is more efficient to let the
+ responsible layout manager to control the update process in a single
+ task.
+ </p>
+ */
+ void updateSettings();
+
+ /** provides a <type>UIElementSettings</type> instance that provides access
+ to the structure of user interface element if the user interface element
+ type supports it.
+
+ @param bWriteable
+ must be <TRUE/> if the retrieved settings should be a writable.
+ Otherwise <FALSE/> should be provided to get a shareable reference
+ to the settings data.
+
+ @return
+ the current settings of the user interface element.
+ */
+ com::sun::star::container::XIndexAccess getSettings( [in] boolean bWriteable );
+
+ /** set changes to the structure of the user interface element.
+
+ @param UISettings
+ new data settings for the configurable user interface element.
+
+
+ <p>
+ User interface elements cannot be changed directly. The changed structure
+ data has to be set again. This speeds up the configuration process if many
+ changes have to be made on the structure. The persistence of changes are
+ controlled by the boolean property <member>Persistent</member>.
+
+ </p>
+
+ @see com::sun::star::ui::UIElementSettings
+ */
+ void setSettings( [in] com::sun::star::container::XIndexAccess UISettings );
+};
+
+}; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/XUIFunctionListener.idl b/offapi/com/sun/star/ui/XUIFunctionListener.idl
new file mode 100644
index 000000000000..9325e59af751
--- /dev/null
+++ b/offapi/com/sun/star/ui/XUIFunctionListener.idl
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_frame_XUIFunctionListener_idl__
+#define __com_sun_star_frame_XUIFunctionListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module ui {
+
+//=============================================================================
+/** special interface to receive notification that a user interface
+ element will execute a function.
+
+ @since OOo 2.0.0
+ */
+interface XUIFunctionListener : com::sun::star::lang::XEventListener
+{
+ //=============================================================================
+ /** gets called to notify a component that a user interface element
+ wants to execute a function.
+
+ @param aUIElementName
+ a string which identifies the user interface element that wants
+ to execute a function.
+
+ @param aCommand
+ a string which identifies the function that has been selected by
+ a user.
+ */
+ void functionExecute( [in] string aUIElementName, [in] string aCommand );
+
+};
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl b/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl
new file mode 100644
index 000000000000..8c2efee4f993
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_CommonFilePickerElementIds_idl__
+#define __com_sun_star_ui_dialogs_CommonFilePickerElementIds_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** These constants are used to specify common controls of a FilePicker dialog.
+
+ */
+
+published constants CommonFilePickerElementIds
+{
+ //---------------------------------------------------------------------
+ /** The control id of the OK button.
+ */
+ const short PUSHBUTTON_OK = 1;
+
+ //---------------------------------------------------------------------
+ /** The control id of the Cancel button.
+ */
+ const short PUSHBUTTON_CANCEL = 2;
+
+ //---------------------------------------------------------------------
+ /** The filter listbox of a FilePicker dialog.
+ */
+ const short LISTBOX_FILTER = 3;
+
+ //---------------------------------------------------------------------
+ /** Is used to refer to the file view of the file picker. This view shows the list of
+ all files/folders in the currently selected folder.
+ */
+ const short CONTROL_FILEVIEW = 4;
+
+ //---------------------------------------------------------------------
+ /** Is used to refer to the edit line where a file or path can be entered by the user.
+ */
+ const short EDIT_FILEURL = 5;
+
+ //---------------------------------------------------------------------
+ /** The label of the filter listbox of a FilePicker dialog.
+
+ @since OOo 1.1.2
+ */
+ const short LISTBOX_FILTER_LABEL = 6;
+
+ //---------------------------------------------------------------------
+ /** The label of the file name listbox of a FilePicker dialog.
+
+ @since OOo 1.1.2
+ */
+ const short EDIT_FILEURL_LABEL = 7;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/ControlActions.idl b/offapi/com/sun/star/ui/dialogs/ControlActions.idl
new file mode 100644
index 000000000000..d3fe967311f0
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ControlActions.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialog_ControlActions_idl__
+#define __com_sun_star_ui_dialog_ControlActions_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Control actions for common and extended controls of a FilePicker.
+
+ @see com::sun::star::ui::dialogs::XFilePickerControlAccess
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+ */
+
+published constants ControlActions
+{
+ //---------------------------------------------------------------------
+ /** Adds an item to the content of the listbox. The given item has to
+ be a string.
+ */
+ const short ADD_ITEM = 1;
+
+ //---------------------------------------------------------------------
+ /** Adds a sequence of strings to the content of the listbox.
+ */
+ const short ADD_ITEMS = 2;
+
+ //---------------------------------------------------------------------
+ /** Removes an item from a listbox. The given value has to be a
+ position. If the position is invalid an exception will be thrown.
+ The index of the first position is 0.
+ The value should be a sal_Int32.
+ */
+ const short DELETE_ITEM = 3;
+
+ //---------------------------------------------------------------------
+ /** Removes all items from the listbox.
+ */
+ const short DELETE_ITEMS = 4;
+
+ //---------------------------------------------------------------------
+ /** Selects an item in a listbox. The given value has to be a position.
+ The index of the first position is 0. A value of -1 removes the
+ selection.
+ If the given position is invalid an exception will be thrown.
+ The value should be a sal_Int32.
+ */
+ const short SET_SELECT_ITEM = 5;
+
+ //---------------------------------------------------------------------
+ /** Returns all items of the listbox as a sequence of strings.
+ */
+ const short GET_ITEMS = 6;
+
+ //---------------------------------------------------------------------
+ /** Returns the currently selected item. The returned item is an empty
+ string if the listbox is empty or no item is selected.
+ */
+ const short GET_SELECTED_ITEM = 7;
+
+ //---------------------------------------------------------------------
+ /** Returns the zero based index of the currently selected item.
+ If the listbox is empty or there is no item selected -1 will be
+ returned. The returned value is a sal_Int32.
+ */
+
+ const short GET_SELECTED_ITEM_INDEX = 8;
+
+ //---------------------------------------------------------------------
+ /** Sets the help URL of a control.
+ */
+ const short SET_HELP_URL = 100;
+
+ //---------------------------------------------------------------------
+ /** Retrieves the help URL of a control.
+ */
+ const short GET_HELP_URL = 101;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl b/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl
new file mode 100644
index 000000000000..107ec70ca2cc
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl
@@ -0,0 +1,65 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_DialogClosedEvent_idl__
+#define __com_sun_star_ui_dialogs_DialogClosedEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+
+//=============================================================================
+/** Information of a closed dialog.
+
+ <p>The broadcaster who sends such event, must send the dialog as the source.</p>
+
+ @see <type>com::sun::star::lang::EventObject</type>
+*/
+struct DialogClosedEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /**
+ @param DialogResult
+ Identifies the result of a dialog.
+
+ @see <type>ExecutableDialogResults</type>
+ */
+ short DialogResult;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl b/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl
new file mode 100644
index 000000000000..c509e50b7576
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_ExecutableDialogException_idl__
+#define __com_sun_star_ui_dialogs_ExecutableDialogException_idl__
+
+#ifndef __com_sun_star_uno_Exception_idl__
+#include <com/sun/star/uno/Exception.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Base class of all XExecutableDialog related exceptions.
+ */
+published exception ExecutableDialogException: com::sun::star::uno::Exception
+{
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+/*=============================================================================
+
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl b/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl
new file mode 100644
index 000000000000..3d8caf3a08ef
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_ExecutableDialogResults_idl__
+#define __com_sun_star_ui_dialogs_ExecutableDialogResults_idl__
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** These constants are used to specify a result of executing a <type>XExecutableDialog</type>.
+*/
+
+published constants ExecutableDialogResults
+{
+ //-------------------------------------------------------------------------
+ /** The user canceled the dialog.
+ */
+ const short CANCEL = 0;
+
+ //-------------------------------------------------------------------------
+ /** The user acknowledged the dialog.
+ */
+ const short OK = 1;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl b/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl
new file mode 100644
index 000000000000..970d70e3c4b8
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl
@@ -0,0 +1,127 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_ExtendedFilePickerElementIds_idl__
+#define __com_sun_star_ui_dialogs_ExtendedFilePickerElementIds_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** <p>These constants are used to specify extended controls of a FilePicker dialog.
+ A FilePicker service may be initialized so that it has additional controls
+ extending the set of common controls a FilePicker usually supports.</p>
+
+ @see com::sun::star::ui::dialogs::FilePicker
+ @see com::sun::star::ui::dialogs::XFilePickerControlAccess
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ */
+
+published constants ExtendedFilePickerElementIds
+{
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short CHECKBOX_AUTOEXTENSION = 100;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short CHECKBOX_PASSWORD = 101;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short CHECKBOX_FILTEROPTIONS = 102;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short CHECKBOX_READONLY = 103;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short CHECKBOX_LINK = 104;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short CHECKBOX_PREVIEW = 105;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short PUSHBUTTON_PLAY = 106;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short LISTBOX_VERSION = 107;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short LISTBOX_TEMPLATE = 108;
+
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short LISTBOX_IMAGE_TEMPLATE = 109;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short CHECKBOX_SELECTION = 110;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short LISTBOX_VERSION_LABEL = 207;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short LISTBOX_TEMPLATE_LABEL = 208;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short LISTBOX_IMAGE_TEMPLATE_LABEL = 209;
+
+ //---------------------------------------------------------------------
+ /**
+ */
+ const short LISTBOX_FILTER_SELECTOR = 210;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/FilePicker.idl b/offapi/com/sun/star/ui/dialogs/FilePicker.idl
new file mode 100644
index 000000000000..c208bb75d91d
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePicker.idl
@@ -0,0 +1,165 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_FilePicker_idl__
+#define __com_sun_star_ui_dialogs_FilePicker_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCancellable_idl__
+#include <com/sun/star/util/XCancellable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+
+//=============================================================================
+/** A FilePicker.
+
+ It is <strong>NOT</strong> recommended to cache a reference to a file
+ picker instance. Due to restrictions by the underlying system there can
+ be specific limitations possible. To overcome these problems it's
+ recommended to create a new instance on demand.
+
+ @see XFilePicker
+*/
+
+ published interface XFilePicker;
+ published interface XFilePickerNotifier;
+ published interface XFilePickerControlAccess;
+ published interface XFilterManager;
+ published interface XFilePreview;
+ published interface XFilterGroupManager;
+
+published service FilePicker
+{
+ //-------------------------------------------------------------------------
+ /** Allows to associate a help URL with the file picker instance.
+ */
+ [optional, property] string HelpURL;
+
+ //-------------------------------------------------------------------------
+ /** Provides access to the basic FilePicker functionality.
+ */
+ interface XFilePicker;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability to request notifications about changes.
+ */
+ interface XFilePickerNotifier;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability to add different filter, query for the current
+ filters and set a current filter
+ */
+ interface XFilterManager;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability to show a preview of a selected file
+ */
+ [optional] interface XFilePreview;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability manage additional controls (checkboxes, listboxes etc.)
+ offered by an extended FilePicker, these controls extend the subset of
+ common controls that a FilePicker usually supports.
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+
+ @deprecated
+ */
+ [optional] interface XFilePickerControlAccess;
+
+ //-------------------------------------------------------------------------
+ /** An interface which allows manipulation of groups of filters
+ */
+ [optional] interface XFilterGroupManager;
+
+ //-------------------------------------------------------------------------
+ /** Provides the ability to choose between different custom templates that
+ do extend the subset of common controls a FilePicker usually supports.
+ Implementers may omit this interface if the FileOpen
+ dialog doesn't support custom templates. In this case a createInstance
+ will create an ordinary FileOpen dialog with only the common FilePicker
+ elements.
+ The client has to provide one of the specified constants in
+ TemplateDescription.
+ <br/><br/>
+ <p><strong>Notes for the implementation of a FileSave dialog:</strong>
+ The implementation of a FileSave dialog should automatically check
+ for existence of a file and issue a warning if a file with the same
+ name already exist.</p>
+
+ @see com::sun::star::ui::dialogs::TemplateDescription
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** For canceling a running dialog instance.
+ <p>This may be useful for automatic test tools for instance.</p>
+ */
+ [optional] interface com::sun::star::util::XCancellable;
+
+ //-------------------------------------------------------------------------
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl b/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl
new file mode 100644
index 000000000000..d57f08a921b6
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_FilePickerEvent_idl__
+#define __com_sun_star_ui_dialogs_FilePickerEvent_idl__
+
+#ifndef __com_sun_star_lang_EventObject_idl__
+#include <com/sun/star/lang/EventObject.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+
+//=============================================================================
+/** Context information in case of a FilePicker event.
+*/
+published struct FilePickerEvent: com::sun::star::lang::EventObject
+{
+ //-------------------------------------------------------------------------
+ /**
+ @param ElementId
+ Identifies the affected element
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+ */
+ short ElementId;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl b/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl
new file mode 100644
index 000000000000..9d1b006c0e64
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl
@@ -0,0 +1,53 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_FilePreviewImageFormats_idl__
+#define __com_sun_star_ui_dialogs_FilePreviewImageFormats_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** These constants are used to specify image formats supported by an implementation
+ of the interface <type scope="com::sun::star::ui::dialogs">XFilePreview</type>.
+ */
+
+published constants FilePreviewImageFormats
+{
+ //---------------------------------------------------------------------
+ /** A OpenOffice bitmap which is similar to the device independent bitmap
+ (DIB) format on windows.
+ The bitmap data should be provided as a sequence of sal_Int8.
+ */
+ const short BITMAP = 1;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl b/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl
new file mode 100644
index 000000000000..fc0f6c480b84
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl
@@ -0,0 +1,89 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__
+#define __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__
+
+#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertyAccess_idl__
+#include <com/sun/star/beans/XPropertyAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+
+/** This service enables a filter developer to register a dialog to query
+ for user options before the filter operation is performed.
+
+ <p>The user options are stored inside the <type scope="com::sun::star::document">MediaDescriptor</type>
+ and can be queried from the <type scope="com::sun::star::document">MediaDescriptor</type> by
+ the component that implements <type scope="com::sun::star::document">XFilter</type>.</p>
+
+ <p>The application will set the <type scope="com::sun::star::document">MediaDescriptor</type>
+ using the interface <type scope="com::sun::star::beans">XPropertyAccess</type> and then
+ call <method>XExecutableDialog::execute<method>.</p>
+
+ <p>If that method returns <code>ExecutableDialogResults::OK</code>,
+ the application will retrieve the changed <type scope="com::sun::star::document">MediaDescriptor</type>
+ back using the interface <type scope="com::sun::star::beans">XPropertyAccess</type>. The filter
+ operation is than continued, using the new <type scope="com::sun::star::document">MediaDescriptor</type>.</p>
+
+ <p>Otherwise, the filter operation is canceled.</p>
+
+ @since OOo 1.1.2
+ */
+published service FilterOptionsDialog
+{
+ //-------------------------------------------------------------------------
+ /** this interface is used to set the property values of the
+ <type scope="com::sun::star::document">MediaDescriptor</type> before executing
+ the dialog and to retrieve the changed <type scope="com::sun::star::document">MediaDescriptor</type>
+
+ afterwards.
+ */
+ interface com::sun::star::beans::XPropertyAccess;
+
+ //-------------------------------------------------------------------------
+ /** this interface executes a dialog that displays the options
+ for a filter.
+ If <method>XExecutableDialog::execute<method>
+ returns <code>ExecutableDialogResults::OK</code>,
+ the options can be retrieved by calling <method scope="com::sun::star::beans">XPropertyAccess::getPropertyValues<method>.
+ */
+ interface ::com::sun::star::ui::dialogs::XExecutableDialog;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/FolderPicker.idl b/offapi/com/sun/star/ui/dialogs/FolderPicker.idl
new file mode 100644
index 000000000000..2faaf20e5b29
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FolderPicker.idl
@@ -0,0 +1,88 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_FolderPicker_idl__
+#define __com_sun_star_ui_dialogs_FolderPicker_idl__
+
+#ifndef __com_sun_star_lang_XComponent_idl__
+#include <com/sun/star/lang/XComponent.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XServiceInfo_idl__
+#include <com/sun/star/lang/XServiceInfo.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XTypeProvider_idl__
+#include <com/sun/star/lang/XTypeProvider.idl>
+#endif
+
+#ifndef __com_sun_star_util_XCancellable_idl__
+#include <com/sun/star/util/XCancellable.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+
+ published interface XFolderPicker;
+
+//=============================================================================
+/** A FolderPicker service.
+*/
+
+published service FolderPicker
+{
+ //-------------------------------------------------------------------------
+ /** Provides the ability to execute a FolderPicker dialog and
+ browse for and select folders.
+ */
+ interface XFolderPicker;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XServiceInfo;
+
+ //-------------------------------------------------------------------------
+ /** Service should always support this interface.
+ */
+ interface com::sun::star::lang::XTypeProvider;
+
+ //-------------------------------------------------------------------------
+ /** For canceling a running dialog instance.
+ <p>This may be useful for automatic test tools for instance.</p>
+ */
+ [optional] interface com::sun::star::util::XCancellable;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl b/offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl
new file mode 100644
index 000000000000..d7a769087d8e
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl
@@ -0,0 +1,91 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialog_ListboxControlActions_idl__
+#define __com_sun_star_ui_dialog_ListboxControlActions_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** These constants are deprecated and should not be used anymore. They're superseded
+ by <type>ControlActions</type>.
+ @deprecated
+ */
+
+published constants ListboxControlActions
+{
+ //---------------------------------------------------------------------
+ /** Adds an item to the content of the listbox. The given item has to
+ be a string.
+ */
+ const short ADD_ITEM = 1;
+
+ //---------------------------------------------------------------------
+ /** Adds a sequence of strings to the content of the listbox.
+ */
+ const short ADD_ITEMS = 2;
+
+ //---------------------------------------------------------------------
+ /** Removes an item from a listbox. The given value has to be a
+ position. If the position is invalid an exception will be thrown.
+ The index of the first position is 0.
+ The value should be a sal_Int32.
+ */
+ const short DELETE_ITEM = 3;
+
+ //---------------------------------------------------------------------
+ /** Removes all items from the listbox.
+ */
+ const short DELETE_ITEMS = 4;
+
+ //---------------------------------------------------------------------
+ /** Selects an item in a listbox. The given value has to be a position.
+ The index of the first position is 0. A value of -1 removes the
+ selection.
+ If the given position is invalid an exception will be thrown.
+ The value should be a sal_Int32.
+ */
+ const short SET_SELECT_ITEM = 5;
+
+ //---------------------------------------------------------------------
+ /** Returns all items of the listbox as a sequence of strings.
+ */
+ const short GET_ITEMS = 6;
+
+ //---------------------------------------------------------------------
+ /** Returns the currently selected item. The returned item is an empty
+ string if the listbox is empty or no item is selected.
+ */
+ const short GET_SELECTED_ITEM = 7;
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/TemplateDescription.idl b/offapi/com/sun/star/ui/dialogs/TemplateDescription.idl
new file mode 100644
index 000000000000..615fbe055b8e
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/TemplateDescription.idl
@@ -0,0 +1,143 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_TemplateDescription_idl__
+#define __com_sun_star_ui_dialogs_TemplateDescription_idl__
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** The implementation of a FilePicker service may support the usage of
+ different templates. The following constants define the currently
+ specified templates.
+
+ @see com::sun::star::ui::dialogs::FilePicker
+ */
+
+published constants TemplateDescription
+{
+ //---------------------------------------------------------------------
+ /** A FileOpen dialog without any additional controls.
+ */
+ const short FILEOPEN_SIMPLE = 0;
+
+ //---------------------------------------------------------------------
+ /** A FileSave dialog without any additional controls.
+ */
+ const short FILESAVE_SIMPLE = 1;
+
+ //---------------------------------------------------------------------
+ /** A FileSave dialog with additional controls.
+ <ul>
+ <li>A checkbox "Auto Extension"</li>
+ <li>A checkbox "Password"</li>
+ </ul>
+ */
+ const short FILESAVE_AUTOEXTENSION_PASSWORD = 2;
+
+ //---------------------------------------------------------------------
+ /** A FileSave dialog with additional controls.
+ <ul>
+ <li>A checkbox "Auto Extension"</li>
+ <li>A checkbox "Password"</li>
+ <li>A checkbox "Filter Options"</li>
+ </ul>
+ */
+ const short FILESAVE_AUTOEXTENSION_PASSWORD_FILTEROPTIONS = 3;
+
+ //---------------------------------------------------------------------
+ /** A FileSave dialog with additional controls.
+ <ul>
+ <li>A checkbox "Auto Extension"</li>
+ <li>A checkbox "Selection"</li>
+ </ul>
+ */
+ const short FILESAVE_AUTOEXTENSION_SELECTION = 4;
+
+ //---------------------------------------------------------------------
+ /** A FileSave dialog with additional controls.
+ <ul>
+ <li>A checkbox "Auto Extension"</li>
+ <li>A listbox "Template" for selecting different templates</li>
+ </ul>
+ */
+ const short FILESAVE_AUTOEXTENSION_TEMPLATE = 5;
+
+ //---------------------------------------------------------------------
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Insert as link"
+ <li>A checkbox "Show Preview"
+ <li>A listbox "Image Template" for inserting an image with different styles.</li>
+ <li>A window for displaying a file preview</li>
+ </ul>
+ */
+ const short FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE = 6;
+
+ //---------------------------------------------------------------------
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A push button "Play"</li>
+ </ul>
+ */
+ const short FILEOPEN_PLAY = 7;
+
+ //---------------------------------------------------------------------
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Read only"</li>
+ <li>A listbox "Version" for selecting a document version</li>
+ <ul>
+ */
+ const short FILEOPEN_READONLY_VERSION = 8;
+
+ //---------------------------------------------------------------------
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Insert as link"</li>
+ <li>A checkbox "Show Preview"</li>
+ <li>A window for displaying a file preview</li>
+ </ul>
+ */
+ const short FILEOPEN_LINK_PREVIEW = 9;
+
+ //---------------------------------------------------------------------
+ /** A FileSave dialog with additional controls.
+ <ul>
+ <li>A checkbox "Auto Extension"</li>
+ </ul>
+ */
+ const short FILESAVE_AUTOEXTENSION = 10;
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/Wizard.idl b/offapi/com/sun/star/ui/dialogs/Wizard.idl
new file mode 100644
index 000000000000..4e6b13f44ca2
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/Wizard.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_Wizard_idl__
+#define __com_sun_star_ui_dialogs_Wizard_idl__
+
+#include <com/sun/star/ui/dialogs/XWizard.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+interface XWizardController;
+
+//==================================================================================================================
+
+/** provides a framework for implementing a wizard dialog.
+ */
+service Wizard : XWizard
+{
+ /** creates a wizard with a single execution path
+ @param PageIds
+ the IDs of the pages which constitute the execution path. IDs must be in ascending order.
+ */
+ createSinglePathWizard(
+ [in] sequence< short > PageIds,
+ [in] XWizardController Controller
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ );
+
+ /** creates a wizard with a multiple possible execution paths
+
+ @param PageIds
+ the IDs of the pages which constitute the execution paths. IDs in each path must be in ascending order.
+ */
+ createMultiplePathsWizard(
+ [in] sequence< sequence< short > > PageIds,
+ [in] XWizardController Controller
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ );
+};
+
+//==================================================================================================================
+
+}; }; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/WizardButton.idl b/offapi/com/sun/star/ui/dialogs/WizardButton.idl
new file mode 100644
index 000000000000..34c0d8074889
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/WizardButton.idl
@@ -0,0 +1,60 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_WizardButton_idl__
+#define __com_sun_star_ui_dialogs_WizardButton_idl__
+
+//==================================================================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//==================================================================================================================
+
+/** denotes the buttons found in a <type>Wizard</type>
+ */
+constants WizardButton
+{
+ /// denotes none of the buttons in the wizard
+ const short NONE = 0;
+ /// denotes the button used to travel forward through the wizard
+ const short NEXT = 1;
+ /// denotes the button used to travel backward through the wizard
+ const short PREVIOUS = 2;
+ /// denotes the button used to finish the wizard
+ const short FINISH = 3;
+ /// denotes the button used to cancel the wizard
+ const short CANCEL = 4;
+ /// denotes the button used to request help
+ const short HELP = 5;
+};
+
+//==================================================================================================================
+
+}; }; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl
new file mode 100644
index 000000000000..271a006346b7
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl
@@ -0,0 +1,54 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_WizardTravelType_idl__
+#define __com_sun_star_ui_dialogs_WizardTravelType_idl__
+
+//==================================================================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//==================================================================================================================
+
+/** denotes ways to leave a <type>Wizard</type>'s page
+ */
+constants WizardTravelType
+{
+ /// indicates the wizard page is left due to forward traveling through the wizard
+ const short FORWARD = 1;
+ /// indicates the wizard page is left due to backward traveling through the wizard
+ const short BACKWARD = 2;
+ /// indicates the wizard page is left since the wizard is about to be finished
+ const short FINISH = 3;
+};
+
+//==================================================================================================================
+
+}; }; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl b/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl
new file mode 100644
index 000000000000..4e00b56a494d
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XAsynchronousExecutableDialog_idl__
+#define __com_sun_star_ui_dialogs_XAsynchronousExecutableDialog_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_XDialogClosedListener_idl__
+#include <com/sun/star/ui/dialogs/XDialogClosedListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Specifies an interface for an executable dialog in asynchronous mode.
+*/
+interface XAsynchronousExecutableDialog: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Sets the title of the dialog.
+
+ @param aTitle
+ Set an arbitrary title for the dialog,
+ may be an empty string if the dialog should not have a title.
+ */
+ void setDialogTitle( [in] string aTitle );
+
+ //-------------------------------------------------------------------------
+ /** Executes (shows) the dialog and returns immediately.
+
+ @param xListener
+ This listener will be called when the dialog is closed.
+ */
+ void startExecuteModal( [in] XDialogClosedListener xListener );
+
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/ui/dialogs/XControlAccess.idl b/offapi/com/sun/star/ui/dialogs/XControlAccess.idl
new file mode 100644
index 000000000000..9e4c22a5f578
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XControlAccess.idl
@@ -0,0 +1,105 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XControlAccess_idl__
+#define __com_sun_star_ui_dialogs_XControlAccess_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Generic control access interface.
+
+ <p>Use this interface to access user interface controls supported
+ by the implementing service. The supported controls, control
+ properties and the appropriate values are documented in the
+ description of the implementing service.</p>
+
+ @see com::sun::star::ui::dialogs::FilePicker
+ @see com::sun::star::ui::dialogs::FilePicker
+
+ @since OOo 1.1.2
+*/
+published interface XControlAccess: com::sun::star::uno::XInterface
+{
+//-------------------------------------------------------------------------
+/** Change a control property.
+
+ @param aControlName
+ The name of the control. Common control names are for
+ instance "OkButton" or "CancelButton".
+
+ @param aControlProperty
+ The control property to manipulate. Common control properties
+ are for instance "Label" or "State".
+
+ @param aValue
+ A value appropriated for the property.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ when the control is not supported, the control property is invalid or
+ the value fits not the control action.
+*/
+void setControlProperty( [in] string aControlName, [in] string aControlProperty, [in] any aValue )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+//-------------------------------------------------------------------------
+/** Query for a control property.
+
+ @param aControlName
+ The name of the control. Common control names are for
+ instance "OkButton" or "CancelButton".
+
+ @param aControlProperty
+ The requested control property. Common control properties
+ are for instance "Label" or "State".
+
+ @returns
+ the requested value.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ when the control is not supported or the control property is invalid.
+*/
+any getControlProperty( [in] string aControlName, [in] string aControlProperty )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/ui/dialogs/XControlInformation.idl b/offapi/com/sun/star/ui/dialogs/XControlInformation.idl
new file mode 100644
index 000000000000..fe920945b90e
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XControlInformation.idl
@@ -0,0 +1,111 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XControlInformation_idl__
+#define __com_sun_star_ui_dialogs_XControlInformation_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Interface to query for controls and control properties supported by the
+ implementing instance.
+
+ @since OOo 1.1.2
+*/
+published interface XControlInformation: com::sun::star::uno::XInterface
+{
+//-------------------------------------------------------------------------
+/** Query for the supported controls of a service instance.
+
+ @returns
+ a sequence with the names of the supported controls.
+*/
+sequence<string> getSupportedControls( );
+
+//-------------------------------------------------------------------------
+/** Returns whether the specified control is supported or not.
+
+ @param aControlName
+ The name of the control. Common control names are for
+ instance "OkButton" or "CancelButton".
+
+ @returns
+ <TRUE/> if the specified control is supported.
+ <FALSE/> if the specified control is not supported.
+*/
+boolean isControlSupported( [in] string aControlName );
+
+//-------------------------------------------------------------------------
+/** Returns a sequence with properties supported by the specified
+ control.
+
+ @param aControlName
+ The name of the control. Common control names are for
+ instance "OkButton" or "CancelButton".
+
+ @returns
+ a sequence of control properties supported by the specified control.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ when the specified control is not supported.
+*/
+sequence<string> getSupportedControlProperties( [in] string aControlName )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+//-------------------------------------------------------------------------
+/** Returns whether control property is supported by a control.
+
+ @param aControlName
+ The name of the control.
+
+ @param aControlProperty
+ The control property to query for.
+
+ @returns
+ <TRUE/> if the specified control action is supported.
+ <FALSE/> if the specified control action is not supported.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ when the specified control is not supported.
+*/
+boolean isControlPropertySupported( [in] string aControlName, [in] string aControlProperty )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl b/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl
new file mode 100644
index 000000000000..0f03d37efea2
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl
@@ -0,0 +1,68 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XDialogClosedListener_idl__
+#define __com_sun_star_ui_dialogs_XDialogClosedListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_DialogClosedEvent_idl__
+#include <com/sun/star/ui/dialogs/DialogClosedEvent.idl>
+#endif
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Used to notify listeners about dialog-closed events.
+
+ <p>Registered listeners will be notified with a
+ <type>DialogClosedEvent</type> when a <type>XAsynchronousExecutableDialog</type> is closed.</p>
+
+ @see <type>XAsynchronousExecutableDialog</type>
+ @see <type>DialogClosedEvent</type>
+*/
+
+
+interface XDialogClosedListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** A client receives this event if a dialog is closed.
+
+ @param aEvent
+ of type <type>DialogClosedEvent</type> that describes the event
+
+ @see <type>EndDialogEvent</type>
+ */
+ void dialogClosed( [in] DialogClosedEvent aEvent );
+};
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl b/offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl
new file mode 100644
index 000000000000..7cedeb3c136a
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+#define __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+
+#ifndef __com_sun_star_uno_RuntimeException_idl__
+#include <com/sun/star/uno/RuntimeException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Specifies an interface for an executable dialog.
+*/
+
+
+published interface XExecutableDialog: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Sets the title of the dialog.
+
+ @param aTitle
+ Set an arbitrary title for the dialog,
+ may be an empty string if the dialog should not
+ have a title.
+ */
+ void setTitle( [in] string aTitle );
+
+ //-------------------------------------------------------------------------
+ /** Executes (shows) the dialog.
+
+ @returns
+ A status code of type <type>ExecutableDialogResults</type>.
+ */
+ short execute();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePicker.idl b/offapi/com/sun/star/ui/dialogs/XFilePicker.idl
new file mode 100644
index 000000000000..6a564d178a47
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePicker.idl
@@ -0,0 +1,145 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_dialogs_XFilePicker_idl__
+#define __com_sun_star_ui_dialogs_XFilePicker_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Specifies an interface for a FilePicker
+*/
+
+published interface XFilePicker: com::sun::star::ui::dialogs::XExecutableDialog
+{
+
+ //-------------------------------------------------------------------------
+ /** Enable/disable multi-selection mode
+
+ <p>If the multi-selection mode is enabled, multiple files
+ may be selected by the user else only one file selection at a time is possible</p>
+
+ @param bMode
+ <p>A value of <TRUE/> enables the multi-selection mode.</p>
+ <p>A value of <FALSE/> disables the multi-selection mode, this is the default.</p>
+ */
+ void setMultiSelectionMode( [in] boolean bMode );
+
+ //-------------------------------------------------------------------------
+ /** Sets the default string that appears in the file name box of a FilePicker.
+
+ @param aName
+ <p> Specifies the default file name, displayed when the FilePicker
+ is shown. The implementation may accept any string, and does not
+ have to check for a valid file name or if the file really exists.
+ </p>
+ */
+ void setDefaultName( [in] string aName );
+
+ //-------------------------------------------------------------------------
+ /** Sets the directory that the file dialog initially displays.
+
+ @param aDirectory
+ Specifies the initial directory in URL format. The given URL must be
+ conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>).
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the URL is invalid (doesn't conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>).
+ */
+ void setDisplayDirectory( [in] string aDirectory )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** Returns the directory that the file dialog is currently showing or
+ was last showing before closing the dialog with Ok. If the user
+ did cancel the dialog, the returned value is undefined.
+
+ @returns
+ The directory in URL format, must be conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+ */
+ string getDisplayDirectory();
+
+ //-------------------------------------------------------------------------
+ /** Returns a sequence of the selected files including path information in
+ URL format, conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+
+ <p>If the user closed the dialog with cancel an empty sequence will be
+ returned.</p>
+ <br/>
+ <p>If the dialog is in execution mode and a single file is selected
+ the complete URL of this file will be returned.</p>
+ <p>If the dialog is in execution mode and multiple files are selected
+ an empty sequence will be returned.</p>
+ <p>If the dialog is in execution mode and the selected file name is false
+ or any other error occurs an empty sequence will be returned.</p>
+
+ @returns
+ <p> The complete path of the file or directory currently selected
+ in URL format. There are two different cases:
+ <ol>
+ <li>Multi-selection is disabled:
+ The first and only entry of the sequence contains the complete
+ path/filename in URL format.</li>
+
+ <li>Multi-selection is enabled:
+ If only one file is selected, the first entry
+ of the sequence contains the complete path/filename in URL format.
+ If multiple files are selected, the first entry of the sequence contains
+ the path in URL format, and the other entries contains the names of the selected
+ files without path information.</li>
+ </ol>
+
+ <br/>
+
+ <p><strong>Notes for the implementation of a FileSave dialog:</strong>If there exists
+ a checkbox "Automatic File Extension" which is checked and a valid filter is currently selected
+ the dialog may automatically add an extension to the selected file name.</p>
+ </p>
+ */
+ sequence< string > getFiles();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePicker2.idl b/offapi/com/sun/star/ui/dialogs/XFilePicker2.idl
new file mode 100644
index 000000000000..925451c6b24c
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePicker2.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilePicker2_idl__
+#define __com_sun_star_ui_dialogs_XFilePicker2_idl__
+
+#ifndef __com_sun_star_ui_dialogs_XFilePicker_idl__
+#include <com/sun/star/ui/dialogs/XFilePicker.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** extends file picker interface to workaround some design problems.
+*/
+interface XFilePicker2 : ::com::sun::star::ui::dialogs::XFilePicker
+{
+ //-------------------------------------------------------------------------
+ /** Returns a sequence of the selected files including path information in
+ URL format, conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+
+ <p>If the user closed the dialog with cancel an empty sequence will be returned.</p>
+ <br/>
+
+ <p>If the user closed the dialog with OK a list of all selected files will be returned.</p>
+
+ @attention
+ <p>
+ Instead to the method getFiles() of base interface XFilePicker the new method return
+ full qualified URLs for every selected file.
+ </p>
+
+ @returns
+ <p>A list of all selected file as complete URLs.</p>
+ <br/>
+
+ <p><strong>Notes for the implementation of a FileSave dialog:</strong>If there exists
+ a checkbox "Automatic File Extension" which is checked and a valid filter is currently selected
+ the dialog may automatically add an extension to the selected file name(s).</p>
+ */
+ sequence< string > getSelectedFiles();
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
+
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl b/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl
new file mode 100644
index 000000000000..a4a191dfc772
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl
@@ -0,0 +1,153 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilePickerControlAccess_idl__
+#define __com_sun_star_ui_dialogs_XFilePickerControlAccess_idl__
+
+#ifndef __com_sun_star_ui_dialogs_XFilePicker_idl__
+#include <com/sun/star/ui/dialogs/XFilePicker.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Provides access to the controls of a FilePicker.
+
+ <p> A FilePicker may contain additional elements according to the needs
+ of the different applications. These additional elements can be
+ addressed by this interface.</p>
+
+ @see com::sun::star::ui::dialogs::FilePicker
+*/
+published interface XFilePickerControlAccess: com::sun::star::ui::dialogs::XFilePicker
+{
+
+//-------------------------------------------------------------------------
+/** Set the value of an additional element within a FilePicker.
+
+ @param ControlId
+ Identifies the element which value is to be set.
+
+ @param aControlAction
+ Specifies an action to perform with the given value.
+ aControlAction has to be one of the values defined in <type>ControlActions</type>.
+ Not all of the values are valid for all controls.
+ To add a new filter to the FilePicker use the interface XFilterManager, but
+ optionally an implementation may also support adding new filter using this
+ method.
+
+ @param aValue
+ The value to set. For checkboxes aValue should be a boolean value that
+ should be <TRUE/> if the checkbox should be checked and <FALSE/> otherwise.
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ControlActions
+*/
+void setValue( [in] short aControlId, [in] short aControlAction, [in] any aValue );
+
+//-------------------------------------------------------------------------
+/** Get the value of an additional element within a FilePicker
+
+ @param aControlId
+ Identifies the element for which value is requested.
+
+ @param aControlAction
+ Specifies which value to retrieve.
+ aControlAction has to be one of the values defined in <type>ControlActions</type>.
+ Not all of the values are valid for all controls.
+
+ @returns
+ The value of the specified element. If the specified control
+ is a checkbox the returned value is a boolean that is <TRUE/>
+ if the checkbox is checked <FALSE/> otherwise.
+ If the specified element doesn't exist or the specified element
+ doesn't support the specified control action an empty any will be
+ returned.
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ControlActions
+*/
+any getValue( [in] short aControlId, [in] short aControlAction );
+
+//-------------------------------------------------------------------------
+/** Set the label of the specified element. If the specified element
+ doesn't support setting a label, this method has no effect.
+
+ @param aControlId
+ Identifies the element for which the label should be set.
+
+ @param aLabel
+ The label to be set.
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+*/
+void setLabel( [in] short aControlId, [in] string aLabel );
+
+//-------------------------------------------------------------------------
+/** Returns the label of the specified element.
+
+ @param aControlId
+ Identifies the element for which the label should be returned.
+
+ @returns
+ The label of the specified element or an empty string if
+ the specified element has no or supports no label or the
+ specified element doesn't exist.
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+*/
+string getLabel( [in] short aControlId );
+
+//-------------------------------------------------------------------------
+/** Enables or disables a control.
+
+ @param ControlId
+ Identifies the control.
+
+ @param bEnable
+ <p>If <TRUE/> the specified control will be enabled.</p>
+ <p>If <FALSE/> the specified control will be disabled.</p>
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+*/
+void enableControl( [in] short aControlId, [in] boolean bEnable );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl b/offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl
new file mode 100644
index 000000000000..33ec9f5e1c36
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl
@@ -0,0 +1,120 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilePickerListener_idl__
+#define __com_sun_star_ui_dialogs_XFilePickerListener_idl__
+
+#ifndef __com_sun_star_lang_XEventListener_idl__
+#include <com/sun/star/lang/XEventListener.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_FilePickerEvent_idl__
+#include <com/sun/star/ui/dialogs/FilePickerEvent.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+
+//=============================================================================
+/** Interface to be implemented by a FilePicker listener.
+
+ <p> The <type>XFilePickerListener</type> interface must be implemented by
+ the clients of the FilePicker service which need to be informed about
+ events while the FilePicker service is displayed.</p>
+*/
+
+published interface XFilePickerListener: com::sun::star::lang::XEventListener
+{
+ //-------------------------------------------------------------------------
+ /** A client receives this event if the file selection within the
+ FilePicker service dialog changes.
+
+ @param aEvent
+ of type <type>FilePickerEvent</type> that describes the event
+
+ @see com::sun::star::ui::dialogs::FilePickerEvent
+ */
+ void fileSelectionChanged( [in] FilePickerEvent aEvent );
+
+
+ //-------------------------------------------------------------------------
+ /** A client receives this event if the directory selection within the
+ FilePicker dialog changes.
+
+ @param aEvent
+ Of type <type>FilePickerEvent</type> that describes the event.
+
+ @see com::sun::star::ui::dialogs::FilePickerEvent
+ */
+ void directoryChanged( [in] FilePickerEvent aEvent );
+
+ //-------------------------------------------------------------------------
+ /** A client receives this event if the F1 key or the help button was
+ pressed.
+
+ @param aEvent
+ of type <type>FilePickerEvent</type> that describes the event
+
+ @returns
+ A help string which the FilePicker dialog should use to display
+ a help for a specific control. If the returned string is empty it is
+ undefined how the FilePicker implementation will behave.
+ It may show a message "no help available" or may show no
+ help at all.
+
+ @see com::sun::star::ui::dialogs::FilePickerEvent
+ */
+ string helpRequested( [in] FilePickerEvent aEvent );
+
+ //-------------------------------------------------------------------------
+ /** A client receives this event if the state of a control within the
+ FilePicker service dialog changes.
+
+ @param aEvent
+ of type <type>FilePickerEvent</type> that describes the event.
+
+ @see com::sun::star::ui::dialogs::FilePickerEvent
+ */
+ void controlStateChanged( [in] FilePickerEvent aEvent );
+
+ //-------------------------------------------------------------------------
+ /** A client receives this event if the size of the FilePicker dialog
+ has changed. If the FilePicker dialog contains a preview the client
+ may ask for the new dimension of the preview area.
+ */
+ void dialogSizeChanged( );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl b/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl
new file mode 100644
index 000000000000..862e92b7084d
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl
@@ -0,0 +1,75 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilePickerNotifier_idl__
+#define __com_sun_star_ui_dialogs_XFilePickerNotifier_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_XFilePickerListener_idl__
+#include <com/sun/star/ui/dialogs/XFilePickerListener.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+
+//=============================================================================
+/** Interface to be implemented in order to support listener management.
+*/
+published interface XFilePickerNotifier: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** Interface for clients to register as XFilePickerListener
+
+ @param xListener
+ The <type>XFilePickerListener</type> interface of the listener that
+ wants to receive events of type <type>FilePickerEvent</type>.
+ <p>Invalid interfaces or NULL values will be ignored.</p>
+ */
+ [oneway] void addFilePickerListener( [in] XFilePickerListener xListener );
+
+ //-------------------------------------------------------------------------
+ /** Interface for clients to unregister as XFilePickerListener.
+
+ @param xListener
+ The <type>XFilePickerListener</type> interface of the listener that
+ wants to receive events of type <type>FilePickerEvent</type>.
+ <p>Invalid interfaces or NULL values will be ignored.</p>
+ */
+ [oneway] void removeFilePickerListener( [in] XFilePickerListener xListener );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePreview.idl b/offapi/com/sun/star/ui/dialogs/XFilePreview.idl
new file mode 100644
index 000000000000..cbe7c49cd16b
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePreview.idl
@@ -0,0 +1,144 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilePreview_idl__
+#define __com_sun_star_ui_dialogs_XFilePreview_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_util_Color_idl__
+#include <com/sun/star/util/Color.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** FilePicker that support the preview of various file formats should implement
+ this interface.
+*/
+
+published interface XFilePreview: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+ /** The method returns all image formats that the preview supports.
+
+ @returns
+ A sequence of all supported preview formats
+
+ @see com::sun::star::ui::dialogs::FilePreviewImageFormats
+ */
+ sequence< short > getSupportedImageFormats( );
+
+ //-------------------------------------------------------------------------
+ /** The method returns the supported color depth of the target device.
+
+ @returns
+ The color depth in bit, e.g. 8 bit, 16 bit, 32 bit.
+ */
+ com::sun::star::util::Color getTargetColorDepth( );
+
+ //-------------------------------------------------------------------------
+ /** The method returns the available width of the preview window
+ even if the window is invisible or could not be created.
+ If a service implementation doesn't support a file preview
+ 0 will be returned.
+
+ @returns
+ The width of the preview window in pixel.
+ */
+ long getAvailableWidth( );
+
+ //-------------------------------------------------------------------------
+ /** The method returns the available height of the preview window
+ even if the window is invisible or could not be created.
+ If a service implementation doesn't support a file preview
+ 0 will be returned.
+
+ @returns
+ The heigth of the preview window in pixel.
+ */
+ long getAvailableHeight( );
+
+ //-------------------------------------------------------------------------
+ /** Sets a new image. If the preview is currently hidden the
+ image will be ignored. An empty any will clear the preview window.
+
+ @param aImageFormat
+ Specifies the format of the data that will be delivered
+
+ @param aImage
+ The image data, the image format defines how
+ the image data have to be delivered
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If the specified image format is invalid or not
+ supported by the preview implementation
+
+ @see com::sun::star::ui::dialogs::FilePreviewImageFormats
+ */
+ void setImage( [in] short aImageFormat, [in] any aImage )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** Optionally sets the current show state of the preview. It is possible
+ that the preview implementation doesn't support hiding the preview.
+
+ @param bShowState
+ A value of <TRUE/> shows the preview window.
+ <p>A value of <FALSE/> hides the preview window.</p>
+
+ @returns
+ A value of <TRUE/> on success.
+ <p>A value of <FALSE/> if the operation fails for any reason or the preview
+ implementation doesn't support hiding the preview.</p>
+ */
+ boolean setShowState( [in] boolean bShowState );
+
+ //-------------------------------------------------------------------------
+ /** Returns the current show state of the preview.
+
+ @returns
+ A value of <TRUE/> if the preview window is visible.
+ <p>A value of <FALSE/> if the preview window is invisible.</p>
+ */
+ boolean getShowState( );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl b/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl
new file mode 100644
index 000000000000..75e5b6458f3d
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_beans_StringPair_idl__
+#include <com/sun/star/beans/StringPair.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Specifies an interface which allows manipulation of groups of filters
+ for the <type>FilePicker</type> service.
+*/
+published interface XFilterGroupManager : com::sun::star::uno::XInterface
+{
+ /** Appends a group of filters to the current filter list.
+
+ <p>It is implementation dependent how the filter groups are presented to the user.<br/>
+ It is not even guaranteed that the groups are visualized: implementations are free to simply
+ append all the filters separately, with ignoring the group title.</p>
+
+ @param sGroupTitle
+ The title of the filter group. Usually, the caller should localize this title, as it is to be presented to
+ the user.
+
+ @param aFilters
+ The filters which form a group. Every filter consists of two strings, where the first one is a display name
+ (as for <arg>sGroupTitle</arg>, it holds that these strings should be localized), and the second one the
+ semicolon separated list of wildcard expressions for the filter.<br/>
+ Usually, the expressions are simply extensions (e.g. "*.txt"), but this must no necessarily be the case.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if one or more filters in the given filter list already exist.
+
+ @see com::sun::star::ui::dialogs::XFilterManager
+ @see com::sun::star::ui::dialogs::FilePicker
+ */
+ void appendFilterGroup(
+ [in] string sGroupTitle,
+ [in] sequence< com::sun::star::beans::StringPair > aFilters
+ )
+ raises( com::sun::star::lang::IllegalArgumentException );
+};
+
+//.............................................................................
+}; }; }; }; };
+//.............................................................................
+
diff --git a/offapi/com/sun/star/ui/dialogs/XFilterManager.idl b/offapi/com/sun/star/ui/dialogs/XFilterManager.idl
new file mode 100644
index 000000000000..67484d301299
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilterManager.idl
@@ -0,0 +1,97 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XFilterManager_idl__
+#define __com_sun_star_ui_dialogs_XFilterManager_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Specifies a filter manager interface for a FilePicker
+*/
+
+published interface XFilterManager: com::sun::star::uno::XInterface
+{
+
+ //-------------------------------------------------------------------------
+ /** Adds a filter identified by a title.
+
+ @param aTitle
+ Specifies the name of the filter as shown in the filter box of the
+ FilePicker dialog.
+
+ @param aFilter
+ Specifies the extensions of the filter. Multiple filters should be
+ semicolon separated. The semicolon may not be used as character in
+ a filter expression. A typical filter is for instance "*.txt".
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ If a filter with the specified title already exists.
+
+ */
+ void appendFilter( [in] string aTitle, [in] string aFilter )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** Sets the current filter.
+
+ @param aTitle
+ Specifies the name of the filter to be set.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ If the specified filter was not found.
+ */
+ void setCurrentFilter( [in] string aTitle )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** Returns the currently selected filter.
+
+ @returns
+ The name of the selected filter or an empty string if
+ there is no filter or no filter is currently selected.
+ */
+ string getCurrentFilter( );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/ui/dialogs/XFolderPicker.idl b/offapi/com/sun/star/ui/dialogs/XFolderPicker.idl
new file mode 100644
index 000000000000..4f0c0f981dd1
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFolderPicker.idl
@@ -0,0 +1,100 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+#ifndef __com_sun_star_ui_dialogs_XFolderPicker_idl__
+#define __com_sun_star_ui_dialogs_XFolderPicker_idl__
+
+#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#endif
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//=============================================================================
+/** Specifies a FolderPicker interface.
+*/
+
+published interface XFolderPicker: com::sun::star::ui::dialogs::XExecutableDialog
+{
+ //-------------------------------------------------------------------------
+ /** Sets the root directory that the FolderPicker should display.
+ It is not specified which root directory the FolderPicker
+ chooses if the specified root directory doesn't exist.
+
+ @param aDirectory
+ Specifies the root directory in url format, conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the given url is invalid.
+ */
+ void setDisplayDirectory( [in] string aDirectory )
+ raises( ::com::sun::star::lang::IllegalArgumentException );
+
+ //-------------------------------------------------------------------------
+ /** Returns the root directory that the FolderPicker is showing. The
+ return value is undefined if the client did not choose a root directory
+ or the previously specified root directory doesn't exist.
+
+ @returns
+ The directory in url format.
+ */
+ string getDisplayDirectory();
+
+ //-------------------------------------------------------------------------
+ /** Returns the selected directory as url conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>.
+
+ @returns
+ The selected directory as url if the user did close the dialog with Ok
+ else the returned value is undefined.
+ */
+ string getDirectory( );
+
+ //-------------------------------------------------------------------------
+ /** The implementation may optionally show the given text as a description
+ for the user within the dialog, e.g. "Please select a directory".
+ If the client doesn't set a description the dialog may show a default
+ description.
+ */
+ void setDescription( [in] string aDescription );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+
+#endif
+
diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl
new file mode 100644
index 000000000000..445f7bbf2a44
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl
@@ -0,0 +1,228 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XWizard_idl__
+#define __com_sun_star_ui_dialogs_XWizard_idl__
+
+#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
+#include <com/sun/star/util/InvalidStateException.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/awt/XWindow.idl>
+
+//==================================================================================================================
+module com { module sun { module star { module ui { module dialogs {
+
+//==================================================================================================================
+
+interface XWizardPage;
+
+/** is the main interface implemented by the <type>Wizard</type> services.
+
+ <p>A wizard is a dialog which guides the user through a number of tasks (usually input of data), which the user can
+ accomplish either sequentially or out-of-order. For this, a wizard is comprised of a number of tab pages,
+ each page representing a single <em>step</em>.</p>
+
+ <p>Sequential navigation in a wizard is done via a <em>Next</em> and a <em>Back</em> button. Non-sequential navigation
+ is done via a roadmap, which is displayed on the left hand side of the wizard dialog, lists all available
+ steps, and allows jumping to a certain step (where the creator of the wizard can restrict the available steps
+ depending on the current situation in the wizard, see below).</p>
+
+ <p>A sequence of steps in a wizard dialog is called a <em>path</em>. A given wizard can support one or multiple paths,
+ which are declared at the time of construction of the wizard.</p>
+
+ <p>In the simplest case, where the wizard supports only one path, all available steps are displayed in the roadmap,
+ and the user can simply travel through them as desired.</p>
+
+ <p>If the wizard is more complex, and supports multiple paths, things become more complicated. In a given situation
+ of the wizard, where the user is at step <em>k</em> of the current path, the <em>potential</em> or <em>conflicting</em>
+ paths are those whose first <em>k</em> steps are the same as in the current path. Obviously, there's at least one
+ potential path in every situation: the current one. If there is more than one, then the future steps in the dialog
+ are not finally decided. In such a case, the roadmap will display future steps up to the point where the potential
+ paths diverge, and then an item <quot><code>...</code></quot> indicating that the order of steps is undecided.</p>
+
+ <p>An <type>XWizardController</type> can declare a certain path as active path by calling the <member>activatePath</member>
+ method. Usually, this is done depending on user input. For instance, your wizard could have radio buttons on the
+ first page which effectively decide about which path to take in the wizard.</p>
+
+ <p>Single steps in the wizard can be freely enabled and disabled, using the <member>enablePage</member> method.
+ Disabled pages are skipped during sequential traveling, and not selectable in the roadmap.</p>
+
+ <p>The state of the <em>Next</em> button in the dialog will be automatically maintained in most situations,
+ depending on the results of calls to the <member>XWizardController::canAdvance</member> and <member>XWizardPage::canAdvance</member>
+ methods. More sophisticated wizard logic, however, will need manual calls to the <member>enableButton</member> method.
+ Also, the <em>Finish</em> button needs to be maintained by the wizard's controller, too, as it cannot be decided
+ generically in which situations it should be enabled or disabled.</p>
+
+ @see XWizardController
+ @see XWizardPage
+ */
+interface XWizard
+{
+ interface XExecutableDialog;
+
+ /** is the help URL of the wizard's main window.
+ */
+ [attribute] string HelpURL;
+
+ [attribute, readonly] ::com::sun::star::awt::XWindow
+ DialogWindow;
+
+ /** provides access to the current page of the wizard
+ */
+ XWizardPage
+ getCurrentPage();
+
+ /** enables or disables a certain button in the wizard
+
+ <p>Normally, you will want to use this method for the <em>Finish</em> button only: The <em>Next</em>
+ and <em>Back</em> buttons are usually maintained automatically, the <em>Help</em> and <em>Cancel</em>
+ buttons are unlikely to ever being disabled.</p>
+
+ @param WizardButton
+ denotes the button to enable or disable, as one of the <type>WizardButton</type> constants. Must not be
+ <member>WizardButton::NONE</member>.
+ @param Enable
+ specifies whether the button should be enabled (<TRUE/>) or disabled (<FALSE/>)
+ */
+ void enableButton( [in] short WizardButton, [in] boolean Enable );
+
+ /** sets a button in the wizard as default button
+
+ <p>In general, the default button in a wizard is the one which is activated when the user presses
+ the <em>return</em> key while the focus is in a control which does not handle this key itself (such as
+ ordinary input controls).</p>
+
+ <p>You can use this method, for instance, to make the <em>Next</em> button the default button on all pages
+ except the last one, where <em>Finish</em> should be defaulted.</p>
+ */
+ void setDefaultButton( [in] short WizardButton );
+
+ /** travels to the next page, if possible
+
+ <p>Calling this method is equivalent to the user pressing the <em>Next</em> button in the wizard. Consequently,
+ the method will fail if in the current state of the wizard, it is not allowed to advance to a next page.</p>
+ */
+ boolean travelNext();
+
+ /** travels to the next page, if possible
+
+ <p>Calling this method is equivalent to the user pressing the <em>Back</em> button in the wizard.</p>
+ */
+ boolean travelPrevious();
+
+ /** enables or disables the given page
+
+ <p>You can use this method when not all pages of your wizard are necessarily needed in all cases. For instance,
+ assume that your first wizard page contains a check box, which the user can check to enter additional data.
+ If you place this data on the second page, then you will want to enable this second page if and only if the
+ checkbox is checked.</p>
+
+ <p>If a page is disabled, it can reached neither by clicking the respective item in the wizard's roadmap,
+ nor by sequential traveling. Still, the page's item is displayed in the roadmap, though disabled.</p>
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no page with the given ID
+ @throws ::com::sun::star::util::InvalidStateException
+ if the page shall be disabled, but is active currently.
+ */
+ void enablePage( [in] short PageID, [in] boolean Enable )
+ raises ( ::com::sun::star::container::NoSuchElementException
+ , ::com::sun::star::util::InvalidStateException );
+
+ /** updates the wizard elements which are related to traveling.
+
+ <p>For instance, the <em>Next</em> button is disabled if the current page's <member>XWizardPage::canAdvance</member>
+ method returns <FALSE/>.</p>
+
+ <p>You usually call this method from within a wizard page whose state changed in a way that it affects the
+ user's ability to reach other pages.</p>
+ */
+ void updateTravelUI();
+
+ /** advances to the given page, if possible.
+
+ <p>Calling this method is equivalent to the user repeatedly pressing the <em>Next</em> button, until the
+ given page is reached. Consequently, the method will fail if one of the intermediate pages does not allow
+ advancing to the next page.</p>
+ */
+ boolean advanceTo( [in] short PageId );
+
+ /** goes back to the given page, if possible.
+
+ <p>Calling this method is equivalent to the user repeatedly pressing the <em>Back</em> button, until the
+ given page is reached.</p>
+ */
+ boolean goBackTo( [in] short PageId );
+
+ /** activates a path
+
+ <p>If the wizard has been created with multiple paths of control flow, then this method allows switching to
+ another path.</p>
+
+ <p>You can only activate a path which shares the first <code>k</code> pages with the path
+ which is previously active (if any), where <code>k</code> is the index of the current page within the current
+ path.</p>
+
+ <p><strong>Example</strong>: Say you have paths, <code>(0,1,2,5)</code> and <code>(0,1,4,5)</code> (with
+ the numbers denoting page IDs). This means that after page <code>1</code>, you either continue with page
+ <code>2</code> or state <code>4</code>,and after this, you finish in state <code>5</code>.<br/>
+ Now if the first path is active, and your current state is <code>1</code>, then you can easily switch to the
+ second path, since both paths start with <code>(0,1)</code>.<br/>
+ However, if your current state is <code>2</code>, then you can not switch to the second path anymore.</p>
+
+ @param PathIndex
+ the index of the path, as used in the <member>Wizard::createMultiplePathsWizard</member> constructor.
+ @param Final
+ <p>If <TRUE/>, the path will be completely activated, even if it is a conflicting path (i.e. there is another
+ path which shares the first <code>k</code> states with the to-be-activated path.)</p>
+
+ <p>If <FALSE/>, then the new path is checked for conflicts with other paths. If such conflicts exists, the path
+ is not completely activated, but only up to the point where it does <em>not</em> conflict.</p>
+
+ <p>In this latter case, you need another activatePath method (usually triggered by the user doing some decisions
+ and entering some data on the reachable pages) before the wizard can actually be finished.</p>
+
+ <p>With the paths in the example above, if you activate the second path, then only steps <code>0</code> and
+ <code>1</code> are activated, since they are common to both paths. Steps <code>2</code>, <code>4</code>,
+ and <code>5</code> are not reachable, yet.</p>
+
+ @throws ::com::sun::star::container::NoSuchElementException
+ if there is no path with the given index
+ @throws ::com::sun::star::util::InvalidStateException
+ if the path cannot be activated in the current state of the wizard.
+ */
+ void activatePath( [in] short PathIndex, [in] boolean Final )
+ raises ( ::com::sun::star::container::NoSuchElementException
+ , ::com::sun::star::util::InvalidStateException );
+};
+
+//==================================================================================================================
+
+}; }; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/XWizardController.idl b/offapi/com/sun/star/ui/dialogs/XWizardController.idl
new file mode 100644
index 000000000000..db26d3d281c4
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizardController.idl
@@ -0,0 +1,85 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XWizardController_idl__
+#define __com_sun_star_ui_dialogs_XWizardController_idl__
+
+#include <com/sun/star/ui/dialogs/XWizardPage.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//==================================================================================================================
+
+/** is the interface of a client-provided controller of a custom <type>Wizard</type>.
+ */
+interface XWizardController
+{
+ /** creates a page
+
+ <p>Wizard pages are created on demand, when the respective page is reached during traveling through the
+ wizard. Effectively, this means the method is called at most once for each possible page ID.</p>
+
+ @param ParentWindow
+ the parent window to use for the page window
+ @param PageId
+ the ID of the page.
+ @return
+ the requested page.
+ */
+ XWizardPage createPage( [in] ::com::sun::star::awt::XWindow ParentWindow, [in] short PageId );
+
+ /** provides the title of a page given by ID
+
+ <p>The page titles are displayed in the wizard's roadmap.</p>
+ */
+ string getPageTitle( [in] short PageId );
+
+ boolean canAdvance();
+
+ /** called when a new page in the wizard is being activated
+ */
+ void onActivatePage( [in] short PageId );
+
+ /** called when a page in the wizard is being deactivated
+ */
+ void onDeactivatePage( [in] short PageId );
+
+ /** called when the wizard is about to be finished.
+
+ <p>This method allows the controller to do any final checks, and ultimately veto finishing the wizard.</p>
+ */
+ boolean confirmFinish();
+};
+
+//==================================================================================================================
+
+}; }; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
new file mode 100644
index 000000000000..5e99ca2ada95
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
@@ -0,0 +1,86 @@
+/*************************************************************************
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_ui_dialogs_XWizardPage_idl__
+#define __com_sun_star_ui_dialogs_XWizardPage_idl__
+
+#include <com/sun/star/awt/XWindow.idl>
+
+//==================================================================================================================
+
+module com { module sun { module star { module ui { module dialogs {
+
+//==================================================================================================================
+
+/** is a single page of a <type>Wizard</type>
+ */
+interface XWizardPage : ::com::sun::star::lang::XComponent
+{
+ /** provides read-only access to the window of the page
+ */
+ [attribute, readonly] ::com::sun::star::awt::XWindow Window;
+
+ /** denotes the ID of the page.
+
+ <p>Within a wizard, no two pages are allowed to have the same ID.</p>
+ */
+ [attribute, readonly] short PageId;
+
+ /** called when the page is activated
+ */
+ void activatePage();
+
+ /** is called when the page is about to be left
+
+ <p>An implementation can veto the leave by returning <FALSE/> here. Usually, the decision about this
+ depends on the current state of the page.</p>
+
+ @param Reason
+ is one of the <type>WizardTravelType</type> constants denoting the reason why the page should be
+ committed.
+ */
+ boolean commitPage( [in] short Reason );
+
+ /** determines whether it is allowed to travel to a later page in the wizard
+
+ <p>You should base this decision on the state of the page only, not on a global state of the wizard. Usually,
+ you return <FALSE/> here if and only if not all necessary input on the page has been provided by the user,
+ or the provided input is not valid.</p>
+
+ <p>If checked for validity is expensive, or if you prefer giving your user more detailed feedback on validity
+ than a disabled <code>Next</code> button in the wizard, then move your checks to the <member>commitPage</member>
+ method.</p>
+ */
+ boolean canAdvance();
+};
+
+//==================================================================================================================
+
+}; }; }; }; };
+
+//==================================================================================================================
+
+#endif
diff --git a/offapi/com/sun/star/ui/dialogs/makefile.mk b/offapi/com/sun/star/ui/dialogs/makefile.mk
new file mode 100644
index 000000000000..07d762fb0ec6
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/makefile.mk
@@ -0,0 +1,79 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssuidialogs
+PACKAGE=com$/sun$/star$/ui$/dialogs
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ FilterOptionsDialog.idl\
+ ControlActions.idl\
+ ExecutableDialogException.idl\
+ ExecutableDialogResults.idl\
+ XExecutableDialog.idl\
+ CommonFilePickerElementIds.idl\
+ ExtendedFilePickerElementIds.idl\
+ FilePicker.idl\
+ FilePickerEvent.idl\
+ FilePreviewImageFormats.idl\
+ FolderPicker.idl\
+ ListboxControlActions.idl\
+ TemplateDescription.idl\
+ XFilePicker.idl\
+ XFilePicker2.idl\
+ XFilePickerControlAccess.idl \
+ XFilePickerListener.idl\
+ XFilePickerNotifier.idl\
+ XFilePreview.idl\
+ XFilterGroupManager.idl\
+ XFilterManager.idl\
+ XFolderPicker.idl\
+ XControlAccess.idl\
+ XControlInformation.idl \
+ XAsynchronousExecutableDialog.idl \
+ XDialogClosedListener.idl \
+ DialogClosedEvent.idl \
+ XWizard.idl \
+ XWizardController.idl \
+ Wizard.idl \
+ XWizardPage.idl \
+ WizardButton.idl \
+ WizardTravelType.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk
+
diff --git a/offapi/com/sun/star/ui/makefile.mk b/offapi/com/sun/star/ui/makefile.mk
new file mode 100644
index 000000000000..313d74dcd9e8
--- /dev/null
+++ b/offapi/com/sun/star/ui/makefile.mk
@@ -0,0 +1,93 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org. If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..$/..$/..$/..
+
+PRJNAME=offapi
+
+TARGET=cssui
+PACKAGE=com$/sun$/star$/ui
+
+# --- Settings -----------------------------------------------------
+.INCLUDE : $(PRJ)$/util$/makefile.pmk
+
+# ------------------------------------------------------------------------
+
+IDLFILES=\
+ ActionTrigger.idl \
+ ActionTriggerContainer.idl \
+ ActionTriggerSeparator.idl \
+ ActionTriggerSeparatorType.idl \
+ ConfigurableUIElement.idl \
+ ConfigurationEvent.idl \
+ ContextMenuExecuteEvent.idl \
+ ContextMenuInterceptorAction.idl \
+ DockingArea.idl \
+ GlobalAcceleratorConfiguration.idl \
+ ImageType.idl \
+ ItemDescriptor.idl \
+ ItemStyle.idl \
+ ItemType.idl \
+ ModuleUICategoryDescription.idl \
+ ModuleUICommandDescription.idl \
+ ModuleUIConfigurationManager.idl \
+ ModuleUIConfigurationManagerSupplier.idl \
+ ModuleWindowStateConfiguration.idl \
+ UICategoryDescription.idl \
+ UICommandDescription.idl \
+ UIConfigurationManager.idl \
+ UIElement.idl \
+ UIElementFactory.idl \
+ UIElementFactoryManager.idl \
+ UIElementSettings.idl \
+ UIElementType.idl \
+ WindowContentFactory.idl \
+ WindowStateConfiguration.idl \
+ XAcceleratorConfiguration.idl \
+ XContextMenuInterception.idl \
+ XContextMenuInterceptor.idl \
+ XDockingAreaAcceptor.idl \
+ XImageManager.idl \
+ XModuleUIConfigurationManager.idl \
+ XModuleUIConfigurationManagerSupplier.idl \
+ XUIConfiguration.idl \
+ XUIConfigurationListener.idl \
+ XUIConfigurationManager.idl \
+ XUIConfigurationManagerSupplier.idl \
+ XUIConfigurationPersistence.idl \
+ XUIConfigurationStorage.idl \
+ XUIElement.idl \
+ XUIElementFactory.idl \
+ XUIElementFactoryRegistration.idl \
+ XUIElementSettings.idl \
+ XUIFunctionListener.idl \
+ XToolPanel.idl
+
+# ------------------------------------------------------------------
+
+.INCLUDE : target.mk
+.INCLUDE : $(PRJ)$/util$/target.pmk