From 1c10dd569addb74663a14a590abb3658c39847e5 Mon Sep 17 00:00:00 2001 From: Thomas Lange Date: Wed, 16 Sep 2009 15:26:40 +0000 Subject: #i1601# Sentence case, Title case, and Toggle case transliteration added --- .../sun/star/i18n/TransliterationModulesExtra.idl | 76 ++++++++++++++++++++++ offapi/com/sun/star/i18n/makefile.mk | 1 + 2 files changed, 77 insertions(+) create mode 100644 offapi/com/sun/star/i18n/TransliterationModulesExtra.idl (limited to 'offapi/com/sun/star') diff --git a/offapi/com/sun/star/i18n/TransliterationModulesExtra.idl b/offapi/com/sun/star/i18n/TransliterationModulesExtra.idl new file mode 100644 index 000000000000..17cd0d6a7ba6 --- /dev/null +++ b/offapi/com/sun/star/i18n/TransliterationModulesExtra.idl @@ -0,0 +1,76 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: TransliterationModulesExtra.idl,v $ + * $Revision: 1.0 $ + * + * 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_i18n_TransliterationModulesExtra_idl__ +#define __com_sun_star_i18n_TransliterationModulesExtra_idl__ + +//============================================================================= + +module com { module sun { module star { module i18n { + +//============================================================================= + +/** Extra transliteration module enumeration to use with + XTransliteration::loadModule() + + The values used in this group need to be different from the ones in + TransliterationModules and TransliterationModulesNew! + */ + + +// using a constant group instead of enum leaves room for additional values later on... +constants TransliterationModulesExtra +{ + /** The first character of the sentence is put in upper case + */ + const short SENTENCE_CASE = 200; + + //------------------------------------------------------------------------- + + /** The first character of the word is put in upper case. + * This one is part + */ + const short TITLE_CASE = 201; + + //------------------------------------------------------------------------- + + /** All characters of the word are to change their case from small letters + * to capital letters and vice versa. + */ + const short TOGGLE_CASE = 202; + + //------------------------------------------------------------------------- + + const long END_OF_MODULE = 0; +}; + +//============================================================================= +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/i18n/makefile.mk b/offapi/com/sun/star/i18n/makefile.mk index f9d8b80c29fb..24157932fc26 100644 --- a/offapi/com/sun/star/i18n/makefile.mk +++ b/offapi/com/sun/star/i18n/makefile.mk @@ -98,6 +98,7 @@ IDLFILES=\ Transliteration.idl \ TransliterationModules.idl \ TransliterationModulesNew.idl \ + TransliterationModulesExtra.idl \ TransliterationType.idl \ UnicodeScript.idl \ UnicodeType.idl \ -- cgit v1.2.3 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/star') 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 v1.2.3 From 384419bc10497bd63fefce6da7196dec2e6b232a Mon Sep 17 00:00:00 2001 From: Ingrid Halama Date: Fri, 20 Nov 2009 11:58:22 +0100 Subject: chartpositioning: #i100778# chart positioning excluding labels --- offapi/com/sun/star/chart/Diagram.idl | 9 ++ offapi/com/sun/star/chart/XDiagramPositioning.idl | 106 ++++++++++++++++++++++ offapi/com/sun/star/chart/makefile.mk | 1 + offapi/com/sun/star/chart2/Diagram.idl | 4 + 4 files changed, 120 insertions(+) create mode 100644 offapi/com/sun/star/chart/XDiagramPositioning.idl (limited to 'offapi/com/sun/star') diff --git a/offapi/com/sun/star/chart/Diagram.idl b/offapi/com/sun/star/chart/Diagram.idl index 58b1921454c9..adeff309518c 100644 --- a/offapi/com/sun/star/chart/Diagram.idl +++ b/offapi/com/sun/star/chart/Diagram.idl @@ -34,6 +34,10 @@ #include #endif +#ifndef __com_sun_star_chart_XDiagramPositioning_idl__ +#include +#endif + #ifndef __com_sun_star_beans_XPropertySet_idl__ #include #endif @@ -67,6 +71,11 @@ published service Diagram interface com::sun::star::chart::XDiagram; + /** + @since OOo 3.3 + */ + [optional] interface com::sun::star::chart::XDiagramPositioning; + //------------------------------------------------------------------------- /** If this property is the position is calculated by the application automatically. diff --git a/offapi/com/sun/star/chart/XDiagramPositioning.idl b/offapi/com/sun/star/chart/XDiagramPositioning.idl new file mode 100644 index 000000000000..98dc3dcfb7b4 --- /dev/null +++ b/offapi/com/sun/star/chart/XDiagramPositioning.idl @@ -0,0 +1,106 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XDiagramPositioning.idl,v $ + * $Revision: 1.1 $ + * + * 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_chart_XDiagramPositioning_idl__ +#define __com_sun_star_chart_XDiagramPositioning_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include +#endif +#ifndef __com_sun_star_awt_Rectangle_idl__ +#include +#endif + +//============================================================================= + + module com { module sun { module star { module chart { + +//============================================================================= + +/** allow for different positioning options for a diagram + + @see Diagram + */ +interface XDiagramPositioning : com::sun::star::uno::XInterface +{ + /** the diagram will be placed automtically + */ + void setAutomaticDiagramPositioning(); + + /** @returns whether the diagram is placed automtically + */ + boolean isAutomaticDiagramPositioning(); + + /** place the inner diagram part excluding any axes, labels and titles + @param PositionRect + specifies the position and size in 100/th mm + */ + void setDiagramPositionExcludingAxes( [in] com::sun::star::awt::Rectangle PositionRect ); + + /** @returns true in case the diagram position was set with method setDiagramPositionExcludingAxes + */ + boolean isExcludingDiagramPositioning(); + + /** @returns the position rectangle of the inner diagram part excluding any axes, labels and titles. + Position and size are given in 100/th mm. + It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings. + */ + com::sun::star::awt::Rectangle calculateDiagramPositionExcludingAxes(); + + + /** place the outer diagram part including the axes and axes labels, but excluding the axes titles. + @param PositionRect + specifies the position and size in 100/th mm + */ + void setDiagramPositionIncludingAxes( [in] com::sun::star::awt::Rectangle PositionRect ); + + /** @returns the position rectangle of the diagram including the axes and axes labels, but excluding the axes titles. + Position and size are given in 100/th mm. + It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings. + */ + com::sun::star::awt::Rectangle calculateDiagramPositionIncludingAxes(); + + /** place the diagram including the axes, axes labels and axes titles. + @param PositionRect + specifies the position and size in 100/th mm + */ + void setDiagramPositionIncludingAxesAndAxesTitles( [in] com::sun::star::awt::Rectangle PositionRect ); + + /** @returns the position rectangle of the diagram including the axes, axes labels and axes titles. + Position and size are given in 100/th mm. + It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings. + */ + com::sun::star::awt::Rectangle calculateDiagramPositionIncludingAxesAndAxesTitles(); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/chart/makefile.mk b/offapi/com/sun/star/chart/makefile.mk index 781c78d08177..d18bb0480a8e 100644 --- a/offapi/com/sun/star/chart/makefile.mk +++ b/offapi/com/sun/star/chart/makefile.mk @@ -108,6 +108,7 @@ IDLFILES=\ XChartDataChangeEventListener.idl\ XChartDocument.idl\ XDiagram.idl\ + XDiagramPositioning.idl\ XStatisticDisplay.idl\ XTwoAxisXSupplier.idl\ XTwoAxisYSupplier.idl\ diff --git a/offapi/com/sun/star/chart2/Diagram.idl b/offapi/com/sun/star/chart2/Diagram.idl index 5bff5ff4c97a..7581f0706d5d 100644 --- a/offapi/com/sun/star/chart2/Diagram.idl +++ b/offapi/com/sun/star/chart2/Diagram.idl @@ -81,6 +81,10 @@ service Diagram */ [property] ::com::sun::star::layout::RelativeSize RelativeSize; + /** The attributes RelativePosition and RelativeSize should be used for the inner coordinate region without axis labels and without data labels. + */ + [optional, property] boolean PosSizeExcludeLabels; + /** Sort data points by x values for rendering */ [optional, property] boolean SortByXValues; -- cgit v1.2.3 From 0644d0ecc0f703d0714f96890b575580d3b96f59 Mon Sep 17 00:00:00 2001 From: Daniel Rentz Date: Fri, 8 Jan 2010 14:51:08 +0100 Subject: chartpositioning: #i86609# missing interface in service description --- offapi/com/sun/star/chart/Diagram.idl | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'offapi/com/sun/star') diff --git a/offapi/com/sun/star/chart/Diagram.idl b/offapi/com/sun/star/chart/Diagram.idl index adeff309518c..9ae02c405242 100644 --- a/offapi/com/sun/star/chart/Diagram.idl +++ b/offapi/com/sun/star/chart/Diagram.idl @@ -38,6 +38,10 @@ #include #endif +#ifndef __com_sun_star_chart_XSecondAxisTitleSupplier_idl__ +#include +#endif + #ifndef __com_sun_star_beans_XPropertySet_idl__ #include #endif @@ -71,6 +75,12 @@ published service Diagram interface com::sun::star::chart::XDiagram; + /** Provides access to the titles of the secondary X axis and Y axis. + + @since OOo 3.0 + */ + [optional] interface com::sun::star::chart::XSecondAxisTitleSupplier; + /** @since OOo 3.3 */ -- cgit v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 From 6556a0ea1128ceb83c0eea954ca8aa52cf43ffb7 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Mon, 8 Mar 2010 16:58:31 -0500 Subject: koheiextref01: #i109168# Allow creation of static sheet cache via UNO API for external references. This is to keep the sheet cache 'static' during import of xlsx documents. The same trick is performed during import of xls and ods documents. --- offapi/com/sun/star/sheet/XExternalDocLink.idl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'offapi/com/sun/star') diff --git a/offapi/com/sun/star/sheet/XExternalDocLink.idl b/offapi/com/sun/star/sheet/XExternalDocLink.idl index 19d1f0ff08d7..1a9662dbeed7 100644 --- a/offapi/com/sun/star/sheet/XExternalDocLink.idl +++ b/offapi/com/sun/star/sheet/XExternalDocLink.idl @@ -60,9 +60,16 @@ interface XExternalDocLink @param aSheetName sheet name + @param DynamicCache specify whether or not the cache can grow when + non-cached regions are queried. If , querying a non-cached + cell in this sheet cache will allow Calc to try to access the source + document to fetch the value in first access. If , the source + document will not be accessed, and the non-cached regions are treated + as empty cells. + @return com::sun::star::sheet::XExternalSheetCache sheet cache instance */ - com::sun::star::sheet::XExternalSheetCache addSheetCache( [in] string aSheetName ); + com::sun::star::sheet::XExternalSheetCache addSheetCache( [in] string aSheetName, [in] boolean DynamicCache ); //------------------------------------------------------------------------- -- cgit v1.2.3 From e50db1da8cdc7009328dc4878d16b589310b841a Mon Sep 17 00:00:00 2001 From: Ingrid Halama Date: Wed, 31 Mar 2010 18:43:41 +0200 Subject: chartpositioning: #i98398# treat diagram size without title sizes (correct ODF import/export, correct diagram sizing per mouse, correct API for import) --- offapi/com/sun/star/chart/XDiagramPositioning.idl | 1 + 1 file changed, 1 insertion(+) (limited to 'offapi/com/sun/star') diff --git a/offapi/com/sun/star/chart/XDiagramPositioning.idl b/offapi/com/sun/star/chart/XDiagramPositioning.idl index 98dc3dcfb7b4..9934e2cb9eca 100644 --- a/offapi/com/sun/star/chart/XDiagramPositioning.idl +++ b/offapi/com/sun/star/chart/XDiagramPositioning.idl @@ -87,6 +87,7 @@ interface XDiagramPositioning : com::sun::star::uno::XInterface com::sun::star::awt::Rectangle calculateDiagramPositionIncludingAxes(); /** place the diagram including the axes, axes labels and axes titles. + For the placement the current axis titles are taken into account, so the titles must be initialized properly before this method is called. @param PositionRect specifies the position and size in 100/th mm */ -- cgit v1.2.3 From 4a5ec5c6827b3ebc281b3a2e2ed0b2e542935c48 Mon Sep 17 00:00:00 2001 From: Ingrid Halama Date: Wed, 31 Mar 2010 20:07:14 +0200 Subject: chartpositioning: #i100778# fixed typo --- offapi/com/sun/star/chart/XDiagramPositioning.idl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'offapi/com/sun/star') diff --git a/offapi/com/sun/star/chart/XDiagramPositioning.idl b/offapi/com/sun/star/chart/XDiagramPositioning.idl index 9934e2cb9eca..f64bbef4b641 100644 --- a/offapi/com/sun/star/chart/XDiagramPositioning.idl +++ b/offapi/com/sun/star/chart/XDiagramPositioning.idl @@ -91,13 +91,13 @@ interface XDiagramPositioning : com::sun::star::uno::XInterface @param PositionRect specifies the position and size in 100/th mm */ - void setDiagramPositionIncludingAxesAndAxesTitles( [in] com::sun::star::awt::Rectangle PositionRect ); + void setDiagramPositionIncludingAxesAndAxisTitles( [in] com::sun::star::awt::Rectangle PositionRect ); /** @returns the position rectangle of the diagram including the axes, axes labels and axes titles. Position and size are given in 100/th mm. It might be necessary to calculate the positioning so this method can be expensive and the result may depend on different other settings. */ - com::sun::star::awt::Rectangle calculateDiagramPositionIncludingAxesAndAxesTitles(); + com::sun::star::awt::Rectangle calculateDiagramPositionIncludingAxesAndAxisTitles(); }; //============================================================================= -- cgit v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3 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/star') 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 v1.2.3