diff options
Diffstat (limited to 'offapi/com/sun/star/ui/dialogs')
34 files changed, 3279 insertions, 0 deletions
diff --git a/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl b/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl new file mode 100644 index 000000000000..8c2efee4f993 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/CommonFilePickerElementIds.idl @@ -0,0 +1,86 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_CommonFilePickerElementIds_idl__ +#define __com_sun_star_ui_dialogs_CommonFilePickerElementIds_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** These constants are used to specify common controls of a FilePicker dialog. + + */ + +published constants CommonFilePickerElementIds +{ + //--------------------------------------------------------------------- + /** The control id of the OK button. + */ + const short PUSHBUTTON_OK = 1; + + //--------------------------------------------------------------------- + /** The control id of the Cancel button. + */ + const short PUSHBUTTON_CANCEL = 2; + + //--------------------------------------------------------------------- + /** The filter listbox of a FilePicker dialog. + */ + const short LISTBOX_FILTER = 3; + + //--------------------------------------------------------------------- + /** Is used to refer to the file view of the file picker. This view shows the list of + all files/folders in the currently selected folder. + */ + const short CONTROL_FILEVIEW = 4; + + //--------------------------------------------------------------------- + /** Is used to refer to the edit line where a file or path can be entered by the user. + */ + const short EDIT_FILEURL = 5; + + //--------------------------------------------------------------------- + /** The label of the filter listbox of a FilePicker dialog. + + @since OOo 1.1.2 + */ + const short LISTBOX_FILTER_LABEL = 6; + + //--------------------------------------------------------------------- + /** The label of the file name listbox of a FilePicker dialog. + + @since OOo 1.1.2 + */ + const short EDIT_FILEURL_LABEL = 7; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/ControlActions.idl b/offapi/com/sun/star/ui/dialogs/ControlActions.idl new file mode 100644 index 000000000000..d3fe967311f0 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/ControlActions.idl @@ -0,0 +1,111 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialog_ControlActions_idl__ +#define __com_sun_star_ui_dialog_ControlActions_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Control actions for common and extended controls of a FilePicker. + + @see com::sun::star::ui::dialogs::XFilePickerControlAccess + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds + */ + +published constants ControlActions +{ + //--------------------------------------------------------------------- + /** Adds an item to the content of the listbox. The given item has to + be a string. + */ + const short ADD_ITEM = 1; + + //--------------------------------------------------------------------- + /** Adds a sequence of strings to the content of the listbox. + */ + const short ADD_ITEMS = 2; + + //--------------------------------------------------------------------- + /** Removes an item from a listbox. The given value has to be a + position. If the position is invalid an exception will be thrown. + The index of the first position is 0. + The value should be a sal_Int32. + */ + const short DELETE_ITEM = 3; + + //--------------------------------------------------------------------- + /** Removes all items from the listbox. + */ + const short DELETE_ITEMS = 4; + + //--------------------------------------------------------------------- + /** Selects an item in a listbox. The given value has to be a position. + The index of the first position is 0. A value of -1 removes the + selection. + If the given position is invalid an exception will be thrown. + The value should be a sal_Int32. + */ + const short SET_SELECT_ITEM = 5; + + //--------------------------------------------------------------------- + /** Returns all items of the listbox as a sequence of strings. + */ + const short GET_ITEMS = 6; + + //--------------------------------------------------------------------- + /** Returns the currently selected item. The returned item is an empty + string if the listbox is empty or no item is selected. + */ + const short GET_SELECTED_ITEM = 7; + + //--------------------------------------------------------------------- + /** Returns the zero based index of the currently selected item. + If the listbox is empty or there is no item selected -1 will be + returned. The returned value is a sal_Int32. + */ + + const short GET_SELECTED_ITEM_INDEX = 8; + + //--------------------------------------------------------------------- + /** Sets the help URL of a control. + */ + const short SET_HELP_URL = 100; + + //--------------------------------------------------------------------- + /** Retrieves the help URL of a control. + */ + const short GET_HELP_URL = 101; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl b/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl new file mode 100644 index 000000000000..107ec70ca2cc --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/DialogClosedEvent.idl @@ -0,0 +1,65 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_DialogClosedEvent_idl__ +#define __com_sun_star_ui_dialogs_DialogClosedEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= + +//============================================================================= +/** Information of a closed dialog. + + <p>The broadcaster who sends such event, must send the dialog as the source.</p> + + @see <type>com::sun::star::lang::EventObject</type> +*/ +struct DialogClosedEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + /** + @param DialogResult + Identifies the result of a dialog. + + @see <type>ExecutableDialogResults</type> + */ + short DialogResult; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl b/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl new file mode 100644 index 000000000000..c509e50b7576 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogException.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_ExecutableDialogException_idl__ +#define __com_sun_star_ui_dialogs_ExecutableDialogException_idl__ + +#ifndef __com_sun_star_uno_Exception_idl__ +#include <com/sun/star/uno/Exception.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Base class of all XExecutableDialog related exceptions. + */ +published exception ExecutableDialogException: com::sun::star::uno::Exception +{ +}; + +//============================================================================= + +}; }; }; }; }; + +/*============================================================================= + + +=============================================================================*/ +#endif diff --git a/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl b/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl new file mode 100644 index 000000000000..3d8caf3a08ef --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/ExecutableDialogResults.idl @@ -0,0 +1,58 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_ExecutableDialogResults_idl__ +#define __com_sun_star_ui_dialogs_ExecutableDialogResults_idl__ + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** These constants are used to specify a result of executing a <type>XExecutableDialog</type>. +*/ + +published constants ExecutableDialogResults +{ + //------------------------------------------------------------------------- + /** The user canceled the dialog. + */ + const short CANCEL = 0; + + //------------------------------------------------------------------------- + /** The user acknowledged the dialog. + */ + const short OK = 1; +}; + +//============================================================================= + +}; }; }; }; }; + + +#endif + diff --git a/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl b/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl new file mode 100644 index 000000000000..970d70e3c4b8 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl @@ -0,0 +1,127 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_ExtendedFilePickerElementIds_idl__ +#define __com_sun_star_ui_dialogs_ExtendedFilePickerElementIds_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** <p>These constants are used to specify extended controls of a FilePicker dialog. + A FilePicker service may be initialized so that it has additional controls + extending the set of common controls a FilePicker usually supports.</p> + + @see com::sun::star::ui::dialogs::FilePicker + @see com::sun::star::ui::dialogs::XFilePickerControlAccess + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + */ + +published constants ExtendedFilePickerElementIds +{ + //--------------------------------------------------------------------- + /** + */ + const short CHECKBOX_AUTOEXTENSION = 100; + + //--------------------------------------------------------------------- + /** + */ + const short CHECKBOX_PASSWORD = 101; + + //--------------------------------------------------------------------- + /** + */ + const short CHECKBOX_FILTEROPTIONS = 102; + + //--------------------------------------------------------------------- + /** + */ + const short CHECKBOX_READONLY = 103; + + //--------------------------------------------------------------------- + /** + */ + const short CHECKBOX_LINK = 104; + + //--------------------------------------------------------------------- + /** + */ + const short CHECKBOX_PREVIEW = 105; + + //--------------------------------------------------------------------- + /** + */ + const short PUSHBUTTON_PLAY = 106; + + //--------------------------------------------------------------------- + /** + */ + const short LISTBOX_VERSION = 107; + + //--------------------------------------------------------------------- + /** + */ + const short LISTBOX_TEMPLATE = 108; + + + //--------------------------------------------------------------------- + /** + */ + const short LISTBOX_IMAGE_TEMPLATE = 109; + + //--------------------------------------------------------------------- + /** + */ + const short CHECKBOX_SELECTION = 110; + + //--------------------------------------------------------------------- + /** + */ + const short LISTBOX_VERSION_LABEL = 207; + + //--------------------------------------------------------------------- + /** + */ + const short LISTBOX_TEMPLATE_LABEL = 208; + + //--------------------------------------------------------------------- + /** + */ + const short LISTBOX_IMAGE_TEMPLATE_LABEL = 209; + + //--------------------------------------------------------------------- + /** + */ + const short LISTBOX_FILTER_SELECTOR = 210; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/FilePicker.idl b/offapi/com/sun/star/ui/dialogs/FilePicker.idl new file mode 100644 index 000000000000..230f289c10f4 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/FilePicker.idl @@ -0,0 +1,165 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_FilePicker_idl__ +#define __com_sun_star_ui_dialogs_FilePicker_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_lang_XServiceInfo_idl__ +#include <com/sun/star/lang/XServiceInfo.idl> +#endif + +#ifndef __com_sun_star_lang_XTypeProvider_idl__ +#include <com/sun/star/lang/XTypeProvider.idl> +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include <com/sun/star/lang/XInitialization.idl> +#endif + +#ifndef __com_sun_star_util_XCancellable_idl__ +#include <com/sun/star/util/XCancellable.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= + +//============================================================================= +/** A FilePicker. + + It is <strong>NOT</strong> recommended to cache a reference to a file + picker instance. Due to restrictions by the underlying system there can + be specific limitations possible. To overcome these problems it' + s recommended to create a new instance on demand. + + @see XFilePicker +*/ + + published interface XFilePicker; + published interface XFilePickerNotifier; + published interface XFilePickerControlAccess; + published interface XFilterManager; + published interface XFilePreview; + published interface XFilterGroupManager; + +published service FilePicker +{ + //------------------------------------------------------------------------- + /** Allows to associate a help URL with the file picker instance. + */ + [optional, property] string HelpURL; + + //------------------------------------------------------------------------- + /** Provides access to the basic FilePicker functionality. + */ + interface XFilePicker; + + //------------------------------------------------------------------------- + /** Provides the ability to request notifications about changes. + */ + interface XFilePickerNotifier; + + //------------------------------------------------------------------------- + /** Provides the ability to add different filter, query for the current + filters and set a current filter + */ + interface XFilterManager; + + //------------------------------------------------------------------------- + /** Provides the ability to show a preview of a selected file + */ + [optional] interface XFilePreview; + + //------------------------------------------------------------------------- + /** Provides the ability manage additional controls (checkboxes, listboxes etc.) + offered by an extended FilePicker, these controls extend the subset of + common controls that a FilePicker usually supports. + + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds + + @deprecated + */ + [optional] interface XFilePickerControlAccess; + + //------------------------------------------------------------------------- + /** An interface which allows manipulation of groups of filters + */ + [optional] interface XFilterGroupManager; + + //------------------------------------------------------------------------- + /** Provides the ability to choose between different custom templates that + do extend the subset of common controls a FilePicker usually supports. + Implementers may omit this interface if the FileOpen + dialog doesn't support custom templates. In this case a createInstance + will create an ordinary FileOpen dialog with only the common FilePicker + elements. + The client has to provide one of the specified constants in + TemplateDescription. + <br/><br/> + <p><strong>Notes for the implementation of a FileSave dialog:</strong> + The implementation of a FileSave dialog should automatically check + for existens of a file and issue a warning if a file with the same + name already exist.</p> + + @see com::sun::star::ui::dialogs::TemplateDescription + */ + [optional] interface com::sun::star::lang::XInitialization; + + //------------------------------------------------------------------------- + /** For canceling a running dialog instance. + <p>This may be usefull for automatic test tools for instance.</p> + */ + [optional] interface com::sun::star::util::XCancellable; + + //------------------------------------------------------------------------- + /** For shutdown and listener support. + */ + interface com::sun::star::lang::XComponent; + + //------------------------------------------------------------------------- + /** Service should always support this interface. + */ + interface com::sun::star::lang::XServiceInfo; + + //------------------------------------------------------------------------- + /** Service should always support this interface. + */ + interface com::sun::star::lang::XTypeProvider; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl b/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl new file mode 100644 index 000000000000..d57f08a921b6 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/FilePickerEvent.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_FilePickerEvent_idl__ +#define __com_sun_star_ui_dialogs_FilePickerEvent_idl__ + +#ifndef __com_sun_star_lang_EventObject_idl__ +#include <com/sun/star/lang/EventObject.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= + +//============================================================================= +/** Context information in case of a FilePicker event. +*/ +published struct FilePickerEvent: com::sun::star::lang::EventObject +{ + //------------------------------------------------------------------------- + /** + @param ElementId + Identifies the affected element + + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds + */ + short ElementId; +}; + +//============================================================================= + +}; }; }; }; }; + + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl b/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl new file mode 100644 index 000000000000..9d1b006c0e64 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/FilePreviewImageFormats.idl @@ -0,0 +1,53 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_FilePreviewImageFormats_idl__ +#define __com_sun_star_ui_dialogs_FilePreviewImageFormats_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** These constants are used to specify image formats supported by an implementation + of the interface <type scope="com::sun::star::ui::dialogs">XFilePreview</type>. + */ + +published constants FilePreviewImageFormats +{ + //--------------------------------------------------------------------- + /** A OpenOffice bitmap which is similar to the device independent bitmap + (DIB) format on windows. + The bitmap data should be provided as a sequence of sal_Int8. + */ + const short BITMAP = 1; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl b/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl new file mode 100644 index 000000000000..fc0f6c480b84 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/FilterOptionsDialog.idl @@ -0,0 +1,89 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__ +#define __com_sun_star_ui_dialogs_FilterOptionsDialog_idl__ + +#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__ +#include <com/sun/star/ui/dialogs/XExecutableDialog.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyAccess_idl__ +#include <com/sun/star/beans/XPropertyAccess.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= + +/** This service enables a filter developer to register a dialog to query + for user options before the filter operation is performed. + + <p>The user options are stored inside the <type scope="com::sun::star::document">MediaDescriptor</type> + and can be queried from the <type scope="com::sun::star::document">MediaDescriptor</type> by + the component that implements <type scope="com::sun::star::document">XFilter</type>.</p> + + <p>The application will set the <type scope="com::sun::star::document">MediaDescriptor</type> + using the interface <type scope="com::sun::star::beans">XPropertyAccess</type> and then + call <method>XExecutableDialog::execute<method>.</p> + + <p>If that method returns <code>ExecutableDialogResults::OK</code>, + the application will retrieve the changed <type scope="com::sun::star::document">MediaDescriptor</type> + back using the interface <type scope="com::sun::star::beans">XPropertyAccess</type>. The filter + operation is than continued, using the new <type scope="com::sun::star::document">MediaDescriptor</type>.</p> + + <p>Otherwise, the filter operation is canceled.</p> + + @since OOo 1.1.2 + */ +published service FilterOptionsDialog +{ + //------------------------------------------------------------------------- + /** this interface is used to set the property values of the + <type scope="com::sun::star::document">MediaDescriptor</type> before executing + the dialog and to retrieve the changed <type scope="com::sun::star::document">MediaDescriptor</type> + + afterwards. + */ + interface com::sun::star::beans::XPropertyAccess; + + //------------------------------------------------------------------------- + /** this interface executes a dialog that displays the options + for a filter. + If <method>XExecutableDialog::execute<method> + returns <code>ExecutableDialogResults::OK</code>, + the options can be retrieved by calling <method scope="com::sun::star::beans">XPropertyAccess::getPropertyValues<method>. + */ + interface ::com::sun::star::ui::dialogs::XExecutableDialog; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/FolderPicker.idl b/offapi/com/sun/star/ui/dialogs/FolderPicker.idl new file mode 100644 index 000000000000..adfad7fed497 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/FolderPicker.idl @@ -0,0 +1,88 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_FolderPicker_idl__ +#define __com_sun_star_ui_dialogs_FolderPicker_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_lang_XServiceInfo_idl__ +#include <com/sun/star/lang/XServiceInfo.idl> +#endif + +#ifndef __com_sun_star_lang_XTypeProvider_idl__ +#include <com/sun/star/lang/XTypeProvider.idl> +#endif + +#ifndef __com_sun_star_util_XCancellable_idl__ +#include <com/sun/star/util/XCancellable.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= + + published interface XFolderPicker; + +//============================================================================= +/** A FolderPicker service. +*/ + +published service FolderPicker +{ + //------------------------------------------------------------------------- + /** Provides the ability to execute a FolderPicker dialog and + browse for and select folders. + */ + interface XFolderPicker; + + //------------------------------------------------------------------------- + /** Service should always support this interface. + */ + interface com::sun::star::lang::XServiceInfo; + + //------------------------------------------------------------------------- + /** Service should always support this interface. + */ + interface com::sun::star::lang::XTypeProvider; + + //------------------------------------------------------------------------- + /** For canceling a running dialog instance. + <p>This may be usefull for automatic test tools for instance.</p> + */ + [optional] interface com::sun::star::util::XCancellable; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl b/offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl new file mode 100644 index 000000000000..7bd5e5da0219 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/ListboxControlActions.idl @@ -0,0 +1,91 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialog_ListboxControlActions_idl__ +#define __com_sun_star_ui_dialog_ListboxControlActions_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** These constants are deprecated and should not be used anymore. They're superseeded + by <type>ControlActions</type>. + @deprecated + */ + +published constants ListboxControlActions +{ + //--------------------------------------------------------------------- + /** Adds an item to the content of the listbox. The given item has to + be a string. + */ + const short ADD_ITEM = 1; + + //--------------------------------------------------------------------- + /** Adds a sequence of strings to the content of the listbox. + */ + const short ADD_ITEMS = 2; + + //--------------------------------------------------------------------- + /** Removes an item from a listbox. The given value has to be a + position. If the position is invalid an exception will be thrown. + The index of the first position is 0. + The value should be a sal_Int32. + */ + const short DELETE_ITEM = 3; + + //--------------------------------------------------------------------- + /** Removes all items from the listbox. + */ + const short DELETE_ITEMS = 4; + + //--------------------------------------------------------------------- + /** Selects an item in a listbox. The given value has to be a position. + The index of the first position is 0. A value of -1 removes the + selection. + If the given position is invalid an exception will be thrown. + The value should be a sal_Int32. + */ + const short SET_SELECT_ITEM = 5; + + //--------------------------------------------------------------------- + /** Returns all items of the listbox as a sequence of strings. + */ + const short GET_ITEMS = 6; + + //--------------------------------------------------------------------- + /** Returns the currently selected item. The returned item is an empty + string if the listbox is empty or no item is selected. + */ + const short GET_SELECTED_ITEM = 7; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/TemplateDescription.idl b/offapi/com/sun/star/ui/dialogs/TemplateDescription.idl new file mode 100644 index 000000000000..615fbe055b8e --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/TemplateDescription.idl @@ -0,0 +1,143 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_TemplateDescription_idl__ +#define __com_sun_star_ui_dialogs_TemplateDescription_idl__ + + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** The implementation of a FilePicker service may support the usage of + different templates. The following constants define the currently + specified templates. + + @see com::sun::star::ui::dialogs::FilePicker + */ + +published constants TemplateDescription +{ + //--------------------------------------------------------------------- + /** A FileOpen dialog without any additional controls. + */ + const short FILEOPEN_SIMPLE = 0; + + //--------------------------------------------------------------------- + /** A FileSave dialog without any additional controls. + */ + const short FILESAVE_SIMPLE = 1; + + //--------------------------------------------------------------------- + /** A FileSave dialog with additional controls. + <ul> + <li>A checkbox "Auto Extension"</li> + <li>A checkbox "Password"</li> + </ul> + */ + const short FILESAVE_AUTOEXTENSION_PASSWORD = 2; + + //--------------------------------------------------------------------- + /** A FileSave dialog with additional controls. + <ul> + <li>A checkbox "Auto Extension"</li> + <li>A checkbox "Password"</li> + <li>A checkbox "Filter Options"</li> + </ul> + */ + const short FILESAVE_AUTOEXTENSION_PASSWORD_FILTEROPTIONS = 3; + + //--------------------------------------------------------------------- + /** A FileSave dialog with additional controls. + <ul> + <li>A checkbox "Auto Extension"</li> + <li>A checkbox "Selection"</li> + </ul> + */ + const short FILESAVE_AUTOEXTENSION_SELECTION = 4; + + //--------------------------------------------------------------------- + /** A FileSave dialog with additional controls. + <ul> + <li>A checkbox "Auto Extension"</li> + <li>A listbox "Template" for selecting different templates</li> + </ul> + */ + const short FILESAVE_AUTOEXTENSION_TEMPLATE = 5; + + //--------------------------------------------------------------------- + /** A FileOpen dialog with additional controls. + <ul> + <li>A checkbox "Insert as link" + <li>A checkbox "Show Preview" + <li>A listbox "Image Template" for inserting an image with different styles.</li> + <li>A window for displaying a file preview</li> + </ul> + */ + const short FILEOPEN_LINK_PREVIEW_IMAGE_TEMPLATE = 6; + + //--------------------------------------------------------------------- + /** A FileOpen dialog with additional controls. + <ul> + <li>A push button "Play"</li> + </ul> + */ + const short FILEOPEN_PLAY = 7; + + //--------------------------------------------------------------------- + /** A FileOpen dialog with additional controls. + <ul> + <li>A checkbox "Read only"</li> + <li>A listbox "Version" for selecting a document version</li> + <ul> + */ + const short FILEOPEN_READONLY_VERSION = 8; + + //--------------------------------------------------------------------- + /** A FileOpen dialog with additional controls. + <ul> + <li>A checkbox "Insert as link"</li> + <li>A checkbox "Show Preview"</li> + <li>A window for displaying a file preview</li> + </ul> + */ + const short FILEOPEN_LINK_PREVIEW = 9; + + //--------------------------------------------------------------------- + /** A FileSave dialog with additional controls. + <ul> + <li>A checkbox "Auto Extension"</li> + </ul> + */ + const short FILESAVE_AUTOEXTENSION = 10; + +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/Wizard.idl b/offapi/com/sun/star/ui/dialogs/Wizard.idl new file mode 100644 index 000000000000..d15819a73281 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/Wizard.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_Wizard_idl__ +#define __com_sun_star_ui_dialogs_Wizard_idl__ + +#include <com/sun/star/ui/dialogs/XWizard.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + +//================================================================================================================== + +module com { module sun { module star { module ui { module dialogs { + +published interface XWizardController; + +//================================================================================================================== + +/** provides a framework for implementing a wizard dialog. + */ +published service Wizard : XWizard +{ + /** creates a wizard with a single execution path + @param PageIds + the IDs of the pages which constitute the execution path. IDs must be in ascending order. + */ + createSinglePathWizard( + [in] sequence< short > PageIds, + [in] XWizardController Controller + ) + raises ( ::com::sun::star::lang::IllegalArgumentException + ); + + /** creates a wizard with a multiple possible execution paths + + @param PageIds + the IDs of the pages which constitute the execution paths. IDs in each path must be in ascending order. + */ + createMultiplePathsWizard( + [in] sequence< sequence< short > > PageIds, + [in] XWizardController Controller + ) + raises ( ::com::sun::star::lang::IllegalArgumentException + ); +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/WizardButton.idl b/offapi/com/sun/star/ui/dialogs/WizardButton.idl new file mode 100644 index 000000000000..34c0d8074889 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/WizardButton.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_WizardButton_idl__ +#define __com_sun_star_ui_dialogs_WizardButton_idl__ + +//================================================================================================================== + +module com { module sun { module star { module ui { module dialogs { + +//================================================================================================================== + +/** denotes the buttons found in a <type>Wizard</type> + */ +constants WizardButton +{ + /// denotes none of the buttons in the wizard + const short NONE = 0; + /// denotes the button used to travel forward through the wizard + const short NEXT = 1; + /// denotes the button used to travel backward through the wizard + const short PREVIOUS = 2; + /// denotes the button used to finish the wizard + const short FINISH = 3; + /// denotes the button used to cancel the wizard + const short CANCEL = 4; + /// denotes the button used to request help + const short HELP = 5; +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl new file mode 100644 index 000000000000..271a006346b7 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_WizardTravelType_idl__ +#define __com_sun_star_ui_dialogs_WizardTravelType_idl__ + +//================================================================================================================== + +module com { module sun { module star { module ui { module dialogs { + +//================================================================================================================== + +/** denotes ways to leave a <type>Wizard</type>'s page + */ +constants WizardTravelType +{ + /// indicates the wizard page is left due to forward traveling through the wizard + const short FORWARD = 1; + /// indicates the wizard page is left due to backward traveling through the wizard + const short BACKWARD = 2; + /// indicates the wizard page is left since the wizard is about to be finished + const short FINISH = 3; +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl b/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl new file mode 100644 index 000000000000..e844ab96b77c --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XAsynchronousExecutableDialog.idl @@ -0,0 +1,72 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XAsynchronousExecutableDialog_idl__ +#define __com_sun_star_ui_dialogs_XAsynchronousExecutableDialog_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_ui_dialogs_XDialogClosedListener_idl__ +#include <com/sun/star/ui/dialogs/XDialogClosedListener.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Specifies an interface for an executable dialog in asynchronous mode. +*/ +interface XAsynchronousExecutableDialog: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** Sets the title of the dialog. + + @param aTitle + Set an abitrary title for the dialog, + may be an empty string if the dialog should not have a title. + */ + void setDialogTitle( [in] string aTitle ); + + //------------------------------------------------------------------------- + /** Executes (shows) the dialog and returns immediately. + + @param xListener + This listener will be called when the dialog is closed. + */ + void startExecuteModal( [in] XDialogClosedListener xListener ); + +}; + +//============================================================================= + +}; }; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/ui/dialogs/XControlAccess.idl b/offapi/com/sun/star/ui/dialogs/XControlAccess.idl new file mode 100644 index 000000000000..6c7eeddf3972 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XControlAccess.idl @@ -0,0 +1,105 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XControlAccess_idl__ +#define __com_sun_star_ui_dialogs_XControlAccess_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Generic control access interface. + + <p>Use this interface to access user interface controls supported + by the implementing service. The supported controls, control + properties and the appropriate values are documented in the + decription of the implementing service.</p> + + @see com::sun::star::ui::dialogs::FilePicker + @see com::sun::star::ui::dialogs::FilePicker + + @since OOo 1.1.2 +*/ +published interface XControlAccess: com::sun::star::uno::XInterface +{ +//------------------------------------------------------------------------- +/** Change a control property. + + @param aControlName + The name of the control. Common control names are for + instance 'OkButton' or 'CancelButton'. + + @param aControlProperty + The control property to manipulate. Common control properties + are for instance 'Label' or 'State'. + + @param aValue + A value appropriated for the property. + + @throws com::sun::star::lang::IllegalArgumentException + when the control is not supported, the control property is invalid or + the value fits not the control action. +*/ +void setControlProperty( [in] string aControlName, [in] string aControlProperty, [in] any aValue ) + raises( com::sun::star::lang::IllegalArgumentException ); + +//------------------------------------------------------------------------- +/** Query for a control property. + + @param aControlName + The name of the control. Common control names are for + instance 'OkButton' or 'CancelButton'. + + @param aControlProperty + The requested control property. Common control properties + are for instance 'Label' or 'State'. + + @returns + the requested value. + + @throws com::sun::star::lang::IllegalArgumentException + when the control is not supported or the control property is invalid. +*/ +any getControlProperty( [in] string aControlName, [in] string aControlProperty ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +//============================================================================= + +}; }; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/ui/dialogs/XControlInformation.idl b/offapi/com/sun/star/ui/dialogs/XControlInformation.idl new file mode 100644 index 000000000000..c632f4fa1f8b --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XControlInformation.idl @@ -0,0 +1,111 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XControlInformation_idl__ +#define __com_sun_star_ui_dialogs_XControlInformation_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Interface to query for controls and control properties supported by the + implementing instance. + + @since OOo 1.1.2 +*/ +published interface XControlInformation: com::sun::star::uno::XInterface +{ +//------------------------------------------------------------------------- +/** Query for the supported controls of a service instance. + + @returns + a sequence with the names of the supported controls. +*/ +sequence<string> getSupportedControls( ); + +//------------------------------------------------------------------------- +/** Returns whether the specified control is supported or not. + + @param aControlName + The name of the control. Common control names are for + instance 'OkButton' or 'CancelButton'. + + @returns + <TRUE/> if the specified control is supported. + <FALSE/> if the specified control is not supported. +*/ +boolean isControlSupported( [in] string aControlName ); + +//------------------------------------------------------------------------- +/** Returns a sequence with properties supported by the specified + control. + + @param aControlName + The name of the control. Common control names are for + instance 'OkButton' or 'CancelButton'. + + @returns + a sequence of control properties supported by the specified control. + + @throws com::sun::star::lang::IllegalArgumentException + when the specified control is not supported. +*/ +sequence<string> getSupportedControlProperties( [in] string aControlName ) + raises( com::sun::star::lang::IllegalArgumentException ); + +//------------------------------------------------------------------------- +/** Returns whether control property is supported by a control. + + @param aControlName + The name of the control. + + @param aControlProperty + The control property to query for. + + @returns + <TRUE/> if the specified control action is supported. + <FALSE/> if the specified control action is not supported. + + @throws com::sun::star::lang::IllegalArgumentException + when the specified control is not supported. +*/ +boolean isControlPropertySupported( [in] string aControlName, [in] string aControlProperty ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl b/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl new file mode 100644 index 000000000000..0f03d37efea2 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XDialogClosedListener.idl @@ -0,0 +1,68 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XDialogClosedListener_idl__ +#define __com_sun_star_ui_dialogs_XDialogClosedListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_ui_dialogs_DialogClosedEvent_idl__ +#include <com/sun/star/ui/dialogs/DialogClosedEvent.idl> +#endif + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Used to notify listeners about dialog-closed events. + + <p>Registered listeners will be notified with a + <type>DialogClosedEvent</type> when a <type>XAsynchronousExecutableDialog</type> is closed.</p> + + @see <type>XAsynchronousExecutableDialog</type> + @see <type>DialogClosedEvent</type> +*/ + + +interface XDialogClosedListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** A client receives this event if a dialog is closed. + + @param aEvent + of type <type>DialogClosedEvent</type> that describes the event + + @see <type>EndDialogEvent</type> + */ + void dialogClosed( [in] DialogClosedEvent aEvent ); +}; + +}; }; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl b/offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl new file mode 100644 index 000000000000..556a9bf8cc0f --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XExecutableDialog.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__ +#define __com_sun_star_ui_dialogs_XExecutableDialog_idl__ + +#ifndef __com_sun_star_uno_RuntimeException_idl__ +#include <com/sun/star/uno/RuntimeException.idl> +#endif + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Specifies an interface for an executable dialog. +*/ + + +published interface XExecutableDialog: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** Sets the title of the dialog. + + @param aTitle + Set an abitrary title for the dialog, + may be an empty string if the dialog should not + have a title. + */ + void setTitle( [in] string aTitle ); + + //------------------------------------------------------------------------- + /** Executes (shows) the dialog. + + @returns + A status code of type <type>ExecutableDialogResults</type>. + */ + short execute(); +}; + +//============================================================================= + +}; }; }; }; }; + + +#endif + diff --git a/offapi/com/sun/star/ui/dialogs/XFilePicker.idl b/offapi/com/sun/star/ui/dialogs/XFilePicker.idl new file mode 100644 index 000000000000..d35683f71fc3 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePicker.idl @@ -0,0 +1,145 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_ui_dialogs_XFilePicker_idl__ +#define __com_sun_star_ui_dialogs_XFilePicker_idl__ + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__ +#include <com/sun/star/ui/dialogs/XExecutableDialog.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Specifies an interface for a FilePicker +*/ + +published interface XFilePicker: com::sun::star::ui::dialogs::XExecutableDialog +{ + + //------------------------------------------------------------------------- + /** Enable/disable multiselection mode + + <p>If the multiselection mode is enabled, multiple files + may be selected by the user else only one file selection at a time is possible</p> + + @param bMode + <p>A value of <TRUE/> enables the multiselection mode.</p> + <p>A value of <FALSE/> disables the multiselection mode, this is the default.</p> + */ + void setMultiSelectionMode( [in] boolean bMode ); + + //------------------------------------------------------------------------- + /** Sets the default string that appears in the file name box of a FilePicker. + + @param aName + <p> Specifies the default file name, displayed when the FilePicker + is shown. The implementation may accept any string, and does not + have to check for a valid file name or if the file really exists. + </p> + */ + void setDefaultName( [in] string aName ); + + //------------------------------------------------------------------------- + /** Sets the directory that the file dialog initially displays. + + @param aDirectory + Specifies the initial directory in URL format. The given URL must be + conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>). + + @throws com::sun::star::lang::IllegalArgumentException + if the URL is invalid (doesn't conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>). + */ + void setDisplayDirectory( [in] string aDirectory ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** Returns the directory that the file dialog is currently showing or + was last showing before closing the dialog with Ok. If the user + did cancel the dialog, the returned value is undefined. + + @returns + The directory in URL format, must be conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>. + */ + string getDisplayDirectory(); + + //------------------------------------------------------------------------- + /** Returns a sequence of the selected files including path information in + URL format, conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>. + + <p>If the user closed the dialog with cancel an empty sequence will be + returned.</p> + <br/> + <p>If the dialog is in execution mode and a single file is selected + the complete URL of this file will be returned.</p> + <p>If the dialog is in execution mode and multiple files are selected + an empty sequence will be returned.</p> + <p>If the dialog is in execution mode and the selected file name is false + or any other error occurs an empty sequence will be returned.</p> + + @returns + <p> The complete path of the file or directory currently selected + in URL format. There are two different cases: + <ol> + <li>Multiselection is disabled: + The first and only entry of the sequence contains the complete + path/filename in URL format.</li> + + <li>Multiselection is enabled: + If only one file is selected, the first entry + of the sequence contains the complete path/filename in URL format. + If multiple files are selected, the first entry of the sequence contains + the path in URL format, and the other entries contains the names of the selected + files without path information.</li> + </ol> + + <br/> + + <p><strong>Notes for the implementation of a FileSave dialog:</strong>If there exists + a checkbox "Automatic File Extension" which is checked and a valid filter is currently selected + the dialog may automatically add an extension to the selected file name.</p> + </p> + */ + sequence< string > getFiles(); +}; + +//============================================================================= + +}; }; }; }; }; + + +#endif + diff --git a/offapi/com/sun/star/ui/dialogs/XFilePicker2.idl b/offapi/com/sun/star/ui/dialogs/XFilePicker2.idl new file mode 100644 index 000000000000..b80c198a5fa4 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePicker2.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XFilePicker2_idl__ +#define __com_sun_star_ui_dialogs_XFilePicker2_idl__ + +#ifndef __com_sun_star_ui_dialogs_XFilePicker_idl__ +#include <com/sun/star/ui/dialogs/XFilePicker.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** extends file picker interface to workaround some design problems. +*/ +interface XFilePicker2 : ::com::sun::star::ui::dialogs::XFilePicker +{ + //------------------------------------------------------------------------- + /** Returns a sequence of the selected files including path information in + URL format, conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>. + + <p>If the user closed the dialog with cancel an empty sequence will be returned.</p> + <br/> + + <p>If the user closed the dialog with OK a list of all selected files will be returned.</p> + + @attention + <p> + Instead to the method getFiles() of base interface XFilePicker the new method return + full qualified URL's for every selected file. + </p> + + @returns + <p>A list of all selected file as complete URL's.</p> + <br/> + + <p><strong>Notes for the implementation of a FileSave dialog:</strong>If there exists + a checkbox "Automatic File Extension" which is checked and a valid filter is currently selected + the dialog may automatically add an extension to the selected file name(s).</p> + */ + sequence< string > getSelectedFiles(); +}; + +//============================================================================= + +}; }; }; }; }; + +#endif + diff --git a/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl b/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl new file mode 100644 index 000000000000..1c57cce3243d --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePickerControlAccess.idl @@ -0,0 +1,153 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XFilePickerControlAccess_idl__ +#define __com_sun_star_ui_dialogs_XFilePickerControlAccess_idl__ + +#ifndef __com_sun_star_ui_dialogs_XFilePicker_idl__ +#include <com/sun/star/ui/dialogs/XFilePicker.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Provides access to the controls of a FilePicker. + + <p> A FilePicker may contain additional elements according to the needs + of the different applications. These additional elements can be + addressed by this interface.</p> + + @see com::sun::star::ui::dialogs::FilePicker +*/ +published interface XFilePickerControlAccess: com::sun::star::ui::dialogs::XFilePicker +{ + +//------------------------------------------------------------------------- +/** Set the value of an additional element within a FilePicker. + + @param ControlId + Identifies the element which value is to be set. + + @param aControlAction + Specifies an action to perform with the given value. + aControlAction has to be one of the values defined in <type>ControlActions</type>. + Not all of the values are valid for all controls. + To add a new filter to the FilePicker use the interface XFilterManager, but + optionally an implementation may also support adding new filter using this + method. + + @param aValue + The value to set. For checkboxes aValue should be a boolean value that + should be <TRUE/> if the checkbox should be checked and <FALSE/> otherwise. + + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds + @see com::sun::star::ui::dialogs::ControlActions +*/ +void setValue( [in] short aControlId, [in] short aControlAction, [in] any aValue ); + +//------------------------------------------------------------------------- +/** Get the value of an additional element within a FilePicker + + @param aControlId + Identifies the element for which value is requested. + + @param aControlAction + Specifies which value to retrieve. + aControlAction has to be one of the values defined in <type>ControlActions</type>. + Not all of the values are valid for all controls. + + @returns + The value of the specified element. If the specified control + is a checkbox the returned value is a boolean that is <TRUE/> + if the checkbox is checked <FALSE/> otherwise. + If the specified element doesn't exist or the specified element + doesn't support the specidfied control action an empty any will be + returned. + + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds + @see com::sun::star::ui::dialogs::ControlActions +*/ +any getValue( [in] short aControlId, [in] short aControlAction ); + +//------------------------------------------------------------------------- +/** Set the label of the specified element. If the specified element + doesn't support setting a label, this method has no effect. + + @param aControlId + Identifies the element for which the label should be set. + + @param aLabel + The label to be set. + + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds +*/ +void setLabel( [in] short aControlId, [in] string aLabel ); + +//------------------------------------------------------------------------- +/** Returns the label of the specified element. + + @param aControlId + Identifies the element for which the label should be returned. + + @returns + The label of the specified element or an empty string if + the specified element has no or supports no label or the + specified element doesn't exist. + + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds +*/ +string getLabel( [in] short aControlId ); + +//------------------------------------------------------------------------- +/** Enables or disables a control. + + @param ControlId + Identifies the control. + + @param bEnable + <p>If <TRUE/> the specified control will be enabled.</p> + <p>If <FALSE/> the specified control will be disabled.</p> + + @see com::sun::star::ui::dialogs::CommonFilePickerElementIds + @see com::sun::star::ui::dialogs::ExtendedFilePickerElementIds +*/ +void enableControl( [in] short aControlId, [in] boolean bEnable ); +}; + +//============================================================================= + +}; }; }; }; }; + + +#endif + diff --git a/offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl b/offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl new file mode 100644 index 000000000000..cacdcd1afde5 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePickerListener.idl @@ -0,0 +1,120 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XFilePickerListener_idl__ +#define __com_sun_star_ui_dialogs_XFilePickerListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#endif + +#ifndef __com_sun_star_ui_dialogs_FilePickerEvent_idl__ +#include <com/sun/star/ui/dialogs/FilePickerEvent.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= + +//============================================================================= +/** Interface to be implemented by a FilePicker listener. + + <p> The <type>XFilePickerListener</type> interface must be implemented by + the clients of the FilePicker service which need to be informed about + events while the FilePicker service is displayed.</p> +*/ + +published interface XFilePickerListener: com::sun::star::lang::XEventListener +{ + //------------------------------------------------------------------------- + /** A client receives this event if the file selection within the + FilePicker service dialog changes. + + @param aEvent + of type <type>FilePickerEvent</type> that describes the event + + @see com::sun::star::ui::dialogs::FilePickerEvent + */ + void fileSelectionChanged( [in] FilePickerEvent aEvent ); + + + //------------------------------------------------------------------------- + /** A client receives this event if the directory selection within the + FilePicker dialog changes. + + @param aEvent + Of type <type>FilePickerEvent</type> that describes the event. + + @see com::sun::star::ui::dialogs::FilePickerEvent + */ + void directoryChanged( [in] FilePickerEvent aEvent ); + + //------------------------------------------------------------------------- + /** A client receives this event if the F1 key or the help button was + pressed. + + @param aEvent + of type <type>FilePickerEvent</type> that describes the event + + @returns + A help string which the FilePicker dialog should use to display + a help for a specific control. If the returned string is empty it is + undefined how the FilePicker implementation will behave. + It may show a message 'no help available' or may show no + help at all. + + @see com::sun::star::ui::dialogs::FilePickerEvent + */ + string helpRequested( [in] FilePickerEvent aEvent ); + + //------------------------------------------------------------------------- + /** A client receives this event if the state of a control within the + FilePicker service dialog changes. + + @param aEvent + of type <type>FilePickerEvent</type> that describes the event. + + @see com::sun::star::ui::dialogs::FilePickerEvent + */ + void controlStateChanged( [in] FilePickerEvent aEvent ); + + //------------------------------------------------------------------------- + /** A client receives this event if the size of the FilePicker dialog + has changed. If the FilePicker dialog contains a preview the client + may ask for the new dimension of the preview area. + */ + void dialogSizeChanged( ); +}; + +//============================================================================= + +}; }; }; }; }; + + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl b/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl new file mode 100644 index 000000000000..862e92b7084d --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePickerNotifier.idl @@ -0,0 +1,75 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XFilePickerNotifier_idl__ +#define __com_sun_star_ui_dialogs_XFilePickerNotifier_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_ui_dialogs_XFilePickerListener_idl__ +#include <com/sun/star/ui/dialogs/XFilePickerListener.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= + +//============================================================================= +/** Interface to be implemented in order to support listener management. +*/ +published interface XFilePickerNotifier: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** Interface for clients to register as XFilePickerListener + + @param xListener + The <type>XFilePickerListener</type> interface of the listener that + wants to receive events of type <type>FilePickerEvent</type>. + <p>Invalid interfaces or NULL values will be ignored.</p> + */ + [oneway] void addFilePickerListener( [in] XFilePickerListener xListener ); + + //------------------------------------------------------------------------- + /** Interface for clients to unregister as XFilePickerListener. + + @param xListener + The <type>XFilePickerListener</type> interface of the listener that + wants to receive events of type <type>FilePickerEvent</type>. + <p>Invalid interfaces or NULL values will be ignored.</p> + */ + [oneway] void removeFilePickerListener( [in] XFilePickerListener xListener ); +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/XFilePreview.idl b/offapi/com/sun/star/ui/dialogs/XFilePreview.idl new file mode 100644 index 000000000000..935b1528db1e --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilePreview.idl @@ -0,0 +1,144 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XFilePreview_idl__ +#define __com_sun_star_ui_dialogs_XFilePreview_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_util_Color_idl__ +#include <com/sun/star/util/Color.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** FilePicker that support the preview of various file formats should implement + this interface. +*/ + +published interface XFilePreview: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** The method returns all image formats that the preview supports. + + @returns + A sequence of all supported preview formats + + @see com::sun::star::ui::dialogs::FilePreviewImageFormats + */ + sequence< short > getSupportedImageFormats( ); + + //------------------------------------------------------------------------- + /** The method returns the supported color depth of the target device. + + @returns + The color depth in bit, e.g. 8 bit, 16 bit, 32 bit. + */ + com::sun::star::util::Color getTargetColorDepth( ); + + //------------------------------------------------------------------------- + /** The method returns the available width of the preview window + even if the window is invisible or could not be created. + If a service implementation doesn't support a file preview + 0 will be returned. + + @returns + The width of the preview window in pixel. + */ + long getAvailableWidth( ); + + //------------------------------------------------------------------------- + /** The method returns the available height of the preview window + even if the window is invisible or could not be created. + If a service implementation doesn't support a file preview + 0 will be returned. + + @returns + The heigth of the preview window in pixel. + */ + long getAvailableHeight( ); + + //------------------------------------------------------------------------- + /** Sets a new image. If the preview is currently hidden the + image will be ignored. An empty any will clear the preview window. + + @param aImageFormat + Specifies the format of the data that will be delivered + + @param aImage + The image data, the image format defines how + the image data have to be delivered + + @throws com::sun::star::lang::IllegalArgumentException + If the specified image format is invalid or not + supported by the preview implementation + + @see com::sun::star::ui::dialogs::FilePreviewImageFormats + */ + void setImage( [in] short aImageFormat, [in] any aImage ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** Optionally sets the current show state of the preview. It is possible + that the preview implementation doesn't support hiding the preview. + + @param bShowState + A value of <TRUE/> shows the preview window. + <p>A value of <FALSE/> hides the preview window.</p> + + @returns + A value of <TRUE/> on success. + <p>A vaue of <FALSE/> if the operation fails for any reason or the preview + implementation doesn't support hiding the preview.</p> + */ + boolean setShowState( [in] boolean bShowState ); + + //------------------------------------------------------------------------- + /** Returns the current show state of the preview. + + @returns + A value of <TRUE/> if the preview window is visible. + <p>A value of <FALSE/> if the preview window is invisible.</p> + */ + boolean getShowState( ); +}; + +//============================================================================= + +}; }; }; }; }; + + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl b/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl new file mode 100644 index 000000000000..75e5b6458f3d --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilterGroupManager.idl @@ -0,0 +1,80 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_beans_StringPair_idl__ +#include <com/sun/star/beans/StringPair.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Specifies an interface which allows manipulation of groups of filters + for the <type>FilePicker</type> service. +*/ +published interface XFilterGroupManager : com::sun::star::uno::XInterface +{ + /** Appends a group of filters to the current filter list. + + <p>It is implementation dependent how the filter groups are presented to the user.<br/> + It is not even guaranteed that the groups are visualized: implementations are free to simply + append all the filters separately, with ignoring the group title.</p> + + @param sGroupTitle + The title of the filter group. Usually, the caller should localize this title, as it is to be presented to + the user. + + @param aFilters + The filters which form a group. Every filter consists of two strings, where the first one is a display name + (as for <arg>sGroupTitle</arg>, it holds that these strings should be localized), and the second one the + semicolon separated list of wildcard expressions for the filter.<br/> + Usually, the expressions are simply extensions (e.g. "*.txt"), but this must no necessarily be the case. + + @throws com::sun::star::lang::IllegalArgumentException + if one or more filters in the given filter list already exist. + + @see com::sun::star::ui::dialogs::XFilterManager + @see com::sun::star::ui::dialogs::FilePicker + */ + void appendFilterGroup( + [in] string sGroupTitle, + [in] sequence< com::sun::star::beans::StringPair > aFilters + ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +//............................................................................. +}; }; }; }; }; +//............................................................................. + diff --git a/offapi/com/sun/star/ui/dialogs/XFilterManager.idl b/offapi/com/sun/star/ui/dialogs/XFilterManager.idl new file mode 100644 index 000000000000..8e418b7519f0 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFilterManager.idl @@ -0,0 +1,97 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XFilterManager_idl__ +#define __com_sun_star_ui_dialogs_XFilterManager_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Specifies a filter manager interface for a FilePicker +*/ + +published interface XFilterManager: com::sun::star::uno::XInterface +{ + + //------------------------------------------------------------------------- + /** Adds a filter identified by a title. + + @param aTitle + Specifies the name of the filter as shown in the filter box of the + FilePicker dialog. + + @param aFilter + Specifies the extensions of the filter. Multiple filters should be + semicolon separated. The semicolon may not be used as character in + a filter expresion. A typical filter is for instance '*.txt'. + + @throws ::com::sun::star::lang::IllegalArgumentException + If a filter with the specified title already exists. + + */ + void appendFilter( [in] string aTitle, [in] string aFilter ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** Sets the current filter. + + @param aTitle + Specifies the name of the filter to be set. + + @throws com::sun::star::lang::IllegalArgumentException + If the specified filter was not found. + */ + void setCurrentFilter( [in] string aTitle ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** Returns the currently selected filter. + + @returns + The name of the selected filter or an empty string if + there is no filter or no filter is currently selected. + */ + string getCurrentFilter( ); +}; + +//============================================================================= + +}; }; }; }; }; + + +#endif + diff --git a/offapi/com/sun/star/ui/dialogs/XFolderPicker.idl b/offapi/com/sun/star/ui/dialogs/XFolderPicker.idl new file mode 100644 index 000000000000..2265ecab2346 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XFolderPicker.idl @@ -0,0 +1,100 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_ui_dialogs_XFolderPicker_idl__ +#define __com_sun_star_ui_dialogs_XFolderPicker_idl__ + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__ +#include <com/sun/star/ui/dialogs/XExecutableDialog.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ui { module dialogs { + +//============================================================================= +/** Specifies a FolderPicker interface. +*/ + +published interface XFolderPicker: com::sun::star::ui::dialogs::XExecutableDialog +{ + //------------------------------------------------------------------------- + /** Sets the root directory that the FolderPicker should display. + It is not specified which root directory the FolderPicker + chooses if the specified root directory doesn't exist. + + @param aDirectory + Specifies the root directory in url format, conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>. + + @throws com::sun::star::lang::IllegalArgumentException + if the given url is invalid. + */ + void setDisplayDirectory( [in] string aDirectory ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + + //------------------------------------------------------------------------- + /** Returns the root directory that the FolderPicker is showing. The + return value is undefined if the client did not choose a root directory + or the previously specified root directory doesn't exist. + + @returns + The directory in url format. + */ + string getDisplayDirectory(); + + //------------------------------------------------------------------------- + /** Returns the selected directory as url conform to <a href="http://www.w3.org/Addressing/rfc1738.txt">Rfc1738</a>. + + @returns + The selected directory as url if the user did close the dialog with ok + else the returned value is undefined. + */ + string getDirectory( ); + + //------------------------------------------------------------------------- + /** The implementation may optionally show the given text as a description + for the user within the dialog, e.g. "Please select a directory". + If the client doesn't set a description the dialog may show a default + description. + */ + void setDescription( [in] string aDescription ); +}; + +//============================================================================= + +}; }; }; }; }; + + +#endif + diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl new file mode 100644 index 000000000000..debe91072ba4 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl @@ -0,0 +1,228 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XWizard_idl__ +#define __com_sun_star_ui_dialogs_XWizard_idl__ + +#include <com/sun/star/ui/dialogs/XExecutableDialog.idl> +#include <com/sun/star/util/InvalidStateException.idl> +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/awt/XWindow.idl> + +//================================================================================================================== +module com { module sun { module star { module ui { module dialogs { + +//================================================================================================================== + +published interface XWizardPage; + +/** is the main interface implemented by the <type>Wizard</type> services. + + <p>A wizard is a dialog which guides the user through a number of tasks (usually input of data), which the user can + accomplish either sequentially or out-of-order. For this, a wizard is comprised of a number of tab pages, + each page representing a single <em>step</em>.</p> + + <p>Sequential navigation in a wizard is done via a <em>Next</em> and a <em>Back</em> button. Non-sequential navigation + is done via a roadmap, which is displayed on the left hand side of the wizard dialog, lists all available + steps, and allows jumping to a certain step (where the creator of the wizard can restrict the available steps + depending on the current situation in the wizard, see below).</p> + + <p>A sequence of steps in a wizard dialog is called a <em>path</em>. A given wizard can support one or multiple paths, + which are declared at the time of construction of the wizard.</p> + + <p>In the simplest case, where the wizard supports only one path, all available steps are displayed in the roadmap, + and the user can simply travel through them as desired.</p> + + <p>If the wizard is more complex, and supports multiple paths, things become more complicated. In a given situation + of the wizard, where the user is at step <em>k</em> of the current path, the <em>potential</em> or <em>conflicting</em> + paths are those whose first <em>k</em> steps are the same as in the current path. Obviously, there's at least one + potential path in every situation: the current one. If there is more than one, then the future steps in the dialog + are not finally decided. In such a case, the roadmap will display future steps up to the point where the potential + paths diverge, and then an item <quot><code>...</code></quot> indicating that the order of steps is undecided.</p> + + <p>An <type>XWizardController</type> can declare a certain path as active path by calling the <member>activatePath</member> + method. Usually, this is done depending on user input. For instance, your wizard could have radio buttons on the + first page which effectively decide about which path to take in the wizard.</p> + + <p>Single steps in the wizard can be freely enabled and disabled, using the <member>enablePage</member> method. + Disabled pages are skipped during sequential traveling, and not selectable in the roadmap.</p> + + <p>The state of the <em>Next</em> button in the dialog will be automatically maintained in most situations, + depending on the results of calls to the <member>XWizardController::canAdvance</member> and <member>XWizardPage::canAdvance</member> + methods. More sophisticated wizard logic, however, will need manual calls to the <member>enableButton</member> method. + Also, the <em>Finish</em> button needs to be maintained by the wizard's controller, too, as it cannot be decided + generically in which situations it should be enabled or disabled.</p> + + @see XWizardController + @see XWizardPage + */ +published interface XWizard +{ + interface XExecutableDialog; + + /** is the help URL of the wizard's main window. + */ + [attribute] string HelpURL; + + [attribute, readonly] ::com::sun::star::awt::XWindow + DialogWindow; + + /** provides access to the current page of the wizard + */ + XWizardPage + getCurrentPage(); + + /** enables or disables a certain button in the wizard + + <p>Normally, you will want to use this method for the <em>Finish</em> button only: The <em>Next</em> + and <em>Back</em> buttons are usually maintained automatically, the <em>Help</em> and <em>Cancel</em> + buttons are unlikely to ever being disabled.</p> + + @param WizardButton + denotes the button to enable or disable, as one of the <type>WizardButton</type> constants. Must not be + <member>WizardButton::NONE</member>. + @param Enable + specifies whether the button should be enabled (<TRUE/>) or disabled (<FALSE/>) + */ + void enableButton( [in] short WizardButton, [in] boolean Enable ); + + /** sets a button in the wizard as default button + + <p>In general, the default button in a wizard is the one which is activated when the user presses + the <em>return</em> key while the focus is in a control which does not handle this key itself (such as + ordinary input controls).</p> + + <p>You can use this method, for instance, to make the <em>Next</em> button the default button on all pages + except the last one, where <em>Finish</em> should be defaulted.</p> + */ + void setDefaultButton( [in] short WizardButton ); + + /** travels to the next page, if possible + + <p>Calling this method is equivalent to the user pressing the <em>Next</em> button in the wizard. Consequently, + the method will fail if in the current state of the wizard, it is not allowed to advance to a next page.</p> + */ + boolean travelNext(); + + /** travels to the next page, if possible + + <p>Calling this method is equivalent to the user pressing the <em>Back</em> button in the wizard.</p> + */ + boolean travelPrevious(); + + /** enables or disables the given page + + <p>You can use this method when not all pages of your wizard are necessarily needed in all cases. For instance, + assume that your first wizard page contains a check box, which the user can check to enter additional data. + If you place this data on the second page, then you will want to enable this second page if and only if the + checkbox is checked.</p> + + <p>If a page is disabled, it can reached neither by clicking the respective item in the wizard's roadmap, + nor by sequential traveling. Still, the page's item is displayed in the roadmap, though disabled.</p> + + @throws ::com::sun::star::container::NoSuchElementException + if there is no page with the given ID + @throws ::com::sun::star::util::InvalidStateException + if the page shall be disabled, but is active currently. + */ + void enablePage( [in] short PageID, [in] boolean Enable ) + raises ( ::com::sun::star::container::NoSuchElementException + , ::com::sun::star::util::InvalidStateException ); + + /** updates the wizard elements which are related to traveling. + + <p>For instance, the <em>Next</em> button is disabled if the current page's <member>XWizardPage::canAdvance</member> + method returns <FALSE/>.</p> + + <p>You usually call this method from within a wizard page whose state changed in a way that it affects the + user's ability to reach other pages.</p> + */ + void updateTravelUI(); + + /** advances to the given page, if possible. + + <p>Calling this method is equivalent to the user repeatedly pressing the <em>Next</em> button, until the + given page is reached. Consequently, the method will fail if one of the intermediate pages does not allow + advancing to the next page.</p> + */ + boolean advanceTo( [in] short PageId ); + + /** goes back to the given page, if possible. + + <p>Calling this method is equivalent to the user repeatedly pressing the <em>Back</em> button, until the + given page is reached.</p> + */ + boolean goBackTo( [in] short PageId ); + + /** activates a path + + <p>If the wizard has been created with multiple paths of control flow, then this method allows switching to + another path.</p> + + <p>You can only activate a path which shares the first <code>k</code> pages with the path + which is previously active (if any), where <code>k</code> is the index of the current page within the current + path.</p> + + <p><strong>Example</strong>: Say you have paths, <code>(0,1,2,5)</code> and <code>(0,1,4,5)</code> (with + the numbers denoting page IDs). This means that after page <code>1</code>, you either continue with page + <code>2</code> or state <code>4</code>,and after this, you finish in state <code>5</code>.<br/> + Now if the first path is active, and your current state is <code>1</code>, then you can easily switch to the + second path, since both paths start with <code>(0,1)</code>.<br/> + However, if your current state is <code>2</code>, then you can not switch to the second path anymore.</p> + + @param PathIndex + the index of the path, as used in the <member>Wizard::createMultiplePathsWizard</member> constructor. + @param Final + <p>If <TRUE/>, the path will be completely activated, even if it is a conflicting path (i.e. there is another + path which shares the first <code>k</code> states with the to-be-activated path.)</p> + + <p>If <FALSE/>, then the new path is checked for conflicts with other paths. If such conflicts exists, the path + is not completely activated, but only up to the point where it does <em>not</em> conflict.</p> + + <p>In this latter case, you need another activatePath method (usually triggered by the user doing some decisions + and entering some data on the reachable pages) before the wizard can actually be finished.</p> + + <p>With the paths in the example above, if you activate the second path, then only steps <code>0</code> and + <code>1</code> are activated, since they are common to both paths. Steps <code>2</code>, <code>4</code>, + and <code>5</code> are not reachable, yet.</p> + + @throws ::com::sun::star::container::NoSuchElementException + if there is no path with the given index + @throws ::com::sun::star::util::InvalidStateException + if the path cannot be activated in the current state of the wizard. + */ + void activatePath( [in] short PathIndex, [in] boolean Final ) + raises ( ::com::sun::star::container::NoSuchElementException + , ::com::sun::star::util::InvalidStateException ); +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/XWizardController.idl b/offapi/com/sun/star/ui/dialogs/XWizardController.idl new file mode 100644 index 000000000000..2ada9c1e715d --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XWizardController.idl @@ -0,0 +1,85 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XWizardController_idl__ +#define __com_sun_star_ui_dialogs_XWizardController_idl__ + +#include <com/sun/star/ui/dialogs/XWizardPage.idl> + +//================================================================================================================== + +module com { module sun { module star { module ui { module dialogs { + +//================================================================================================================== + +/** is the interface of a client-provided controller of a custom <type>Wizard</type>. + */ +published interface XWizardController +{ + /** creates a page + + <p>Wizard pages are created on demand, when the respective page is reached during traveling through the + wizard. Effectively, this means the method is called at most once for each possible page ID.</p> + + @param ParentWindow + the parent window to use for the page window + @param PageId + the ID of the page. + @return + the requested page. + */ + XWizardPage createPage( [in] ::com::sun::star::awt::XWindow ParentWindow, [in] short PageId ); + + /** provides the title of a page given by ID + + <p>The page titles are displayed in the wizard's roadmap.</p> + */ + string getPageTitle( [in] short PageId ); + + boolean canAdvance(); + + /** called when a new page in the wizard is being activated + */ + void onActivatePage( [in] short PageId ); + + /** called when a page in the wizard is being deactivated + */ + void onDeactivatePage( [in] short PageId ); + + /** called when the wizard is about to be finished. + + <p>This method allows the controller to do any final checks, and ultimatively veto finishing the wizard.</p> + */ + boolean confirmFinish(); +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl new file mode 100644 index 000000000000..64b9f807da29 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl @@ -0,0 +1,86 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XWizardPage_idl__ +#define __com_sun_star_ui_dialogs_XWizardPage_idl__ + +#include <com/sun/star/awt/XWindow.idl> + +//================================================================================================================== + +module com { module sun { module star { module ui { module dialogs { + +//================================================================================================================== + +/** is a single page of a <type>Wizard</type> + */ +published interface XWizardPage : ::com::sun::star::lang::XComponent +{ + /** provides read-only access to the window of the page + */ + [attribute, readonly] ::com::sun::star::awt::XWindow Window; + + /** denotes the ID of the page. + + <p>Within a wizard, no two pages are allowed to have the same ID.</p> + */ + [attribute, readonly] short PageId; + + /** called when the page is activated + */ + void activatePage(); + + /** is called when the page is about to be left + + <p>An implementation can veto the leave by returning <FALSE/> here. Usually, the decision about this + depends on the current state of the page.</p> + + @param Reason + is one of the <type>WizardTravelType</type> contants denoting the reason why the page should be + committed. + */ + boolean commitPage( [in] short Reason ); + + /** determines whether it is allowed to travel to a later page in the wizard + + <p>You should base this decision on the state of the page only, not on a global state of the wizard. Usually, + you return <FALSE/> here if and only if not all necessary input on the page has been provided by the user, + or the provided input is not valid.</p> + + <p>If checked for validity is expensive, or if you prefer giving your user more detailed feedback on validity + than a disabled <code>Next</code> button in the wizard, then move your checks to the <member>commitPage</member> + method.</p> + */ + boolean canAdvance(); +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/makefile.mk b/offapi/com/sun/star/ui/dialogs/makefile.mk new file mode 100644 index 000000000000..07d762fb0ec6 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/makefile.mk @@ -0,0 +1,79 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/..$/..$/..$/.. + +PRJNAME=offapi + +TARGET=cssuidialogs +PACKAGE=com$/sun$/star$/ui$/dialogs + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ + +IDLFILES=\ + FilterOptionsDialog.idl\ + ControlActions.idl\ + ExecutableDialogException.idl\ + ExecutableDialogResults.idl\ + XExecutableDialog.idl\ + CommonFilePickerElementIds.idl\ + ExtendedFilePickerElementIds.idl\ + FilePicker.idl\ + FilePickerEvent.idl\ + FilePreviewImageFormats.idl\ + FolderPicker.idl\ + ListboxControlActions.idl\ + TemplateDescription.idl\ + XFilePicker.idl\ + XFilePicker2.idl\ + XFilePickerControlAccess.idl \ + XFilePickerListener.idl\ + XFilePickerNotifier.idl\ + XFilePreview.idl\ + XFilterGroupManager.idl\ + XFilterManager.idl\ + XFolderPicker.idl\ + XControlAccess.idl\ + XControlInformation.idl \ + XAsynchronousExecutableDialog.idl \ + XDialogClosedListener.idl \ + DialogClosedEvent.idl \ + XWizard.idl \ + XWizardController.idl \ + Wizard.idl \ + XWizardPage.idl \ + WizardButton.idl \ + WizardTravelType.idl + +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk + |