From 940b4d1848e8c70ab7642901a68594e8016caffc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 18:51:28 +0200 Subject: Adding upstream version 1:7.0.4. Signed-off-by: Daniel Baumann --- .../sun/star/ui/dialogs/AddressBookSourcePilot.idl | 43 ++++ .../star/ui/dialogs/CommonFilePickerElementIds.idl | 71 +++++++ offapi/com/sun/star/ui/dialogs/ControlActions.idl | 93 +++++++++ .../com/sun/star/ui/dialogs/DialogClosedEvent.idl | 51 +++++ .../star/ui/dialogs/ExecutableDialogException.idl | 39 ++++ .../star/ui/dialogs/ExecutableDialogResults.idl | 46 +++++ .../ui/dialogs/ExtendedFilePickerElementIds.idl | 62 ++++++ offapi/com/sun/star/ui/dialogs/FilePicker.idl | 66 ++++++ offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl | 49 +++++ .../star/ui/dialogs/FilePreviewImageFormats.idl | 44 ++++ .../sun/star/ui/dialogs/FilterOptionsDialog.idl | 74 +++++++ offapi/com/sun/star/ui/dialogs/FolderPicker.idl | 38 ++++ .../sun/star/ui/dialogs/ListboxControlActions.idl | 76 +++++++ .../sun/star/ui/dialogs/TemplateDescription.idl | 155 +++++++++++++++ offapi/com/sun/star/ui/dialogs/Wizard.idl | 72 +++++++ offapi/com/sun/star/ui/dialogs/WizardButton.idl | 53 +++++ .../com/sun/star/ui/dialogs/WizardTravelType.idl | 47 +++++ .../ui/dialogs/XAsynchronousExecutableDialog.idl | 55 +++++ offapi/com/sun/star/ui/dialogs/XControlAccess.idl | 88 ++++++++ .../sun/star/ui/dialogs/XControlInformation.idl | 94 +++++++++ .../sun/star/ui/dialogs/XDialogClosedListener.idl | 54 +++++ .../com/sun/star/ui/dialogs/XExecutableDialog.idl | 58 ++++++ offapi/com/sun/star/ui/dialogs/XFilePicker.idl | 107 ++++++++++ offapi/com/sun/star/ui/dialogs/XFilePicker2.idl | 62 ++++++ offapi/com/sun/star/ui/dialogs/XFilePicker3.idl | 78 ++++++++ .../star/ui/dialogs/XFilePickerControlAccess.idl | 136 +++++++++++++ .../sun/star/ui/dialogs/XFilePickerListener.idl | 100 ++++++++++ .../sun/star/ui/dialogs/XFilePickerNotifier.idl | 58 ++++++ offapi/com/sun/star/ui/dialogs/XFilePreview.idl | 122 ++++++++++++ .../sun/star/ui/dialogs/XFilterGroupManager.idl | 65 ++++++ offapi/com/sun/star/ui/dialogs/XFilterManager.idl | 79 ++++++++ offapi/com/sun/star/ui/dialogs/XFolderPicker.idl | 78 ++++++++ offapi/com/sun/star/ui/dialogs/XFolderPicker2.idl | 53 +++++ .../com/sun/star/ui/dialogs/XSLTFilterDialog.idl | 38 ++++ offapi/com/sun/star/ui/dialogs/XWizard.idl | 221 +++++++++++++++++++++ .../com/sun/star/ui/dialogs/XWizardController.idl | 78 ++++++++ offapi/com/sun/star/ui/dialogs/XWizardPage.idl | 79 ++++++++ 37 files changed, 2782 insertions(+) create mode 100644 offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl create mode 100644 offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl create mode 100644 offapi/com/sun/star/ui/dialogs/ControlActions.idl create mode 100644 offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl create mode 100644 offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl create mode 100644 offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl create mode 100644 offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl create mode 100644 offapi/com/sun/star/ui/dialogs/FilePicker.idl create mode 100644 offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl create mode 100644 offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl create mode 100644 offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl create mode 100644 offapi/com/sun/star/ui/dialogs/FolderPicker.idl create mode 100644 offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl create mode 100644 offapi/com/sun/star/ui/dialogs/TemplateDescription.idl create mode 100644 offapi/com/sun/star/ui/dialogs/Wizard.idl create mode 100644 offapi/com/sun/star/ui/dialogs/WizardButton.idl create mode 100644 offapi/com/sun/star/ui/dialogs/WizardTravelType.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XControlAccess.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XControlInformation.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XFilePicker.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XFilePicker2.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XFilePicker3.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XFilePreview.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XFilterManager.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XFolderPicker.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XFolderPicker2.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XSLTFilterDialog.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XWizard.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XWizardController.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XWizardPage.idl (limited to 'offapi/com/sun/star/ui/dialogs') 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 000000000..6e3668cb8 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/AddressBookSourcePilot.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_AddressBookSourcePilot_idl__ +#define __com_sun_star_ui_dialogs_AddressBookSourcePilot_idl__ + +#include +#include + + +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); +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..7ec5aa413 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl @@ -0,0 +1,71 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_CommonFilePickerElementIds_idl__ +#define __com_sun_star_ui_dialogs_CommonFilePickerElementIds_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +/** These constants are used to specify common controls of a FilePicker dialog. + + */ + +published constants CommonFilePickerElementIds +{ + /** The control id of the OK button. + */ + const short PUSHBUTTON_OK = 1; + + /** The control id of the Cancel button. + */ + const short PUSHBUTTON_CANCEL = 2; + + /** The filter listbox of a FilePicker dialog. + */ + const short LISTBOX_FILTER = 3; + + /** Is used to refer to the file view of the file picker. This view shows the list of + all files/folders in the currently selected folder. + */ + const short CONTROL_FILEVIEW = 4; + + /** Is used to refer to the edit line where a file or path can be entered by the user. + */ + const short EDIT_FILEURL = 5; + + /** The label of the filter listbox of a FilePicker dialog. + + @since OOo 1.1.2 + */ + const short LISTBOX_FILTER_LABEL = 6; + + /** The label of the file name listbox of a FilePicker dialog. + + @since OOo 1.1.2 + */ + const short EDIT_FILEURL_LABEL = 7; +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..43130cf59 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/ControlActions.idl @@ -0,0 +1,93 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_ControlActions_idl__ +#define __com_sun_star_ui_dialogs_ControlActions_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +/** Control actions for common and extended controls of a FilePicker. + + @see com::sun::star::ui::dialogs::XFilePickerControlAccess + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds + */ + +published constants ControlActions +{ + /** Adds an item to the content of the listbox. The given item has to + be a string. + */ + const short ADD_ITEM = 1; + + /** Adds a sequence of strings to the content of the listbox. + */ + const short ADD_ITEMS = 2; + + /** Removes an item from a listbox. The given value has to be a + position. If the position is invalid an exception will be thrown. + The index of the first position is 0. + The value should be a sal_Int32. + */ + const short DELETE_ITEM = 3; + + /** Removes all items from the listbox. + */ + const short DELETE_ITEMS = 4; + + /** Selects an item in a listbox. The given value has to be a position. + The index of the first position is 0. A value of -1 removes the + selection. + If the given position is invalid an exception will be thrown. + The value should be a sal_Int32. + */ + const short SET_SELECT_ITEM = 5; + + /** Returns all items of the listbox as a sequence of strings. + */ + const short GET_ITEMS = 6; + + /** Returns the currently selected item. The returned item is an empty + string if the listbox is empty or no item is selected. + */ + const short GET_SELECTED_ITEM = 7; + + /** Returns the zero based index of the currently selected item. + If the listbox is empty or there is no item selected -1 will be + returned. The returned value is a sal_Int32. + */ + + const short GET_SELECTED_ITEM_INDEX = 8; + + /** Sets the help URL of a control. + */ + const short SET_HELP_URL = 100; + + /** Retrieves the help URL of a control. + */ + const short GET_HELP_URL = 101; +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..5b25fabbe --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_DialogClosedEvent_idl__ +#define __com_sun_star_ui_dialogs_DialogClosedEvent_idl__ + +#include + + +module com { module sun { module star { module ui { module dialogs { + + +/** Information of a closed dialog. + +

The broadcaster who sends such event, must send the dialog as the source.

+ + @see com::sun::star::lang::EventObject +*/ +struct DialogClosedEvent: com::sun::star::lang::EventObject +{ + /** + @param DialogResult + Identifies the result of a dialog. + + @see ExecutableDialogResults + */ + short DialogResult; +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..a632953a3 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_ExecutableDialogException_idl__ +#define __com_sun_star_ui_dialogs_ExecutableDialogException_idl__ + +#include + + +module com { module sun { module star { module ui { module dialogs { + +/** Base class of all XExecutableDialog related exceptions. + */ +published exception ExecutableDialogException: com::sun::star::uno::Exception +{ +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..5e39783c8 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl @@ -0,0 +1,46 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_ExecutableDialogResults_idl__ +#define __com_sun_star_ui_dialogs_ExecutableDialogResults_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +/** These constants are used to specify a result of executing a XExecutableDialog. +*/ + +published constants ExecutableDialogResults +{ + /** The user canceled the dialog. + */ + const short CANCEL = 0; + + /** The user acknowledged the dialog. + */ + const short OK = 1; +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..f981d0430 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_ExtendedFilePickerElementIds_idl__ +#define __com_sun_star_ui_dialogs_ExtendedFilePickerElementIds_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +/**

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.

+ + @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; +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..463674813 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/FilePicker.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 . + */ + +#ifndef __com_sun_star_ui_dialogs_FilePicker_idl__ +#define __com_sun_star_ui_dialogs_FilePicker_idl__ + +#include + + +module com { module sun { module star { module ui { module dialogs { + + +/** A FilePicker. + + It is NOT 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. +

+

Notes for the implementation of a FileSave dialog: + 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.

+ + @see com::sun::star::ui::dialogs::TemplateDescription + */ + createWithMode([in] short Mode); +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..2c834e893 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl @@ -0,0 +1,49 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_FilePickerEvent_idl__ +#define __com_sun_star_ui_dialogs_FilePickerEvent_idl__ + +#include + + +module com { module sun { module star { module ui { module dialogs { + + +/** Context information in case of a FilePicker event. +*/ +published struct FilePickerEvent: com::sun::star::lang::EventObject +{ + /** + @param ElementId + Identifies the affected element + + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds + */ + short ElementId; +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..e6a765ed7 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl @@ -0,0 +1,44 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_FilePreviewImageFormats_idl__ +#define __com_sun_star_ui_dialogs_FilePreviewImageFormats_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +/** These constants are used to specify image formats supported by an implementation + of the interface 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; +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..b5866343a --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__ +#define __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__ + +#include +#include + + +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. + +

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.

+ +

The application will set the com::sun::star::document::MediaDescriptor + using the interface com::sun::star::beans::XPropertyAccess and then + call XExecutableDialog::execute().

+ +

If that method returns ExecutableDialogResults::OK, + 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.

+ +

Otherwise, the filter operation is canceled.

+ + @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 ExecutableDialogResults::OK, + the options can be retrieved by calling + com::sun::star::beans::XPropertyAccess::getPropertyValues. + */ + interface ::com::sun::star::ui::dialogs::XExecutableDialog; +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..a283c6085 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/FolderPicker.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_FolderPicker_idl__ +#define __com_sun_star_ui_dialogs_FolderPicker_idl__ + +#include + + +module com { module sun { module star { module ui { module dialogs { + +/** A FolderPicker service. +*/ + +published service FolderPicker : XFolderPicker2; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..dba798e7b --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl @@ -0,0 +1,76 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_ListboxControlActions_idl__ +#define __com_sun_star_ui_dialogs_ListboxControlActions_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +/** These constants are deprecated and should not be used anymore. They're superseded + by 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; +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..2879f72a7 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/TemplateDescription.idl @@ -0,0 +1,155 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_TemplateDescription_idl__ +#define __com_sun_star_ui_dialogs_TemplateDescription_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +/** The implementation of a FilePicker service may support the usage of + different templates. The following constants define the currently + specified templates. + + @see com::sun::star::ui::dialogs::FilePicker + */ + +published constants TemplateDescription +{ + /** A FileOpen dialog without any additional controls. + */ + const short FILEOPEN_SIMPLE = 0; + + /** A FileSave dialog without any additional controls. + */ + const short FILESAVE_SIMPLE = 1; + + /** A FileSave dialog with additional controls. +
    +
  • A checkbox "Auto Extension"
  • +
  • A checkbox "Password"
  • +
+ */ + const short FILESAVE_AUTOEXTENSION_PASSWORD = 2; + + /** A FileSave dialog with additional controls. +
    +
  • A checkbox "Auto Extension"
  • +
  • A checkbox "Password"
  • +
  • A checkbox "Filter Options"
  • +
+ */ + const short FILESAVE_AUTOEXTENSION_PASSWORD_FILTEROPTIONS = 3; + + /** A FileSave dialog with additional controls. +
    +
  • A checkbox "Auto Extension"
  • +
  • A checkbox "Selection"
  • +
+ */ + const short FILESAVE_AUTOEXTENSION_SELECTION = 4; + + /** A FileSave dialog with additional controls. +
    +
  • A checkbox "Auto Extension"
  • +
  • A listbox "Template" for selecting different templates
  • +
+ */ + const short FILESAVE_AUTOEXTENSION_TEMPLATE = 5; + + /** A FileOpen dialog with additional controls. +
    +
  • A checkbox "Insert as link" +
  • A checkbox "Show Preview" +
  • A listbox "Image Template" for inserting an image with different styles.
  • +
  • A window for displaying a file preview
  • +
+ */ + const short FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE = 6; + + /** A FileOpen dialog with additional controls. +
    +
  • A push button "Play"
  • +
+ */ + const short FILEOPEN_PLAY = 7; + + /** A FileOpen dialog with additional controls. +
    +
  • A checkbox "Read only"
  • +
  • A listbox "Version" for selecting a document version
  • +
+ */ + const short FILEOPEN_READONLY_VERSION = 8; + + /** A FileOpen dialog with additional controls. +
    +
  • A checkbox "Insert as link"
  • +
  • A checkbox "Show Preview"
  • +
  • A window for displaying a file preview
  • +
+ */ + const short FILEOPEN_LINK_PREVIEW = 9; + + /** A FileSave dialog with additional controls. +
    +
  • A checkbox "Auto Extension"
  • +
+ */ + const short FILESAVE_AUTOEXTENSION = 10; + + /** A FileOpen dialog with additional controls. +
    +
  • A checkbox "Show Preview"
  • +
  • A window for displaying a file preview
  • +
+ + @since LibreOffice 5.3 + */ + const short FILEOPEN_PREVIEW = 11; + + /** A FileOpen dialog with additional controls. +
    +
  • A checkbox "Insert as link"
  • +
  • A push button "Play"
  • +
+ + @since LibreOffice 5.3 + */ + const short FILEOPEN_LINK_PLAY = 12; + + /** A FileOpen dialog with additional controls. +
    +
  • A checkbox "Insert as link" +
  • A checkbox "Show Preview" +
  • A listbox "Image Anchor" for choosing how to anchor the image in Calc.
  • +
  • A window for displaying a file preview
  • +
+ + @since LibreOffice 6.1 + */ + const short FILEOPEN_LINK_PREVIEW_IMAGE_ANCHOR = 13; +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..f7156496a --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/Wizard.idl @@ -0,0 +1,72 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_Wizard_idl__ +#define __com_sun_star_ui_dialogs_Wizard_idl__ + +#include +#include + + +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 + ); +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..757a7d33b --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/WizardButton.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_WizardButton_idl__ +#define __com_sun_star_ui_dialogs_WizardButton_idl__ + + +module com { module sun { module star { module ui { module dialogs { + + +/** denotes the buttons found in a 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; +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..8df9865e2 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_WizardTravelType_idl__ +#define __com_sun_star_ui_dialogs_WizardTravelType_idl__ + + +module com { module sun { module star { module ui { module dialogs { + + +/** denotes ways to leave a 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; +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..18f1eec71 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XAsynchronousExecutableDialog_idl__ +#define __com_sun_star_ui_dialogs_XAsynchronousExecutableDialog_idl__ + +#include +#include + + +module com { module sun { module star { module ui { module dialogs { + +/** Specifies an interface for an executable dialog in asynchronous mode. +*/ +interface XAsynchronousExecutableDialog: com::sun::star::uno::XInterface +{ + /** Sets the title of the dialog. + + @param aTitle + Set an arbitrary title for the dialog, + may be an empty string if the dialog should not have a title. + */ + void setDialogTitle( [in] string aTitle ); + + /** Executes (shows) the dialog and returns immediately. + + @param xListener + This listener will be called when the dialog is closed. + */ + void startExecuteModal( [in] XDialogClosedListener xListener ); + +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..ce9cbc689 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XControlAccess.idl @@ -0,0 +1,88 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XControlAccess_idl__ +#define __com_sun_star_ui_dialogs_XControlAccess_idl__ + +#include +#include + + +module com { module sun { module star { module ui { module dialogs { + +/** Generic control access interface. + +

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.

+ + @see com::sun::star::ui::dialogs::FilePicker + @see com::sun::star::ui::dialogs::FilePicker + + @since OOo 1.1.2 +*/ +published interface XControlAccess: com::sun::star::uno::XInterface +{ +/** Change a control property. + + @param aControlName + The name of the control. Common control names are for + instance "OkButton" or "CancelButton". + + @param aControlProperty + The control property to manipulate. Common control properties + are for instance "Label" or "State". + + @param aValue + A value appropriated for the property. + + @throws com::sun::star::lang::IllegalArgumentException + when the control is not supported, the control property is invalid or + the value fits not the control action. +*/ +void setControlProperty( [in] string aControlName, [in] string aControlProperty, [in] any aValue ) + raises( com::sun::star::lang::IllegalArgumentException ); + +/** Query for a control property. + + @param aControlName + The name of the control. Common control names are for + instance "OkButton" or "CancelButton". + + @param aControlProperty + The requested control property. Common control properties + are for instance "Label" or "State". + + @returns + the requested value. + + @throws com::sun::star::lang::IllegalArgumentException + when the control is not supported or the control property is invalid. +*/ +any getControlProperty( [in] string aControlName, [in] string aControlProperty ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..3fbe3f2aa --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XControlInformation.idl @@ -0,0 +1,94 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XControlInformation_idl__ +#define __com_sun_star_ui_dialogs_XControlInformation_idl__ + +#include +#include + + +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 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 getSupportedControlProperties( [in] string aControlName ) + raises( com::sun::star::lang::IllegalArgumentException ); + +/** Returns whether control property is supported by a control. + + @param aControlName + The name of the control. + + @param aControlProperty + The control property to query for. + + @returns + `TRUE` if the specified control action is supported. + `FALSE` if the specified control action is not supported. + + @throws com::sun::star::lang::IllegalArgumentException + when the specified control is not supported. +*/ +boolean isControlPropertySupported( [in] string aControlName, [in] string aControlProperty ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +}; }; }; }; }; + +#endif + +/* 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 000000000..75f3eb44c --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl @@ -0,0 +1,54 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XDialogClosedListener_idl__ +#define __com_sun_star_ui_dialogs_XDialogClosedListener_idl__ + +#include +#include + +module com { module sun { module star { module ui { module dialogs { + +/** Used to notify listeners about dialog-closed events. + +

Registered listeners will be notified with a + DialogClosedEvent when a XAsynchronousExecutableDialog is closed.

+ + @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 ); +}; + +}; }; }; }; }; + +#endif + +/* 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 000000000..610a0859d --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__ +#define __com_sun_star_ui_dialogs_XExecutableDialog_idl__ + +#include +#include + + +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(); +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..17b56cc34 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePicker.idl @@ -0,0 +1,107 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ui_dialogs_XFilePicker_idl__ +#define __com_sun_star_ui_dialogs_XFilePicker_idl__ + +#include +#include +#include + + +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 + +

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

+ + @param bMode +

A value of `TRUE` enables the multi-selection mode.

+

A value of `FALSE` disables the multi-selection mode, this is the default.

+ */ + void setMultiSelectionMode( [in] boolean bMode ); + + /** Sets the default string that appears in the file name box of a FilePicker. + + @param aName +

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. +

+ */ + 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 Rfc1738). + + @throws com::sun::star::lang::IllegalArgumentException + if the URL is invalid (doesn't conform to Rfc1738). + */ + 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 Rfc1738. + */ + string getDisplayDirectory(); + + /** Returns a sequence of the selected files including path information in + URL format, conforming to Rfc1738. + +

If the user closed the dialog with cancel an empty sequence will be + returned.

+
+

If the dialog is in execution mode and a single file is selected + the complete URL of this file will be returned.

+

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.

+ + @returns +

The complete path of the file or directory currently selected + in URL format. This always returns only the first entry of the sequence. +
+

Notes for the implementation of a FileSave dialog: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.

+

+ @deprecated use com::sun::star::ui::dialogs::XFilePicker2::getSelectedFiles instead + */ + sequence< string > getFiles(); +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..b04517f51 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePicker2.idl @@ -0,0 +1,62 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XFilePicker2_idl__ +#define __com_sun_star_ui_dialogs_XFilePicker2_idl__ + +#include + + +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 Rfc1738. + +

If the user closed the dialog with cancel an empty sequence will be returned.

+
+ +

If the user closed the dialog with OK a list of all selected files will be returned.

+ + @attention +

+ Instead to the method getFiles() of base interface XFilePicker the new method return + full qualified URLs for every selected file. +

+ + @returns +

A list of all selected file as complete URLs.

+
+ +

Notes for the implementation of a FileSave dialog: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).

+ */ + sequence< string > getSelectedFiles(); +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..d2ee0e2d7 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePicker3.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XFilePicker3_idl__ +#define __com_sun_star_ui_dialogs_XFilePicker3_idl__ + +#include +#include +#include +#include +#include +#include +#include +#include + + +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. +

This may be useful for automatic test tools for instance.

+ */ + interface com::sun::star::util::XCancellable; + + /** For shutdown and listener support. + */ + interface com::sun::star::lang::XComponent; + +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..e50db024c --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl @@ -0,0 +1,136 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XFilePickerControlAccess_idl__ +#define __com_sun_star_ui_dialogs_XFilePickerControlAccess_idl__ + +#include + + +module com { module sun { module star { module ui { module dialogs { + +/** Provides access to the controls of a FilePicker. + +

A FilePicker may contain additional elements according to the needs + of the different applications. These additional elements can be + addressed by this interface.

+ + @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 +

If `TRUE` the specified control will be enabled.

+

If `FALSE` the specified control will be disabled.

+ + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds +*/ +void enableControl( [in] short ControlId, [in] boolean bEnable ); +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..21d82c810 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl @@ -0,0 +1,100 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XFilePickerListener_idl__ +#define __com_sun_star_ui_dialogs_XFilePickerListener_idl__ + +#include +#include + + +module com { module sun { module star { module ui { module dialogs { + + +/** Interface to be implemented by a FilePicker listener. + +

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.

+*/ + +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( ); +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..9c20dc932 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XFilePickerNotifier_idl__ +#define __com_sun_star_ui_dialogs_XFilePickerNotifier_idl__ + +#include +#include + + +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. +

Invalid interfaces or NULL values will be ignored.

+ */ + 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. +

Invalid interfaces or NULL values will be ignored.

+ */ + void removeFilePickerListener( [in] XFilePickerListener xListener ); +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..baaa033db --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePreview.idl @@ -0,0 +1,122 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XFilePreview_idl__ +#define __com_sun_star_ui_dialogs_XFilePreview_idl__ + +#include +#include +#include + + +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. +

A value of `FALSE` hides the preview window.

+ + @returns + A value of `TRUE` on success. +

A value of `FALSE` if the operation fails for any reason or the preview + implementation doesn't support hiding the preview.

+ */ + boolean setShowState( [in] boolean bShowState ); + + /** Returns the current show state of the preview. + + @returns + A value of `TRUE` if the preview window is visible. +

A value of `FALSE` if the preview window is invisible.

+ */ + boolean getShowState( ); +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..2776717a5 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ui_dialogs_XFilterGroupManager_idl__ +#define __com_sun_star_ui_dialogs_XFilterGroupManager_idl__ + +#include +#include +#include + +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. + +

It is implementation dependent how the filter groups are presented to the user.
+ 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.

+ + @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.
+ 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 ); +}; + +}; }; }; }; }; +#endif + +/* 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 000000000..123b92354 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilterManager.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XFilterManager_idl__ +#define __com_sun_star_ui_dialogs_XFilterManager_idl__ + +#include +#include + + +module com { module sun { module star { module ui { module dialogs { + +/** Specifies a filter manager interface for a FilePicker +*/ + +published interface XFilterManager: com::sun::star::uno::XInterface +{ + + /** Adds a filter identified by a title. + + @param aTitle + Specifies the name of the filter as shown in the filter box of the + FilePicker dialog. + + @param aFilter + Specifies the extensions of the filter. Multiple filters should be + semicolon separated. The semicolon may not be used as character in + a filter expression. A typical filter is for instance "*.txt". + + @throws ::com::sun::star::lang::IllegalArgumentException + If a filter with the specified title already exists. + + */ + void appendFilter( [in] string aTitle, [in] string aFilter ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + + /** Sets the current filter. + + @param aTitle + Specifies the name of the filter to be set. + + @throws com::sun::star::lang::IllegalArgumentException + If the specified filter was not found. + */ + void setCurrentFilter( [in] string aTitle ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + + /** Returns the currently selected filter. + + @returns + The name of the selected filter or an empty string if + there is no filter or no filter is currently selected. + */ + string getCurrentFilter( ); +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..26f02dd31 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFolderPicker.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_ui_dialogs_XFolderPicker_idl__ +#define __com_sun_star_ui_dialogs_XFolderPicker_idl__ + +#include +#include +#include + + +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 Rfc1738. + + @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 Rfc1738. + + @returns + The selected directory as url if the user did close the dialog with Ok + else the returned value is undefined. + */ + string getDirectory( ); + + /** The implementation may optionally show the given text as a description + for the user within the dialog, e.g. "Please select a directory". + If the client doesn't set a description the dialog may show a default + description. + */ + void setDescription( [in] string aDescription ); +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..7dc16dc1c --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFolderPicker2.idl @@ -0,0 +1,53 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XFolderPicker2_idl__ +#define __com_sun_star_ui_dialogs_XFolderPicker2_idl__ + +#include +#include + + +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. +

This may be useful for automatic test tools for instance.

+ */ + interface com::sun::star::util::XCancellable; +}; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..7eea2ebd7 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XSLTFilterDialog.idl @@ -0,0 +1,38 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XSLTFilterDialog_idl__ +#define __com_sun_star_ui_dialogs_XSLTFilterDialog_idl__ + +#include + + +module com { module sun { module star { module ui { module dialogs { + +/** + @since LibreOffice 4.1 +*/ +published service XSLTFilterDialog : XExecutableDialog; + + +}; }; }; }; }; + +#endif + +/* 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 000000000..59b8d61c0 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl @@ -0,0 +1,221 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XWizard_idl__ +#define __com_sun_star_ui_dialogs_XWizard_idl__ + +#include +#include +#include +#include + +module com { module sun { module star { module ui { module dialogs { + + +interface XWizardPage; + +/** is the main interface implemented by the Wizard services. + +

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 step.

+ +

Sequential navigation in a wizard is done via a Next and a Back 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).

+ +

A sequence of steps in a wizard dialog is called a path. A given wizard can support one or multiple paths, + which are declared at the time of construction of the wizard.

+ +

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.

+ +

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 k of the current path, the potential or conflicting + paths are those whose first k 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 ... indicating that the order of steps is undecided.

+ +

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.

+ +

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.

+ +

The state of the Next 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 Finish 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.

+ + @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 + +

Normally, you will want to use this method for the Finish button only: The Next + and Back buttons are usually maintained automatically, the Help and Cancel + buttons are unlikely to ever being disabled.

+ + @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 + +

In general, the default button in a wizard is the one which is activated when the user presses + the return key while the focus is in a control which does not handle this key itself (such as + ordinary input controls).

+ +

You can use this method, for instance, to make the Next button the default button on all pages + except the last one, where Finish should be defaulted.

+ */ + void setDefaultButton( [in] short WizardButton ); + + /** travels to the next page, if possible + +

Calling this method is equivalent to the user pressing the Next 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.

+ */ + boolean travelNext(); + + /** travels to the next page, if possible + +

Calling this method is equivalent to the user pressing the Back button in the wizard.

+ */ + boolean travelPrevious(); + + /** enables or disables the given page + +

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.

+ +

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.

+ + @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. + +

For instance, the Next button is disabled if the current page's XWizardPage::canAdvance() + method returns `FALSE`.

+ +

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.

+ */ + void updateTravelUI(); + + /** advances to the given page, if possible. + +

Calling this method is equivalent to the user repeatedly pressing the Next 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.

+ */ + boolean advanceTo( [in] short PageId ); + + /** goes back to the given page, if possible. + +

Calling this method is equivalent to the user repeatedly pressing the Back button, until the + given page is reached.

+ */ + boolean goBackTo( [in] short PageId ); + + /** activates a path + +

If the wizard has been created with multiple paths of control flow, then this method allows switching to + another path.

+ +

You can only activate a path which shares the first k pages with the path + which is previously active (if any), where k is the index of the current page within the current + path.

+ +

Example: Say you have paths, (0,1,2,5) and (0,1,4,5) (with + the numbers denoting page IDs). This means that after page 1, you either continue with page + 2 or state 4,and after this, you finish in state 5.
+ Now if the first path is active, and your current state is 1, then you can easily switch to the + second path, since both paths start with (0,1).
+ However, if your current state is 2, then you can not switch to the second path anymore.

+ + @param PathIndex + the index of the path, as used in the Wizard::createMultiplePathsWizard() constructor. + @param Final +

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 k states with the to-be-activated path.)

+ +

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 not conflict.

+ +

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.

+ +

With the paths in the example above, if you activate the second path, then only steps 0 and + 1 are activated, since they are common to both paths. Steps 2, 4, + and 5 are not reachable, yet.

+ + @throws ::com::sun::star::container::NoSuchElementException + if there is no path with the given index + @throws ::com::sun::star::util::InvalidStateException + if the path cannot be activated in the current state of the wizard. + */ + void activatePath( [in] short PathIndex, [in] boolean Final ) + raises ( ::com::sun::star::container::NoSuchElementException + , ::com::sun::star::util::InvalidStateException ); +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..b15286c6c --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XWizardController.idl @@ -0,0 +1,78 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XWizardController_idl__ +#define __com_sun_star_ui_dialogs_XWizardController_idl__ + +#include + + +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 + +

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.

+ + @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 + +

The page titles are displayed in the wizard's roadmap.

+ */ + 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. + +

This method allows the controller to do any final checks, and ultimately veto finishing the wizard.

+ */ + boolean confirmFinish(); +}; + + +}; }; }; }; }; + + +#endif + +/* 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 000000000..c7c1be2fa --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl @@ -0,0 +1,79 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_ui_dialogs_XWizardPage_idl__ +#define __com_sun_star_ui_dialogs_XWizardPage_idl__ + +#include + + +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. + +

Within a wizard, no two pages are allowed to have the same ID.

+ */ + [attribute, readonly] short PageId; + + /** called when the page is activated + */ + void activatePage(); + + /** is called when the page is about to be left + +

An implementation can veto the leave by returning `FALSE` here. Usually, the decision about this + depends on the current state of the page.

+ + @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 + +

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.

+ +

If checked for validity is expensive, or if you prefer giving your user more detailed feedback on validity + than a disabled Next button in the wizard, then move your checks to the commitPage() + method.

+ */ + boolean canAdvance(); +}; + + +}; }; }; }; }; + + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3