summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/ui/dialogs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:54:39 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 05:54:39 +0000
commit267c6f2ac71f92999e969232431ba04678e7437e (patch)
tree358c9467650e1d0a1d7227a21dac2e3d08b622b2 /offapi/com/sun/star/ui/dialogs
parentInitial commit. (diff)
downloadlibreoffice-267c6f2ac71f92999e969232431ba04678e7437e.tar.xz
libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.zip
Adding upstream version 4:24.2.0.upstream/4%24.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/ui/dialogs')
-rw-r--r--offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl35
-rw-r--r--offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl66
-rw-r--r--offapi/com/sun/star/ui/dialogs/ControlActions.idl88
-rw-r--r--offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl43
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl32
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl41
-rw-r--r--offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl57
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePicker.idl62
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl41
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl39
-rw-r--r--offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl67
-rw-r--r--offapi/com/sun/star/ui/dialogs/FolderPicker.idl31
-rw-r--r--offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl71
-rw-r--r--offapi/com/sun/star/ui/dialogs/TemplateDescription.idl150
-rw-r--r--offapi/com/sun/star/ui/dialogs/Wizard.idl64
-rw-r--r--offapi/com/sun/star/ui/dialogs/WizardButton.idl48
-rw-r--r--offapi/com/sun/star/ui/dialogs/WizardTravelType.idl42
-rw-r--r--offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl47
-rw-r--r--offapi/com/sun/star/ui/dialogs/XControlAccess.idl80
-rw-r--r--offapi/com/sun/star/ui/dialogs/XControlInformation.idl86
-rw-r--r--offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl46
-rw-r--r--offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl50
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePicker.idl99
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePicker2.idl55
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePicker3.idl64
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl129
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl92
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl50
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilePreview.idl113
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl58
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFilterManager.idl71
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFolderPicker.idl70
-rw-r--r--offapi/com/sun/star/ui/dialogs/XFolderPicker2.idl45
-rw-r--r--offapi/com/sun/star/ui/dialogs/XSLTFilterDialog.idl31
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizard.idl211
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizardController.idl71
-rw-r--r--offapi/com/sun/star/ui/dialogs/XWizardPage.idl72
37 files changed, 2517 insertions, 0 deletions
diff --git a/offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl b/offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl
new file mode 100644
index 0000000000..77dd253e83
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/**
+ @since LibreOffice 4.1
+*/
+service AddressBookSourcePilot : XExecutableDialog
+{
+ createWithParent([in] com::sun::star::awt::XWindow ParentWindow);
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..999e647117
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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;
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..6180418bb4
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ControlActions.idl
@@ -0,0 +1,88 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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;
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..49162ccc47
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl
@@ -0,0 +1,43 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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 com::sun::star::lang::EventObject
+*/
+struct DialogClosedEvent: com::sun::star::lang::EventObject
+{
+ /**
+ Identifies the result of a dialog.
+
+ @see ExecutableDialogResults
+ */
+ short DialogResult;
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..9444eab7ea
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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
+{
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..16d6bcf83c
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** These constants are used to specify a result of executing a XExecutableDialog.
+*/
+
+published constants ExecutableDialogResults
+{
+ /** The user canceled the dialog.
+ */
+ const short CANCEL = 0;
+
+ /** The user acknowledged the dialog.
+ */
+ const short OK = 1;
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..52dadce325
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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;
+ /** @since LibreOffice 6.0 */ const short CHECKBOX_GPGENCRYPTION = 211;
+ /** @since LibreOffice 6.1 */ const short LISTBOX_IMAGE_ANCHOR = 212;
+ /** @since LibreOffice 6.1 */ const short LISTBOX_IMAGE_ANCHOR_LABEL = 213;
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..cf0b2d5d7d
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePicker.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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 service FilePicker : XFilePicker3
+{
+
+ /** 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>
+ <p>Note that when creating a file picker, the top window is selected
+ as the parent window for the file picker. Make sure that it does not get
+ closed while opening the file picker, as there is a potential race.</p>
+
+ @see com::sun::star::ui::dialogs::TemplateDescription
+ */
+ createWithMode([in] short Mode);
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..53f9561723
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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
+{
+ /**
+ Identifies the affected element
+
+ @see com::sun::star::ui::dialogs::CommonFilePickerElementIds
+ @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds
+ */
+ short ElementId;
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..a9b4f5148a
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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 com::sun::star::ui::dialogs::XFilePreview.
+ */
+
+published constants FilePreviewImageFormats
+{
+ /** A LibreOffice 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;
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..d272233e5a
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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 com::sun::star::document::MediaDescriptor
+ and can be queried from the com::sun::star::document::MediaDescriptor by
+ the component that implements com::sun::star::document::XFilter.</p>
+
+ <p>The application will set the com::sun::star::document::MediaDescriptor
+ using the interface com::sun::star::beans::XPropertyAccess and then
+ call XExecutableDialog::execute().</p>
+
+ <p>If that method returns <code>ExecutableDialogResults::OK</code>,
+ the application will retrieve the changed com::sun::star::document::MediaDescriptor
+ back using the interface com::sun::star::beans::XPropertyAccess. The filter
+ operation is then continued, using the new com::sun::star::document::MediaDescriptor.</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
+ com::sun::star::document::MediaDescriptor before executing
+ the dialog and to retrieve the changed com::sun::star::document::MediaDescriptor
+
+ afterwards.
+ */
+ interface com::sun::star::beans::XPropertyAccess;
+
+ /** this interface executes a dialog that displays the options
+ for a filter.
+ If XExecutableDialog::execute()
+ returns <code>ExecutableDialogResults::OK</code>,
+ the options can be retrieved by calling
+ com::sun::star::beans::XPropertyAccess::getPropertyValues.
+ */
+ interface ::com::sun::star::ui::dialogs::XExecutableDialog;
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..e838ec6904
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/FolderPicker.idl
@@ -0,0 +1,31 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** A FolderPicker service.
+*/
+
+published service FolderPicker : XFolderPicker2;
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..19b27cc8c0
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** These constants are deprecated and should not be used anymore. They're superseded
+ by ControlActions.
+ @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;
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..fe3ef6f970
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/TemplateDescription.idl
@@ -0,0 +1,150 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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;
+
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Show Preview"</li>
+ <li>A window for displaying a file preview</li>
+ </ul>
+
+ @since LibreOffice 5.3
+ */
+ const short FILEOPEN_PREVIEW = 11;
+
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Insert as link"</li>
+ <li>A push button "Play"</li>
+ </ul>
+
+ @since LibreOffice 5.3
+ */
+ const short FILEOPEN_LINK_PLAY = 12;
+
+ /** A FileOpen dialog with additional controls.
+ <ul>
+ <li>A checkbox "Insert as link"
+ <li>A checkbox "Show Preview"
+ <li>A listbox "Image Anchor" for choosing how to anchor the image in Calc.</li>
+ <li>A window for displaying a file preview</li>
+ </ul>
+
+ @since LibreOffice 6.1
+ */
+ const short FILEOPEN_LINK_PREVIEW_IMAGE_ANCHOR = 13;
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..d54bee1dee
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/Wizard.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+interface XWizardController;
+
+
+/** provides a framework for implementing a wizard dialog.
+
+ @since OOo 3.3
+ */
+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.
+ @param Controller
+ the wizard controller.
+ */
+ 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.
+ @param Controller
+ the wizard controller.
+ */
+ createMultiplePathsWizard(
+ [in] sequence< sequence< short > > PageIds,
+ [in] XWizardController Controller
+ )
+ raises ( ::com::sun::star::lang::IllegalArgumentException
+ );
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..dd8f1340d1
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/WizardButton.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** denotes the buttons found in a Wizard
+
+ @since OOo 3.3
+ */
+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;
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..3eab0d9d9b
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** denotes ways to leave a Wizard's page
+
+ @since OOo 3.3
+ */
+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;
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..6dafa4044a
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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 );
+
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..d6b4a3dab9
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XControlAccess.idl
@@ -0,0 +1,80 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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 );
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..778075880d
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XControlInformation.idl
@@ -0,0 +1,86 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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 );
+};
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..023ad6ee55
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+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
+ DialogClosedEvent when a XAsynchronousExecutableDialog is closed.</p>
+
+ @see XAsynchronousExecutableDialog
+ @see DialogClosedEvent
+*/
+
+
+interface XDialogClosedListener: com::sun::star::lang::XEventListener
+{
+ /** A client receives this event if a dialog is closed.
+
+ @param aEvent
+ of type DialogClosedEvent that describes the event
+
+ @see EndDialogEvent
+ */
+ void dialogClosed( [in] DialogClosedEvent aEvent );
+};
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..63dfa433d8
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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 ExecutableDialogResults.
+ */
+ short execute();
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..11131cb0bb
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePicker.idl
@@ -0,0 +1,99 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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
+ 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 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, conforming 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 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. This always returns only the first entry of the sequence.
+ <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>
+ @deprecated use com::sun::star::ui::dialogs::XFilePicker2::getSelectedFiles instead
+ */
+ sequence< string > getFiles();
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..8b54868315
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePicker2.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** extends file picker interface to workaround some design problems.
+*/
+published interface XFilePicker2 : ::com::sun::star::ui::dialogs::XFilePicker
+{
+ /** Returns a sequence of the selected files including path information in
+ URL format, conforming 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();
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFilePicker3.idl b/offapi/com/sun/star/ui/dialogs/XFilePicker3.idl
new file mode 100644
index 0000000000..974a3209eb
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePicker3.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/**
+ Provides unified interface for FilePicker service.
+
+ @since LibreOffice 4.1
+*/
+published interface XFilePicker3
+{
+ interface XFilePicker2;
+
+ /** Provides the ability to request notifications about changes.
+ */
+ interface XFilePickerNotifier; // extends XEventListener
+
+ /** 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;
+
+ /** An interface which allows manipulation of groups of filters
+ */
+ interface XFilterGroupManager;
+
+ /** For canceling a running dialog instance.
+ <p>This may be useful for automatic test tools for instance.</p>
+ */
+ interface com::sun::star::util::XCancellable;
+
+ /** For shutdown and listener support.
+ */
+ interface com::sun::star::lang::XComponent;
+
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..5093377256
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl
@@ -0,0 +1,129 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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 ControlActions.
+ 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 ControlId, [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 ControlActions.
+ 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 ControlId, [in] boolean bEnable );
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..966696cafa
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl
@@ -0,0 +1,92 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** Interface to be implemented by a FilePicker listener.
+
+ <p> The XFilePickerListener 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 FilePickerEvent 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 FilePickerEvent 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 FilePickerEvent 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 FilePickerEvent 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( );
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..ff3e011beb
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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 XFilePickerListener interface of the listener that
+ wants to receive events of type FilePickerEvent.
+ <p>Invalid interfaces or NULL values will be ignored.</p>
+ */
+ void addFilePickerListener( [in] XFilePickerListener xListener );
+
+ /** Interface for clients to unregister as XFilePickerListener.
+
+ @param xListener
+ The XFilePickerListener interface of the listener that
+ wants to receive events of type FilePickerEvent.
+ <p>Invalid interfaces or NULL values will be ignored.</p>
+ */
+ void removeFilePickerListener( [in] XFilePickerListener xListener );
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..f648040f05
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilePreview.idl
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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.
+
+ @deprecated - typically now just returns 0
+
+ @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 height 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( );
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..a0ece4bb1e
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+module com { module sun { module star { module ui { module dialogs {
+
+/** Specifies an interface which allows manipulation of groups of filters
+ for the FilePicker 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 sGroupTitle, 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 );
+};
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..1014522ddf
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFilterManager.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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( );
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..e6c3dd7718
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFolderPicker.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+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, conforming 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 conforming 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 );
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XFolderPicker2.idl b/offapi/com/sun/star/ui/dialogs/XFolderPicker2.idl
new file mode 100644
index 0000000000..9cb4f09f63
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XFolderPicker2.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/**
+ Provides a unified interface for the new-style FolderPicker service to implement.
+
+ @since LibreOffice 4.0
+*/
+published interface XFolderPicker2
+{
+ /** Provides the ability to execute a FolderPicker dialog and
+ browse for and select folders.
+ */
+ interface XFolderPicker;
+
+ /** For canceling a running dialog instance.
+ <p>This may be useful for automatic test tools for instance.</p>
+ */
+ interface com::sun::star::util::XCancellable;
+};
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/ui/dialogs/XSLTFilterDialog.idl b/offapi/com/sun/star/ui/dialogs/XSLTFilterDialog.idl
new file mode 100644
index 0000000000..87b0776ebd
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XSLTFilterDialog.idl
@@ -0,0 +1,31 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+/**
+ @since LibreOffice 4.1
+*/
+published service XSLTFilterDialog : XExecutableDialog;
+
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..42bd40840f
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl
@@ -0,0 +1,211 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+interface XWizardPage;
+
+/** is the main interface implemented by the Wizard 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 <em><code>...</code></em> indicating that the order of steps is undecided.</p>
+
+ <p>An XWizardController can declare a certain path as active path by calling the activatePath()
+ 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 enablePage() 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 XWizardController::canAdvance() and XWizardPage::canAdvance()
+ methods. More sophisticated wizard logic, however, will need manual calls to the enableButton() 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
+
+ @since OOo 3.3
+ */
+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 WizardButton constants. Must not be
+ WizardButton::NONE.
+ @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 XWizardPage::canAdvance()
+ 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 Wizard::createMultiplePathsWizard() 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 );
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..3319e6a2a5
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizardController.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** is the interface of a client-provided controller of a custom Wizard.
+
+ @since OOo 3.3
+ */
+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();
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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 0000000000..cbd7ada79b
--- /dev/null
+++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+
+module com { module sun { module star { module ui { module dialogs {
+
+
+/** is a single page of a Wizard
+
+ @since OOo 3.3
+ */
+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 WizardTravelType 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 commitPage()
+ method.</p>
+ */
+ boolean canAdvance();
+};
+
+
+}; }; }; }; };
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */