From 6d046e40834d8c0abb7aa97dabc096d721321883 Mon Sep 17 00:00:00 2001 From: Dirk Völzke Date: Wed, 7 Oct 2009 14:11:28 +0000 Subject: #i105452# Added 'since' tag and published throbber service --- offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl | 6 ++++-- offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl | 3 ++- offapi/com/sun/star/awt/UnoControlThrobber.idl | 6 ++++-- offapi/com/sun/star/awt/UnoControlThrobberModel.idl | 3 ++- offapi/com/sun/star/awt/XSimpleAnimation.idl | 2 +- offapi/com/sun/star/awt/XThrobber.idl | 2 +- 6 files changed, 14 insertions(+), 8 deletions(-) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl b/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl index 83cf1ed0963e..b8f553e5920c 100644 --- a/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl +++ b/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl @@ -48,9 +48,11 @@ /** specifies a simple animation control.

The model of an UnoControlSimpleAnimation control must support - the UnoControlSimpleAnimationModel service. + the UnoControlSimpleAnimationModel service.

+ + @since OOo 2.2 */ -service UnoControlSimpleAnimation +published service UnoControlSimpleAnimation { service com::sun::star::awt::UnoControl; diff --git a/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl b/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl index 4b8b465590ac..3169aa1069e2 100644 --- a/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl +++ b/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl @@ -48,9 +48,10 @@

@see UnoControlScrollBarModel + @since OOo 2.2 */ -service UnoControlSimpleAnimationModel +published service UnoControlSimpleAnimationModel { service com::sun::star::awt::UnoControlModel; diff --git a/offapi/com/sun/star/awt/UnoControlThrobber.idl b/offapi/com/sun/star/awt/UnoControlThrobber.idl index 85b08efc77a2..9faffd85d8e8 100644 --- a/offapi/com/sun/star/awt/UnoControlThrobber.idl +++ b/offapi/com/sun/star/awt/UnoControlThrobber.idl @@ -48,9 +48,11 @@ /** specifies a simple animation control.

The model of an UnoControlThrobber control must support - the UnoControlThrobberModel service. + the UnoControlThrobberModel service.

+ + @since OOo 2.2 */ -service UnoControlThrobber +published service UnoControlThrobber { service com::sun::star::awt::UnoControl; diff --git a/offapi/com/sun/star/awt/UnoControlThrobberModel.idl b/offapi/com/sun/star/awt/UnoControlThrobberModel.idl index a3922d757a3c..c07efea1cb57 100644 --- a/offapi/com/sun/star/awt/UnoControlThrobberModel.idl +++ b/offapi/com/sun/star/awt/UnoControlThrobberModel.idl @@ -48,9 +48,10 @@

@see UnoControlScrollBarModel + @since OOo 2.2 */ -service UnoControlThrobberModel +published service UnoControlThrobberModel { service com::sun::star::awt::UnoControlModel; }; diff --git a/offapi/com/sun/star/awt/XSimpleAnimation.idl b/offapi/com/sun/star/awt/XSimpleAnimation.idl index 816a508e230f..0a8d34eb94bb 100644 --- a/offapi/com/sun/star/awt/XSimpleAnimation.idl +++ b/offapi/com/sun/star/awt/XSimpleAnimation.idl @@ -46,7 +46,7 @@ /** Controls the animation control. */ -interface XSimpleAnimation: com::sun::star::uno::XInterface +published interface XSimpleAnimation: com::sun::star::uno::XInterface { //------------------------------------------------------------------------- diff --git a/offapi/com/sun/star/awt/XThrobber.idl b/offapi/com/sun/star/awt/XThrobber.idl index b1cb80beb5e2..0687920ccf94 100644 --- a/offapi/com/sun/star/awt/XThrobber.idl +++ b/offapi/com/sun/star/awt/XThrobber.idl @@ -46,7 +46,7 @@ /** Controls the animation control. */ -interface XThrobber: com::sun::star::uno::XInterface +published interface XThrobber: com::sun::star::uno::XInterface { //------------------------------------------------------------------------- -- cgit From 90184195d98ef42a18d37cd925c12aed6e60913b Mon Sep 17 00:00:00 2001 From: Christian Lippka Date: Tue, 2 Mar 2010 19:50:13 +0100 Subject: added Visible property for shapes --- offapi/com/sun/star/drawing/Shape.idl | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/drawing/Shape.idl b/offapi/com/sun/star/drawing/Shape.idl index f57369e87f49..ecc0556411b2 100644 --- a/offapi/com/sun/star/drawing/Shape.idl +++ b/offapi/com/sun/star/drawing/Shape.idl @@ -135,6 +135,13 @@ published service Shape //------------------------------------------------------------------------- + /** If this is , the Shape is not visible + on screen outputs. + */ + [optional, property] boolean Visible; + + //------------------------------------------------------------------------- + /** If this is , the Shape is not visible on printer outputs. */ -- cgit From a91a2437bb2825f9cd9bfeb0febe5921278b9ace Mon Sep 17 00:00:00 2001 From: Christian Lippka Date: Thu, 4 Mar 2010 16:37:51 +0100 Subject: #i161701# fixing documentation issue --- offapi/com/sun/star/drawing/Shape.idl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/drawing/Shape.idl b/offapi/com/sun/star/drawing/Shape.idl index ecc0556411b2..3bf1c6fa15cc 100644 --- a/offapi/com/sun/star/drawing/Shape.idl +++ b/offapi/com/sun/star/drawing/Shape.idl @@ -136,7 +136,8 @@ published service Shape //------------------------------------------------------------------------- /** If this is , the Shape is not visible - on screen outputs. + on screen outputs. Please note that the Shape may still + be visible when printed, see Printable. */ [optional, property] boolean Visible; -- cgit From 58c7801ffdbfc486b7977834ece67ae964bad03f Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Thu, 29 Apr 2010 10:05:04 +0200 Subject: fs33a: #i111238# add support for images to AWT's ListBoxControl/Model --- offapi/com/sun/star/awt/ItemListEvent.idl | 76 ++++++++ offapi/com/sun/star/awt/XItemList.idl | 246 ++++++++++++++++++++++++++ offapi/com/sun/star/awt/XItemListListener.idl | 85 +++++++++ offapi/com/sun/star/awt/makefile.mk | 5 +- 4 files changed, 411 insertions(+), 1 deletion(-) create mode 100644 offapi/com/sun/star/awt/ItemListEvent.idl create mode 100644 offapi/com/sun/star/awt/XItemList.idl create mode 100644 offapi/com/sun/star/awt/XItemListListener.idl (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/awt/ItemListEvent.idl b/offapi/com/sun/star/awt/ItemListEvent.idl new file mode 100644 index 000000000000..f9d2658bd5bd --- /dev/null +++ b/offapi/com/sun/star/awt/ItemListEvent.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __offapi_com_sun_star_awt_ListItemEvent_idl__ +#define __offapi_com_sun_star_awt_ListItemEvent_idl__ + +#include +#include + +//================================================================================================================== + +module com { module sun { module star { module awt { + +//================================================================================================================== + +/** is the event broadcasted by a XListItems implementation for changes + in its item list. + */ +struct ItemListEvent : ::com::sun::star::lang::EventObject +{ + /** specifies the position of the item which is affected by the event + +

In case the event is not related to a single item, but to the complete list, the value of this + member is undefined.

+ */ + long ItemPosition; + + /** the text of the item. + +

If the event being notified did not touch the text of an item, this member is empty. For instance, upon + invocation of XItemList::setItemImage, only ItemImageURL will be set, and + ItemText will be empty.

+ */ + ::com::sun::star::beans::Optional< string > + ItemText; + + /** the URL of the image of the item + +

If the event being notified did not touch the image of an item, this member is empty. For instance, upon + invocation of XItemList::setItemText, only ItemText will be set, and + ItemImageURL will be empty.

+ */ + ::com::sun::star::beans::Optional< string > + ItemImageURL; +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/XItemList.idl b/offapi/com/sun/star/awt/XItemList.idl new file mode 100644 index 000000000000..55721bf0af36 --- /dev/null +++ b/offapi/com/sun/star/awt/XItemList.idl @@ -0,0 +1,246 @@ +/************************************************************************* + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __offapi_com_sun_star_awt_XItemList_idl__ +#define __offapi_com_sun_star_awt_XItemList_idl__ + +#include +#include + +//================================================================================================================== + +module com { module sun { module star { module awt { + +interface XItemListListener; + +//================================================================================================================== + +/** provides convenient access to the list of items in a list box + */ +interface XItemList +{ + /** is the number of items in the list + */ + [attribute, readonly] long ItemCount; + + /** inserts a new item into the list + + @param Position + the position at which the item should be inserted. Must be greater or equal to 0, and + lesser than or equal to ItemCount. + + @param ItemText + the text of the item to be inserted. + + @param ItemImageURL + the URL of the image to display for the item + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + */ + void insertItem( + [in] long Position, + [in] string ItemText, + [in] string ItemImageURL + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** inserts an item which has only a text, but no image + + @param Position + the position at which the item should be inserted. Must be greater or equal to 0, and + lesser than or equal to ItemCount. + + @param ItemText + the text of the item to be inserted. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + */ + void insertItemText( + [in] long Position, + [in] string ItemText + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** inserts an item which has only an image, but no text + + @param Position + the position at which the item should be inserted. Must be greater or equal to 0, and + lesser than or equal to ItemCount. + + @param ItemImageURL + the URL of the image to display for the item + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + */ + void insertItemImage( + [in] long Position, + [in] string ItemImageURL + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** removes an item from the list + + @param Position + the position of the item which should be removed. Must be greater or equal to 0, and + lesser than ItemCount. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + */ + void removeItem( + [in] long Position + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** removes all items from the list + */ + void removeAllItems(); + + /** sets a new text for an existing item + + @param Position + the position of the item whose text is to be changed. Must be greater or equal to 0, and + lesser than ItemCount. + + @param ItemText + the new text of the item + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + */ + void setItemText( + [in] long Position, + [in] string ItemText + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** sets a new image for an existing item + + @param Position + the position of the item whose image is to be changed. Must be greater or equal to 0, and + lesser than ItemCount. + + @param ItemImageURL + the new URL of the image to display for the item + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + */ + void setItemImage( + [in] long Position, + [in] string ItemImageURL + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** sets both a new position and text for an existing item + + @param Position + the position of the item whose text and image is to be changed. Must be greater or equal to 0, and + lesser than ItemCount. + + @param ItemText + the new text of the item + + @param ItemImageURL + the new URL of the image to display for the item + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + */ + void setItemTextAndImage( + [in] long Position, + [in] string ItemText, + [in] string ItemImageURL + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** retrieves the text of an existing item + + @param Position + the position of the item whose text should be retrieved. Must be greater or equal to 0, and + lesser than ItemCount. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + */ + string getItemText( + [in] long Position + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** retrieves the URL of the image of an existing item + + @param Position + the position of the item whose image should be retrieved. Must be greater or equal to 0, and + lesser than ItemCount. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + */ + string getItemImage( + [in] long Position + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** retrieves both the text and the image URL of an existing item + + @param Position + the position of the item whose text and image should be retrieved. Must be greater or equal to 0, and + lesser than ItemCount. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + */ + ::com::sun::star::beans::Pair< string, string > + getItemTextAndImage( + [in] long Position + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** retrieves the texts and images of all items in the list + */ + sequence< ::com::sun::star::beans::Pair< string, string > > + getAllItems(); + + /** registers a listener which is notified about changes in the item list. + */ + void addItemListListener( [in] XItemListListener Listener ); + + /** revokes a listener which is notified about changes in the item list. + */ + void removeItemListListener( [in] XItemListListener Listener ); +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/XItemListListener.idl b/offapi/com/sun/star/awt/XItemListListener.idl new file mode 100644 index 000000000000..d41d8b104a02 --- /dev/null +++ b/offapi/com/sun/star/awt/XItemListListener.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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __offapi_com_sun_star_awt_XItemListListener_idl__ +#define __offapi_com_sun_star_awt_XItemListListener_idl__ + +#include +#include + +//================================================================================================================== + +module com { module sun { module star { module awt { + +//================================================================================================================== + +/** describes a listener for changes in a item list + @see XListItems + */ +interface XItemListListener : ::com::sun::star::lang::XEventListener +{ + /** is called when an item is inserted into the list + */ + void listItemInserted( + [in] ItemListEvent Event + ); + + /** is called when an item is removed from the list + */ + void listItemRemoved( + [in] ItemListEvent Event + ); + + /** is called when an item in the list is modified, i.e. its text or image changed + */ + void listItemModified( + [in] ItemListEvent Event + ); + /** is called when the list has been completely cleared, i.e. after an invocation of + XItemList::removeAllItems + */ + void allItemsRemoved( + [in] ::com::sun::star::lang::EventObject Event + ); + + /** is called when the changes to the item list which occured are too complex to be notified + in single events. + +

Consumers of this event should discard their cached information about the current item list, + and completely refresh it from the XItemList's current state.

+ */ + void itemListChanged( + [in] ::com::sun::star::lang::EventObject Event + ); +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/makefile.mk b/offapi/com/sun/star/awt/makefile.mk index 1e2350a3a1d3..55734fd75ca6 100644 --- a/offapi/com/sun/star/awt/makefile.mk +++ b/offapi/com/sun/star/awt/makefile.mk @@ -328,7 +328,10 @@ IDLFILES=\ MenuLogo.idl \ XMenuExtended2.idl \ XMenuBarExtended.idl \ - XPopupMenuExtended.idl + XPopupMenuExtended.idl \ + XItemList.idl \ + XItemListListener.idl \ + ItemListEvent.idl # ------------------------------------------------------------------ -- cgit From 0f011288f27663ba8d67147c3a3820f727a20249 Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Thu, 29 Apr 2010 10:15:25 +0200 Subject: fs33a: #i111238# add (optional, since the thing is published) support for XItemList --- offapi/com/sun/star/awt/UnoControlListBoxModel.idl | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/awt/UnoControlListBoxModel.idl b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl index 5017b05635ad..1cd36de93231 100644 --- a/offapi/com/sun/star/awt/UnoControlListBoxModel.idl +++ b/offapi/com/sun/star/awt/UnoControlListBoxModel.idl @@ -39,6 +39,8 @@ #include #endif +#include + //============================================================================= @@ -208,6 +210,11 @@ published service UnoControlListBoxModel this is possible.

*/ [optional, property] short MouseWheelBehavior; + + /** allows mmanipulating the list of items in the list box more fine-grained than the + StringItemList property. + */ + [optional] interface XItemList; }; //============================================================================= -- cgit From 031a451a48f26480a674cdbd8483403e8a9a3433 Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Thu, 29 Apr 2010 14:10:03 +0200 Subject: fs33a: #i111238# now with UserData support --- offapi/com/sun/star/awt/XItemList.idl | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/awt/XItemList.idl b/offapi/com/sun/star/awt/XItemList.idl index 55721bf0af36..3d618d760322 100644 --- a/offapi/com/sun/star/awt/XItemList.idl +++ b/offapi/com/sun/star/awt/XItemList.idl @@ -180,6 +180,26 @@ interface XItemList ) raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + /** associates an implementation dependend value with the given list item. + +

You can use this to store data for an item which does not interfere with the displayed + text and image, but can be used by the client of the list box for an arbitrary purpose.

+ + @param Position + the position of the item whose data value should be set. Must be greater or equal to 0, and + lesser than ItemCount. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + + @see getUserData + */ + void setUserData( + [in] long Position, + [in] any DataValue + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + /** retrieves the text of an existing item @param Position @@ -223,6 +243,23 @@ interface XItemList ) raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + /** retrieves the implementation dependend value associated with the given list item. + @see setUserData + + @param Position + the position of the item whose data value should be retrieved. Must be greater or equal to 0, and + lesser than ItemCount. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if Position is invalid. + + @see getUserData + */ + any getUserData( + [in] long Position + ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + /** retrieves the texts and images of all items in the list */ sequence< ::com::sun::star::beans::Pair< string, string > > -- cgit From ec28ca09191867b79d433c588f03dd89802d8b79 Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Thu, 29 Apr 2010 15:29:46 +0200 Subject: fs33a: #i111238# [s|g]etUserData -> [s|g]etItemData --- offapi/com/sun/star/awt/XItemList.idl | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/awt/XItemList.idl b/offapi/com/sun/star/awt/XItemList.idl index 3d618d760322..6419ea94d0b0 100644 --- a/offapi/com/sun/star/awt/XItemList.idl +++ b/offapi/com/sun/star/awt/XItemList.idl @@ -189,14 +189,17 @@ interface XItemList the position of the item whose data value should be set. Must be greater or equal to 0, and lesser than ItemCount. + @param ItemData + the data to associate with the list item + @throws ::com::sun::star::lang::IndexOutOfBoundsException if Position is invalid. - @see getUserData + @see getItemData */ - void setUserData( + void setItemData( [in] long Position, - [in] any DataValue + [in] any ItemData ) raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); @@ -244,7 +247,7 @@ interface XItemList raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); /** retrieves the implementation dependend value associated with the given list item. - @see setUserData + @see setItemData @param Position the position of the item whose data value should be retrieved. Must be greater or equal to 0, and @@ -253,9 +256,9 @@ interface XItemList @throws ::com::sun::star::lang::IndexOutOfBoundsException if Position is invalid. - @see getUserData + @see setItemData */ - any getUserData( + any getItemData( [in] long Position ) raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); -- cgit From 5ee055288d53fb2db05e835361574dbaae1b58c0 Mon Sep 17 00:00:00 2001 From: "Thomas Lange [tl]" Date: Mon, 3 May 2010 14:43:49 +0200 Subject: cws tl80: #i98187# api documentation for EditInReadonly --- offapi/com/sun/star/text/TextFrame.idl | 9 +++++++++ 1 file changed, 9 insertions(+) mode change 100644 => 100755 offapi/com/sun/star/text/TextFrame.idl (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/text/TextFrame.idl b/offapi/com/sun/star/text/TextFrame.idl old mode 100644 new mode 100755 index e1ab64c2e674..e43b3d79197c --- a/offapi/com/sun/star/text/TextFrame.idl +++ b/offapi/com/sun/star/text/TextFrame.idl @@ -111,6 +111,13 @@ published service TextFrame @see SizeType */ [property] short SizeType; + //------------------------------------------------------------------------- + /** determines if the text frame should be editable in a read-only document. + (This is usually used in forms.) + + */ + [optional, property] boolean EditInReadonly; + //------------------------------------------------------------------------- /** determines the interpretation of the width and relative width properties. @@ -119,12 +126,14 @@ published service TextFrame @since OOo 2.4 */ [optional, property] short WidthType; + //----------------------------------------------------------------------------- /** contains the writing direction, as represented by the WritingMode2 constants */ [optional, property] short WritingMode; + //----------------------------------------------------------------------------- /** controls, if the frame follows the text flow or can leave its layout environment

If set, the frame follows the text flow and doesn't leaves the layout -- cgit From 9a40f47ebf9f07f5cae092ddd84280c2e21e515f Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Wed, 5 May 2010 13:49:53 +0200 Subject: os141: added XTreeControl::getNodeRect --- offapi/com/sun/star/awt/tree/XTreeControl.idl | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/awt/tree/XTreeControl.idl b/offapi/com/sun/star/awt/tree/XTreeControl.idl index a65b9eece27f..a5341257ba45 100644 --- a/offapi/com/sun/star/awt/tree/XTreeControl.idl +++ b/offapi/com/sun/star/awt/tree/XTreeControl.idl @@ -219,6 +219,17 @@ interface XTreeControl */ XTreeNode getClosestNodeForLocation( [in] long x, [in] long y ); + /** returns the rectangle occupied by the visual representation of the given node + + @param Node + the node whose geometry should be obtained + @throws ::com::sun::star::lang::IllegalArgumentException + if the given node is , or does not belong to the tree's data model + */ + ::com::sun::star::awt::Rectangle + getNodeRect( [in] XTreeNode Node ) + raises( ::com::sun::star::lang::IllegalArgumentException ); + // ------------ // tree editing // ------------ -- cgit From 3edcb9564ce9b11d75f76eff6c2eef7f830803ba Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Thu, 20 May 2010 12:45:50 +0200 Subject: unoawt: UNO API for generic wizards, wrapping around the existing C++ RoadmapWizard --- offapi/com/sun/star/ui/dialogs/Wizard.idl | 75 +++++++++++++++++++ offapi/com/sun/star/ui/dialogs/WizardButton.idl | 53 ++++++++++++++ .../com/sun/star/ui/dialogs/WizardTravelType.idl | 51 +++++++++++++ offapi/com/sun/star/ui/dialogs/XWizard.idl | 72 +++++++++++++++++++ .../com/sun/star/ui/dialogs/XWizardController.idl | 75 +++++++++++++++++++ offapi/com/sun/star/ui/dialogs/XWizardPage.idl | 83 ++++++++++++++++++++++ offapi/com/sun/star/ui/dialogs/makefile.mk | 8 ++- 7 files changed, 416 insertions(+), 1 deletion(-) create mode 100644 offapi/com/sun/star/ui/dialogs/Wizard.idl create mode 100644 offapi/com/sun/star/ui/dialogs/WizardButton.idl create mode 100644 offapi/com/sun/star/ui/dialogs/WizardTravelType.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XWizard.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XWizardController.idl create mode 100644 offapi/com/sun/star/ui/dialogs/XWizardPage.idl (limited to 'offapi/com/sun') 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..36c0f17dedb5 --- /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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_Wizard_idl__ +#define __com_sun_star_ui_dialogs_Wizard_idl__ + +#include +#include + +//================================================================================================================== + +module com { module sun { module star { module ui { module dialogs { + +interface XWizardController; + +//================================================================================================================== + +/** + */ +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..3169adeab95c --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/WizardButton.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 + * + * 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 { + +//================================================================================================================== + +/** + */ +constants WizardButton +{ + const short NEXT = 1; + const short PREVIOUS = 2; + const short FINISH = 3; + const short CANCEL = 4; + 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..9efd822ffe33 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl @@ -0,0 +1,51 @@ +/************************************************************************* + * 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 + * + * 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 { + +//================================================================================================================== + +/** + */ +constants WizardTravelType +{ + const short FORWARD = 1; + const short BACKWARD = 2; + const short FINISH = 3; +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#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..76b4af66ffa1 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XWizard.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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XWizard_idl__ +#define __com_sun_star_ui_dialogs_XWizard_idl__ + +#include + +//================================================================================================================== + +module com { module sun { module star { module ui { module dialogs { + +//================================================================================================================== + +/** + */ +interface XWizard +{ + interface XExecutableDialog; + + void enableButton( [in] short WizardButton, [in] boolean Enable ); + void setDefaultButton( [in] short WizardButton ); + + boolean travelNext(); + boolean travelPrevious(); + + /** updates the wizard elements which are related to traveling. + +

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

+ +

You usually call this method from within a wizard page whose state changed in a way that it affects the + user's ability to reach other pages.

+ */ + void updateTravelUI(); + + boolean advanceTo( [in] short PageId ); + boolean goBackTo( [in] short PageId ); + + short getCurrentPage(); +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#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..e38bcb1a5f1f --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XWizardController.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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XWizardController_idl__ +#define __com_sun_star_ui_dialogs_XWizardController_idl__ + +#include + +//================================================================================================================== + +module com { module sun { module star { module ui { module dialogs { + +interface XWizard; + +//================================================================================================================== + +/** + */ +interface XWizardController +{ + XWizardPage createPage( [in] ::com::sun::star::awt::XWindow ParentWindow, [in] short PageId ); + + string getPageTitle( [in] short PageId ); + + boolean canAdvance(); + + void onActivatePage( [in] short PageId ); + + /** called when the current page is about to be left + +

In opposite to XWizardPage::commitPage, confirmDeactivatePage is intended for checking + conditions which involve more than the state of the currently active page.

+ + @param PageId + the ID of the page which is about to be left. + @param Reason + is one of the WizardTravelType contants denoting the reason why the page is about to be left. + */ + boolean confirmDeactivatePage( [in] short PageId, [in] short Reason ); + + void onDeactivatePage( [in] short PageId ); + + 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..8e0ea1b6be67 --- /dev/null +++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl @@ -0,0 +1,83 @@ +/************************************************************************* + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_ui_dialogs_XWizardPage_idl__ +#define __com_sun_star_ui_dialogs_XWizardPage_idl__ + +#include + +//================================================================================================================== + +module com { module sun { module star { module ui { module dialogs { + +//================================================================================================================== + +/** + */ +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; + + /** called when the page is activated + */ + void activatePage(); + + /** is called when the page is about to be left + +

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

+ +

Note that XWizardPage::commitPage is called before XWizardController::confirmDeactivatePage + gets called.

+ + @param Reason + is one of the WizardTravelType 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 + +

You should base this decision on the state of the page only, not on a global state of the wizard. Usually, + you return here if and only if not all necessary input on the page has been provided by the user, + or the provided input is not valid.

+ +

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

+ */ + boolean canAdvance(); +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/ui/dialogs/makefile.mk b/offapi/com/sun/star/ui/dialogs/makefile.mk index fa11ba35e173..07d762fb0ec6 100644 --- a/offapi/com/sun/star/ui/dialogs/makefile.mk +++ b/offapi/com/sun/star/ui/dialogs/makefile.mk @@ -64,7 +64,13 @@ IDLFILES=\ XControlInformation.idl \ XAsynchronousExecutableDialog.idl \ XDialogClosedListener.idl \ - DialogClosedEvent.idl + DialogClosedEvent.idl \ + XWizard.idl \ + XWizardController.idl \ + Wizard.idl \ + XWizardPage.idl \ + WizardButton.idl \ + WizardTravelType.idl # ------------------------------------------------------------------ -- cgit From d6dd1c27f9ea664978ceb48825b8e8417cc01e61 Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Fri, 21 May 2010 13:17:30 +0200 Subject: unoawt: evolution of the UNO-API for wizards --- offapi/com/sun/star/ui/dialogs/XWizard.idl | 5 ++++- offapi/com/sun/star/ui/dialogs/XWizardPage.idl | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl index 76b4af66ffa1..0d6a92cbd164 100644 --- a/offapi/com/sun/star/ui/dialogs/XWizard.idl +++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl @@ -33,6 +33,8 @@ module com { module sun { module star { module ui { module dialogs { +interface XWizardPage; + //================================================================================================================== /** @@ -60,7 +62,8 @@ interface XWizard boolean advanceTo( [in] short PageId ); boolean goBackTo( [in] short PageId ); - short getCurrentPage(); + XWizardPage + getCurrentPage(); }; //================================================================================================================== diff --git a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl index 8e0ea1b6be67..7c49db499214 100644 --- a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl +++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl @@ -43,6 +43,12 @@ interface XWizardPage : ::com::sun::star::lang::XComponent */ [attribute, readonly] ::com::sun::star::awt::XWindow Window; + /** denotes the ID of the page. + +

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

+ */ + [attribute, readonly] short PageId; + /** called when the page is activated */ void activatePage(); -- cgit From 45a8100e42492335d5423efa2ad512c2ba1dbfca Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Fri, 21 May 2010 15:03:31 +0200 Subject: unoawt: added more functionality to XWizard --- offapi/com/sun/star/ui/dialogs/XWizard.idl | 120 ++++++++++++++++++++- offapi/com/sun/star/util/InvalidStateException.idl | 50 +++++++++ offapi/com/sun/star/util/makefile.mk | 1 + 3 files changed, 166 insertions(+), 5 deletions(-) create mode 100644 offapi/com/sun/star/util/InvalidStateException.idl (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl index 0d6a92cbd164..a3aa93b9cc62 100644 --- a/offapi/com/sun/star/ui/dialogs/XWizard.idl +++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl @@ -28,27 +28,87 @@ #define __com_sun_star_ui_dialogs_XWizard_idl__ #include +#include +#include //================================================================================================================== - module com { module sun { module star { module ui { module dialogs { -interface XWizardPage; - //================================================================================================================== +interface XWizardPage; + /** */ interface XWizard { interface XExecutableDialog; + /** is the help URL of the wizard's main window. + */ + [attribute] string HelpURL; + + /** provides access to the current page of the wizard + */ + XWizardPage + getCurrentPage(); + + /** enables or disables a certain button in the wizard + +

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

+ + @param WizardButton + denotes the button to enable or disable, as one of the WizardButton constants + @param Enable + specifies whether the button should be enabled () or disabled () + */ void enableButton( [in] short WizardButton, [in] boolean Enable ); + + /** sets a button in the wizard as default button + +

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

+ +

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

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

Calling this method is equivalent to the user pressing the Next button in the wizard. Consequently, + the method will fail if in the current state of the wizard, it is not allowed to advance to a next page.

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

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

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

You can use this method when not all pages of your wizard are necessarily needed in all cases. For instance, + assume that your first wizard page contains a check box, which the user can check to enter additional data. + If you place this data on the second page, then you will want to enable this second page if and only if the + checkbox is checked.

+ +

If a page is disabled, it can reached neither by clicking the respective item in the wizard's roadmap, + nor by sequential traveling. Still, the page's item is displayed in the roadmap, though disabled.

+ + @throws ::com::sun::star::container::NoSuchElementException + if there is no page with the given ID + @throws ::com::sun::star::util::InvalidStateException + if the page shall be disabled, but is active currently. + */ + void enablePage( [in] short PageID, [in] boolean Enable ) + raises ( ::com::sun::star::container::NoSuchElementException + , ::com::sun::star::util::InvalidStateException ); + /** updates the wizard elements which are related to traveling.

For instance, the Next button is disabled if the current page's XWizardPage::canAdvance @@ -59,11 +119,61 @@ interface XWizard */ void updateTravelUI(); + /** advances to the given page, if possible. + +

Calling this method is equivalent to the user repeatedly pressing the Next button, until the + given page is reached. Consequently, the method will fail if one of the intermediate pages does not allow + advancing to the next page.

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

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

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

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

+ +

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

+ +

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

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

If , the path will be completely activated, even if it is a conflicting path (i.e. there is another + path which shares the first k states with the to-be-activated path.)

+ +

If , then the new path is checked for conflicts with other paths. If such conflicts exists, the path + is not completely activated, but only up to the point where it does not conflict.

+ +

In this latter case, you need another activatePath method (usually triggered by the user doing some decisions + and entering some data on the reachable pages) before the wizard can actually be finished.

+ +

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

+ + @throws ::com::sun::star::container::NoSuchElementException + if there is no path with the given index + @throws ::com::sun::star::util::InvalidStateException + if the path cannot be activated in the current state of the wizard. + */ + void activatePath( [in] short PathIndex, [in] boolean Final ) + raises ( ::com::sun::star::container::NoSuchElementException + , ::com::sun::star::util::InvalidStateException ); }; //================================================================================================================== diff --git a/offapi/com/sun/star/util/InvalidStateException.idl b/offapi/com/sun/star/util/InvalidStateException.idl new file mode 100644 index 000000000000..7d59abbcbac6 --- /dev/null +++ b/offapi/com/sun/star/util/InvalidStateException.idl @@ -0,0 +1,50 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_util_InvalidStateException_idl__ +#define __com_sun_star_util_InvalidStateException_idl__ + +#include + +//================================================================================================================== + +module com { module sun { module star { module util { + +//================================================================================================================== + +/** is thrown when an object's state does not allow to call requested functionality. + */ +exception InvalidStateException : com::sun::star::uno::Exception +{ +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/util/makefile.mk b/offapi/com/sun/star/util/makefile.mk index 75b5dde890c0..aa0374296ddb 100644 --- a/offapi/com/sun/star/util/makefile.mk +++ b/offapi/com/sun/star/util/makefile.mk @@ -53,6 +53,7 @@ IDLFILES=\ ElementChange.idl \ Endianness.idl \ FileIOException.idl\ + InvalidStateException.idl\ Language.idl\ NumberFormat.idl\ NumberFormatProperties.idl\ -- cgit From 780bcf3625211e970d1b2c3ac610a088fdb02d5e Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Tue, 25 May 2010 13:00:57 +0200 Subject: unoawt: added missing documentation of the new Wizard API --- offapi/com/sun/star/ui/dialogs/Wizard.idl | 2 +- offapi/com/sun/star/ui/dialogs/WizardButton.idl | 7 +++- .../com/sun/star/ui/dialogs/WizardTravelType.idl | 5 ++- offapi/com/sun/star/ui/dialogs/XWizard.idl | 42 ++++++++++++++++++++-- .../com/sun/star/ui/dialogs/XWizardController.idl | 28 +++++++++++++-- offapi/com/sun/star/ui/dialogs/XWizardPage.idl | 2 +- 6 files changed, 77 insertions(+), 9 deletions(-) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/ui/dialogs/Wizard.idl b/offapi/com/sun/star/ui/dialogs/Wizard.idl index 36c0f17dedb5..4e6b13f44ca2 100644 --- a/offapi/com/sun/star/ui/dialogs/Wizard.idl +++ b/offapi/com/sun/star/ui/dialogs/Wizard.idl @@ -38,7 +38,7 @@ interface XWizardController; //================================================================================================================== -/** +/** provides a framework for implementing a wizard dialog. */ service Wizard : XWizard { diff --git a/offapi/com/sun/star/ui/dialogs/WizardButton.idl b/offapi/com/sun/star/ui/dialogs/WizardButton.idl index 3169adeab95c..aeb22910996c 100644 --- a/offapi/com/sun/star/ui/dialogs/WizardButton.idl +++ b/offapi/com/sun/star/ui/dialogs/WizardButton.idl @@ -33,14 +33,19 @@ module com { module sun { module star { module ui { module dialogs { //================================================================================================================== -/** +/** denotes the buttons found in a Wizard */ constants WizardButton { + /// 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; }; diff --git a/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl index 9efd822ffe33..271a006346b7 100644 --- a/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl +++ b/offapi/com/sun/star/ui/dialogs/WizardTravelType.idl @@ -33,12 +33,15 @@ module com { module sun { module star { module ui { module dialogs { //================================================================================================================== -/** +/** denotes ways to leave a Wizard'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; }; diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl index a3aa93b9cc62..d894c85db1fd 100644 --- a/offapi/com/sun/star/ui/dialogs/XWizard.idl +++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl @@ -38,7 +38,45 @@ module com { module sun { module star { module ui { module dialogs { interface XWizardPage; -/** +/** is the main interface implemented by the Wizard services. + +

A wizard is a dialog which guides the user through a number of tasks (usually input of data), which the user can + accomplish either sequentially or out-of-order. For this, a wizard is comprised of a number of tab pages, + each page representing a single step.

+ +

Sequential navigation in a wizard is done via a Next and a Back button. Non-sequential navigation + is done via a roadmap, which is displayed on the left hand side of the wizard dialog, lists all available + steps, and allows jumping to a certain step (where the creator of the wizard can restrict the available steps + depending on the current situation in the wizard, see below).

+ +

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

+ +

In the simplest case, where the wizard supports only one path, all available steps are displayed in the roadmap, + and the user can simply travel through them as desired.

+ +

If the wizard is more complex, and supports multiple paths, things become more complicated. In a given situation + of the wizard, where the user is at step k of the current path, the potential or conflicting + paths are those whose first k steps are the same as in the current path. Obviously, there's at least one + potential path in every situation: the current one. If there is more than one, then the future steps in the dialog + are not finally decided. In such a case, the roadmap will display future steps up to the point where the potential + paths diverge, and then an item ... indicating that the order of steps is undecided.

+ +

An XWizardController can declare a certain path as active path by calling the activatePath + method. Usually, this is done depending on user input. For instance, your wizard could have radio buttons on the + first page which effectively decide about which path to take in the wizard.

+ +

Single steps in the wizard can be freely enabled and disabled, using the enablePage method. + Disabled pages are skipped during sequential traveling, and not selectable in the roadmap.

+ +

The state of the Next button in the dialog will be automatically maintained in most situations, + depending on the results of calls to the XWizardController::canAdvance and XWizardPage::canAdvance + methods. More sophisticated wizard logic, however, will need manual calls to the enableButton method. + Also, the Finish button needs to be maintained by the wizard's controller, too, as it cannot be decided + generically in which situations it should be enabled or disabled.

+ + @see XWizardController + @see XWizardPage */ interface XWizard { @@ -111,7 +149,7 @@ interface XWizard /** updates the wizard elements which are related to traveling. -

For instance, the Next button is disabled if the current page's XWizardPage::canAdvance +

For instance, the Next button is disabled if the current page's XWizardPage::canAdvance method returns .

You usually call this method from within a wizard page whose state changed in a way that it affects the diff --git a/offapi/com/sun/star/ui/dialogs/XWizardController.idl b/offapi/com/sun/star/ui/dialogs/XWizardController.idl index e38bcb1a5f1f..abcec1ce6ef6 100644 --- a/offapi/com/sun/star/ui/dialogs/XWizardController.idl +++ b/offapi/com/sun/star/ui/dialogs/XWizardController.idl @@ -33,20 +33,36 @@ module com { module sun { module star { module ui { module dialogs { -interface XWizard; - //================================================================================================================== -/** +/** is the interface of a client-provided controller of a custom Wizard. */ interface XWizardController { + /** creates a page + +

Wizard pages are created on demand, when the respective page is reached during traveling through the + wizard. Effectively, this means the method is called at most once for each possible page ID.

+ + @param ParentWindow + the parent window to use for the page window + @param PageId + the ID of the page. + @return + the requested page. + */ XWizardPage createPage( [in] ::com::sun::star::awt::XWindow ParentWindow, [in] short PageId ); + /** provides the title of a page given by ID + +

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

+ */ string getPageTitle( [in] short PageId ); boolean canAdvance(); + /** called when a new page in the wizard is being activated + */ void onActivatePage( [in] short PageId ); /** called when the current page is about to be left @@ -61,8 +77,14 @@ interface XWizardController */ boolean confirmDeactivatePage( [in] short PageId, [in] short Reason ); + /** called when a page in the wizard is being deactivated + */ void onDeactivatePage( [in] short PageId ); + /** called when the wizard is about to be finished. + +

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

+ */ boolean confirmFinish(); }; diff --git a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl index 7c49db499214..50f3212e1cf2 100644 --- a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl +++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl @@ -35,7 +35,7 @@ module com { module sun { module star { module ui { module dialogs { //================================================================================================================== -/** +/** is a single page of a Wizard */ interface XWizardPage : ::com::sun::star::lang::XComponent { -- cgit From 9d8f2ac47d5103568d13366ec5ef82477ce659a7 Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Fri, 28 May 2010 15:36:22 +0200 Subject: unoawt: XWizard now has an attribute giving access to the XWindow interface of the dialog's main window --- offapi/com/sun/star/ui/dialogs/XWizard.idl | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl index d894c85db1fd..5de5eaa300a4 100644 --- a/offapi/com/sun/star/ui/dialogs/XWizard.idl +++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl @@ -30,6 +30,7 @@ #include #include #include +#include //================================================================================================================== module com { module sun { module star { module ui { module dialogs { @@ -86,6 +87,9 @@ interface XWizard */ [attribute] string HelpURL; + [attribute, readonly] ::com::sun::star::awt::XWindow + DialogWindow; + /** provides access to the current page of the wizard */ XWizardPage -- cgit From f6c1c0f3626c8212bd1d95a91d8d1f113ce910da Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Tue, 1 Jun 2010 12:50:46 +0200 Subject: unoawt: XWizardController::confirmDeactivatePage is not necessary, /me thinks --- offapi/com/sun/star/ui/dialogs/XWizardController.idl | 12 ------------ offapi/com/sun/star/ui/dialogs/XWizardPage.idl | 3 --- 2 files changed, 15 deletions(-) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/ui/dialogs/XWizardController.idl b/offapi/com/sun/star/ui/dialogs/XWizardController.idl index abcec1ce6ef6..6a51a67360fe 100644 --- a/offapi/com/sun/star/ui/dialogs/XWizardController.idl +++ b/offapi/com/sun/star/ui/dialogs/XWizardController.idl @@ -65,18 +65,6 @@ interface XWizardController */ void onActivatePage( [in] short PageId ); - /** called when the current page is about to be left - -

In opposite to XWizardPage::commitPage, confirmDeactivatePage is intended for checking - conditions which involve more than the state of the currently active page.

- - @param PageId - the ID of the page which is about to be left. - @param Reason - is one of the WizardTravelType contants denoting the reason why the page is about to be left. - */ - boolean confirmDeactivatePage( [in] short PageId, [in] short Reason ); - /** called when a page in the wizard is being deactivated */ void onDeactivatePage( [in] short PageId ); diff --git a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl index 50f3212e1cf2..149f8c14709b 100644 --- a/offapi/com/sun/star/ui/dialogs/XWizardPage.idl +++ b/offapi/com/sun/star/ui/dialogs/XWizardPage.idl @@ -58,9 +58,6 @@ interface XWizardPage : ::com::sun::star::lang::XComponent

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

-

Note that XWizardPage::commitPage is called before XWizardController::confirmDeactivatePage - gets called.

- @param Reason is one of the WizardTravelType contants denoting the reason why the page should be committed. -- cgit From ab54a7404ba383265f8a4dca953bcf4bcfd093b8 Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Tue, 1 Jun 2010 15:03:56 +0200 Subject: unoawt: UNO/SVT wizzards: allow to completely reset the DefaultButton - for pages which have on own default button --- offapi/com/sun/star/ui/dialogs/WizardButton.idl | 2 ++ offapi/com/sun/star/ui/dialogs/XWizard.idl | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/ui/dialogs/WizardButton.idl b/offapi/com/sun/star/ui/dialogs/WizardButton.idl index aeb22910996c..34c0d8074889 100644 --- a/offapi/com/sun/star/ui/dialogs/WizardButton.idl +++ b/offapi/com/sun/star/ui/dialogs/WizardButton.idl @@ -37,6 +37,8 @@ module com { module sun { module star { module ui { module dialogs { */ 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 diff --git a/offapi/com/sun/star/ui/dialogs/XWizard.idl b/offapi/com/sun/star/ui/dialogs/XWizard.idl index 5de5eaa300a4..445f7bbf2a44 100644 --- a/offapi/com/sun/star/ui/dialogs/XWizard.idl +++ b/offapi/com/sun/star/ui/dialogs/XWizard.idl @@ -102,7 +102,8 @@ interface XWizard buttons are unlikely to ever being disabled.

@param WizardButton - denotes the button to enable or disable, as one of the WizardButton constants + denotes the button to enable or disable, as one of the WizardButton constants. Must not be + WizardButton::NONE. @param Enable specifies whether the button should be enabled () or disabled () */ -- cgit From 6a0a47771e909a2afe9f19ad09a960ed2f938149 Mon Sep 17 00:00:00 2001 From: Ingrid Halama Date: Tue, 1 Jun 2010 19:06:06 +0200 Subject: chart47: #i109765# added interface XDrawPageSupplier --- offapi/com/sun/star/chart/ChartDocument.idl | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/chart/ChartDocument.idl b/offapi/com/sun/star/chart/ChartDocument.idl index dd52f2e02ba3..2c5227329778 100644 --- a/offapi/com/sun/star/chart/ChartDocument.idl +++ b/offapi/com/sun/star/chart/ChartDocument.idl @@ -39,9 +39,8 @@ #include #endif -// #ifndef com_sun_star_chart2_data_XDataReceiver_idl -// #include -// #endif +#include + //============================================================================= @@ -73,12 +72,7 @@ published service ChartDocument interface ::com::sun::star::chart::XChartDocument; interface ::com::sun::star::beans::XPropertySet; - /** If this interface is implemented, it is possible to connect - data to a chart via the improved data connection method using - an XDataProvider. - */ - // BM: #i32138# XDataReceiver is not yet published -// [optional] interface ::com::sun::star::chart2::data::XDataReceiver; + [optional] interface ::com::sun::star::drawing::XDrawPageSupplier; //------------------------------------------------------------------------- -- cgit From 68ad260fd44cd87f726f00878b2010edcc2db7b7 Mon Sep 17 00:00:00 2001 From: sj Date: Fri, 4 Jun 2010 21:03:24 +0200 Subject: impress190: #i112086# added support of CustomGeometry --- .../sun/star/drawing/EnhancedCustomShapeHandle.idl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl index 7b3f9a223f39..d5e8420fc32f 100644 --- a/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl +++ b/offapi/com/sun/star/drawing/EnhancedCustomShapeHandle.idl @@ -68,6 +68,26 @@ service EnhancedCustomShapeHandle */ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameterPair Polar; + /** RefX, if this attribute is set, it specifies the index of the adjustment + value which is connected to the horizontal position of the handle + */ + [optional, property] long RefX; + + /** RefY, if this attribute is set, it specifies the index of the adjustment + value which is connected to the vertical position of the handle + */ + [optional, property] long RefY; + + /** RefAngle, if this attribute is set, it specifies the index of the adjustment + value which is connected to the angle of the handle + */ + [optional, property] long RefAngle; + + /** RefR, if this attribute is set, it specifies the index of the adjustment + value which is connected to the radius of the handle + */ + [optional, property] long RefR; + /** If the attribute RangeXMinimum is set, it specifies the horizontal minimum range of the handle. */ [optional, property] ::com::sun::star::drawing::EnhancedCustomShapeParameter RangeXMinimum; -- cgit From 9a4b737c86d9a9eb65611a96b1a4c0562c994885 Mon Sep 17 00:00:00 2001 From: "Frank Schoenheit [fs]" Date: Thu, 17 Jun 2010 18:28:42 +0200 Subject: unoawt2: allow creating dialogs with a parent window --- offapi/com/sun/star/awt/XDialogProvider2.idl | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/awt/XDialogProvider2.idl b/offapi/com/sun/star/awt/XDialogProvider2.idl index 79e4594f65a8..9cd203b7796a 100644 --- a/offapi/com/sun/star/awt/XDialogProvider2.idl +++ b/offapi/com/sun/star/awt/XDialogProvider2.idl @@ -31,6 +31,9 @@ #ifndef __com_sun_star_awt_XDialogProvider_idl__ #include #endif +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include +#endif //============================================================================= @@ -107,6 +110,25 @@ interface XDialogProvider2 : ::com::sun::star::awt::XDialogProvider { com::sun::star::awt::XDialog createDialogWithHandler ( [in] string URL, [in] com::sun::star::uno::XInterface xHandler ) raises ( com::sun::star::lang::IllegalArgumentException ); + + /** creates a dialog for the given URL, accepting additional creation parameters + +

The arguments accepted so far are +

  • ParentWindow - must be a component supporting the XWindowPeer interface, + or a component supporting the XControl interfac, so an XWindowPeer can be + obtained from it. The given window will be used as parent window for the to-be-created dialog.
  • +
  • EventHandler - specifies a component handling events in the dialog. See + createDialogWithHandler for a detailed specification of dialog event handling.
  • +
+

+ */ + + XDialog createDialogWithArguments( + [in] string URL, + [in] sequence< ::com::sun::star::beans::PropertyValue > Arguments + ) + raises ( com::sun::star::lang::IllegalArgumentException + ); }; //============================================================================= -- cgit