diff options
Diffstat (limited to 'offapi/com/sun/star/awt')
43 files changed, 1714 insertions, 402 deletions
diff --git a/offapi/com/sun/star/awt/AnimatedImagesControl.idl b/offapi/com/sun/star/awt/AnimatedImagesControl.idl new file mode 100755 index 000000000000..90f8b3a356e8 --- /dev/null +++ b/offapi/com/sun/star/awt/AnimatedImagesControl.idl @@ -0,0 +1,58 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_awt_AnimatedImagesControl_idl__ +#define __com_sun_star_awt_AnimatedImagesControl_idl__ + +#include <com/sun/star/awt/UnoControl.idl> + +//====================================================================================================================== + +module com { module sun { module star { module awt { + +interface XAnimation; + +//====================================================================================================================== + +/** is the default control used for an <type>AnimatedImagesControlModel</type>, displayed a series of + images. + + @since OOo 3.4 + */ +service AnimatedImagesControl +{ + service com::sun::star::awt::UnoControl; + + interface XAnimation; +}; + +//====================================================================================================================== + +}; }; }; }; + +//====================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/AnimatedImagesControlModel.idl b/offapi/com/sun/star/awt/AnimatedImagesControlModel.idl new file mode 100755 index 000000000000..2bc1260775c9 --- /dev/null +++ b/offapi/com/sun/star/awt/AnimatedImagesControlModel.idl @@ -0,0 +1,57 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_awt_AnimatedImagesControlModel_idl__ +#define __com_sun_star_awt_AnimatedImagesControlModel_idl__ + +#include <com/sun/star/awt/UnoControlModel.idl> + +//====================================================================================================================== + +module com { module sun { module star { module awt { + +interface XAnimatedImages; + +//====================================================================================================================== + +/** describes the model for a control displaying a series of images + + @since OOo 3.4 + */ +service AnimatedImagesControlModel +{ + service com::sun::star::awt::UnoControlModel; + + interface XAnimatedImages; +}; + +//====================================================================================================================== + +}; }; }; }; + +//====================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/SpinningProgressControlModel.idl b/offapi/com/sun/star/awt/SpinningProgressControlModel.idl new file mode 100755 index 000000000000..a75417d41cc3 --- /dev/null +++ b/offapi/com/sun/star/awt/SpinningProgressControlModel.idl @@ -0,0 +1,54 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_awt_SpinningProgressControlModel_idl__ +#define __com_sun_star_awt_SpinningProgressControlModel_idl__ + +#include <com/sun/star/awt/AnimatedImagesControlModel.idl> + +//====================================================================================================================== + +module com { module sun { module star { module awt { + +//====================================================================================================================== + +/** is a specialization of the <type>AnimatedImagesControlModel</type> which provides standard image sets + for displaying a non-procentual progress. + + <p>Three image sets are provided, of size 16x16, 32x32, and 64x64 pixels.</p> + */ +service SpinningProgressControlModel +{ + service AnimatedImagesControlModel; +}; + +//====================================================================================================================== + +}; }; }; }; + +//====================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/UnoControlDialog.idl b/offapi/com/sun/star/awt/UnoControlDialog.idl index 443b0da18563..f2f1be2dc49c 100644 --- a/offapi/com/sun/star/awt/UnoControlDialog.idl +++ b/offapi/com/sun/star/awt/UnoControlDialog.idl @@ -35,8 +35,8 @@ #include <com/sun/star/awt/XTopWindow.idl> #endif -#ifndef __com_sun_star_awt_XDialog_idl__ -#include <com/sun/star/awt/XDialog.idl> +#ifndef __com_sun_star_awt_XDialog2_idl__ +#include <com/sun/star/awt/XDialog2.idl> #endif @@ -54,7 +54,7 @@ published service UnoControlDialog interface com::sun::star::awt::XTopWindow; - interface com::sun::star::awt::XDialog; + interface com::sun::star::awt::XDialog2; }; diff --git a/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl new file mode 100644 index 000000000000..a91065f72d66 --- /dev/null +++ b/offapi/com/sun/star/awt/UnoControlDialogModelProvider.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_awt_UnoControlDialogModelProvider_idl__ +#define __com_sun_star_awt_UnoControlDialogModelProvider_idl__ + +#include <com/sun/star/container/XNameContainer.idl> +#include <com/sun/star/beans/XPropertySet.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + +//============================================================================= + +module com { module sun { module star { module awt { + +//============================================================================= + +/** specifies a service to load a dialog model and allows to access the control models inside + + @since OOo 3.3.0 + */ +service UnoControlDialogModelProvider : com::sun::star::container::XNameContainer +{ + /** Creates a new dialog model + */ + create([in] string URL)raises ( com::sun::star::lang::IllegalArgumentException ); +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl b/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl index cf45f0aea0f0..b00ec8740521 100644..100755 --- a/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl +++ b/offapi/com/sun/star/awt/UnoControlSimpleAnimation.idl @@ -42,17 +42,14 @@ //============================================================================= -/** specifies a simple animation control. - - <p>The model of an <type>UnoControlSimpleAnimation</type> control must support - the <type>UnoControlSimpleAnimationModel</type> service.</p> - +/** @since OOo 2.2 + @deprecated + You should use <type>AnimatedImagesControl</type>. */ published service UnoControlSimpleAnimation { service com::sun::star::awt::UnoControl; - interface com::sun::star::awt::XSimpleAnimation; }; diff --git a/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl b/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl index ca301483263f..1f96099fee63 100644..100755 --- a/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl +++ b/offapi/com/sun/star/awt/UnoControlSimpleAnimationModel.idl @@ -38,36 +38,16 @@ //============================================================================= -/** specifies the standard model of an <type>UnoControlSimpleAnimation</type>. - - <p>The simple animation control displays a sequence of images.</p> - - <p> </p> - - @see UnoControlScrollBarModel +/** @since OOo 2.2 + @deprecated + You should use <type>AnimatedImagesControlModel</type>. */ published service UnoControlSimpleAnimationModel { service com::sun::star::awt::UnoControlModel; - - //------------------------------------------------------------------------- - - /** specifies the time in milliseconds between two animation steps. - - <pre>This is the minimum time, the actual value might be longer due to - system load. The default value will be 100 ms.</pre> - */ [property] long StepTime; - - //------------------------------------------------------------------------- - - /** specifies whether the animation will restart again after displaying the last - image. - - <p>The default is FALSE.</p> - */ [property] boolean AutoRepeat; }; diff --git a/offapi/com/sun/star/awt/UnoControlThrobber.idl b/offapi/com/sun/star/awt/UnoControlThrobber.idl index f5194075019a..85b5d8b850f7 100644 --- a/offapi/com/sun/star/awt/UnoControlThrobber.idl +++ b/offapi/com/sun/star/awt/UnoControlThrobber.idl @@ -42,17 +42,14 @@ //============================================================================= -/** specifies a simple animation control. - - <p>The model of an <type>UnoControlThrobber</type> control must support - the <type>UnoControlThrobberModel</type> service.</p> - +/** @since OOo 2.2 + @deprecatd + You should use <type>AnimatedImagesControl</type>. */ published service UnoControlThrobber { service com::sun::star::awt::UnoControl; - interface com::sun::star::awt::XThrobber; }; diff --git a/offapi/com/sun/star/awt/UnoControlThrobberModel.idl b/offapi/com/sun/star/awt/UnoControlThrobberModel.idl index f2eacad5b76b..060ff105c119 100644 --- a/offapi/com/sun/star/awt/UnoControlThrobberModel.idl +++ b/offapi/com/sun/star/awt/UnoControlThrobberModel.idl @@ -38,14 +38,10 @@ //============================================================================= -/** specifies the standard model of an <type>UnoControlThrobber</type>. - - <p>The simple animation control displays a sequence of images.</p> - - <p> </p> - - @see UnoControlScrollBarModel +/** @since OOo 2.2 + @deprecatd + You should use <type>SpinningAnimationControlModel</type>. */ published service UnoControlThrobberModel diff --git a/offapi/com/sun/star/awt/XAnimatedImages.idl b/offapi/com/sun/star/awt/XAnimatedImages.idl new file mode 100755 index 000000000000..a03d08c965f1 --- /dev/null +++ b/offapi/com/sun/star/awt/XAnimatedImages.idl @@ -0,0 +1,176 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_awt_XAnimatedImages_idl__ +#define __com_sun_star_awt_XAnimatedImages_idl__ + +#include <com/sun/star/container/XContainerListener.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#include <com/sun/star/container/XContainer.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + +//====================================================================================================================== + +module com { module sun { module star { module awt { + +//====================================================================================================================== + +/** allows administrating a set of images, to be displayed as animated seres. + + <p>Components implementing this interface maintain a variable number of image sets. Components displaying + those images will choose the best-fitting image set depending on the available space, and possibly other + restrictions.</p> + + @since OOo 3.4 + */ +interface XAnimatedImages +{ + /** specifies the time in milliseconds between two animation steps. + + <p>This is the minimum time, the actual value might be longer due to + system load. The default value will be 100 ms.</p> + */ + [attribute] long StepTime; + + /** specifies whether the animation should start over with the first image of the image series when the last image + has been played. + + <p>The default value for this attribute is <TRUE/>.</p> + */ + [attribute] boolean AutoRepeat; + + /** controls the way the images are scaled up or down, when the available space is larger or smaller + than what is needed for them. + + <p>Allowed values are those from the <type>ImageScaleMode</type> constants group.</p> + */ + [attribute] short ScaleMode + { + set raises (::com::sun::star::lang::IllegalArgumentException); + }; + + /** returns the number of images sets maintained by the component. + */ + long + getImageSetCount(); + + /** returns the URLs of the image set with the given index + + @param i_index + the index of the set those image URLs are to be retrieved. Must be greater than or equal to <code>0</code>, + and smaller than the value returned by <member>getImageSetCount</member>. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if the <code>i_index</code> is not a valid index. + */ + sequence< string > + getImageSet + ( + [in] long i_index + ) + raises + ( + ::com::sun::star::lang::IndexOutOfBoundsException + ); + + /** sets the URLs of the image set with the given index + + @param i_index + the index at which a new image set should be inserted. Must be greater than or equal to <code>0</code>, + and smaller than or equal to the value returned by <member>getImageSetCount</member>. + @param i_imageURLs + the URLs for the images for the given set. Will be resolved using a <type scope="com::sun::star::graphic">GraphicProvider</type>. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if the <code>i_index</code> is not a valid index. + */ + void + insertImageSet + ( + [in] long i_index, + [in] sequence< string > i_imageURLs + ) + raises + ( + ::com::sun::star::lang::IndexOutOfBoundsException + ); + + /** replaces the image set given by index with a new one + + @param i_index + the index of the set those image URLs are to be replaced. Must be greater than or equal to <code>0</code>, + and smaller than the value returned by <member>getImageSetCount</member>. + + @param i_imageURLs + the URLs for the images for the given set. Will be resolved using a <type scope="com::sun::star::graphic">GraphicProvider</type>. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if the <code>i_index</code> is not a valid index. + */ + void + replaceImageSet + ( + [in] long i_index, + [in] sequence< string > i_imageURLs + ) + raises + ( + ::com::sun::star::lang::IndexOutOfBoundsException + ); + + + /** removes the image set with the given index + + @param i_index + the index of the set to remove. Must be greater than or equal to <code>0</code>, + and smaller than the value returned by <member>getImageSetCount</member>. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if the <code>i_index</code> is not a valid index. + */ + void + removeImageSet + ( + [in] long i_index + ) + raises + ( + ::com::sun::star::lang::IndexOutOfBoundsException + ); + + + /** allows other components to observer the insertion, removal, and replacement of image sets + */ + interface ::com::sun::star::container::XContainer; +}; + +//====================================================================================================================== + +}; }; }; }; + +//====================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/XAnimation.idl b/offapi/com/sun/star/awt/XAnimation.idl new file mode 100755 index 000000000000..e1e8f6023a7d --- /dev/null +++ b/offapi/com/sun/star/awt/XAnimation.idl @@ -0,0 +1,63 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_awt_XAnimation_idl__ +#define __com_sun_star_awt_XAnimation_idl__ + +#include <com/sun/star/uno/XInterface.idl> + +//====================================================================================================================== + +module com { module sun { module star { module awt { + +//====================================================================================================================== + +/** allows controlling an animation. + + @since OOo 3.4 + */ +interface XAnimation +{ + /** starts the animation + */ + void startAnimation(); + + /** stops the animation + */ + void stopAnimation(); + + /** determines whether the animation is currently running + */ + boolean isAnimationRunning(); +}; + +//====================================================================================================================== + +}; }; }; }; + +//====================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/XDialog2.idl b/offapi/com/sun/star/awt/XDialog2.idl index cd42d792cd0a..e937dea9bb24 100644 --- a/offapi/com/sun/star/awt/XDialog2.idl +++ b/offapi/com/sun/star/awt/XDialog2.idl @@ -16,7 +16,7 @@ module com { module sun { module star { module awt { @since OOo 3.0 */ -interface XDialog2: com::sun::star::awt::XDialog +published interface XDialog2: com::sun::star::awt::XDialog { /** hides the dialog and then causes <member>XDialog::execute</member> to return with the given result value. @@ -25,7 +25,7 @@ interface XDialog2: com::sun::star::awt::XDialog /** sets the help id so that the standard help button action will show the appropriate help page. */ - void setHelpId ( [in] long Id ); + void setHelpId ( [in] string Id ); }; //============================================================================= diff --git a/offapi/com/sun/star/awt/XSimpleAnimation.idl b/offapi/com/sun/star/awt/XSimpleAnimation.idl index 1cfd758590b9..bff9eeeb5a90 100644..100755 --- a/offapi/com/sun/star/awt/XSimpleAnimation.idl +++ b/offapi/com/sun/star/awt/XSimpleAnimation.idl @@ -41,28 +41,15 @@ //============================================================================= -/** Controls the animation control. +/** + @deprecated + You should use <type>XAnimation</type>, <type>AnimatedImagesControl</type>, and <type>AnimatedImagesControlModel</type>. */ published interface XSimpleAnimation: com::sun::star::uno::XInterface { - //------------------------------------------------------------------------- - - /** starts the animation of the control. - */ void start(); - - //------------------------------------------------------------------------- - - /** stops the animation of the control. - */ void stop(); - - //------------------------------------------------------------------------- - - /** The list of images to be displayed. - */ void setImageList( [in] sequence < com::sun::star::graphic::XGraphic > ImageList ); - }; //============================================================================= diff --git a/offapi/com/sun/star/awt/XThrobber.idl b/offapi/com/sun/star/awt/XThrobber.idl index 0a4ac133524a..04dc6887cbe9 100644 --- a/offapi/com/sun/star/awt/XThrobber.idl +++ b/offapi/com/sun/star/awt/XThrobber.idl @@ -41,20 +41,13 @@ //============================================================================= -/** Controls the animation control. +/** + @deprecatd + You should use <type>XAnimation</type>, <type>AnimatedImagesControl</type>, and <type>AnimatedImagesControlModel</type>. */ published interface XThrobber: com::sun::star::uno::XInterface { - //------------------------------------------------------------------------- - - /** starts the animation of the control. - */ void start(); - - //------------------------------------------------------------------------- - - /** stops the animation of the control. - */ void stop(); }; diff --git a/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl b/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl index c487afc79b49..8c2726f42851 100644 --- a/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl +++ b/offapi/com/sun/star/awt/grid/DefaultGridDataModel.idl @@ -27,9 +27,7 @@ #ifndef __com_sun_star_awt_DefaultGridDataModel_idl__ #define __com_sun_star_awt_DefaultGridDataModel_idl__ -#ifndef __com_sun_star_awt_grid_XGridDataModel_idl__ -#include <com/sun/star/awt/grid/XGridDataModel.idl> -#endif +#include <com/sun/star/awt/grid/XMutableGridDataModel.idl> //============================================================================= @@ -39,12 +37,15 @@ /** If you do not want to implement the <type>XGridDataModel</type> yourself, use this service. + <p>The <code>DefaultGridDataModel</code> implementation is a dumb container of tabular data. You can add + and remove rows, modify cell values, and the like.</p> + + <p>The implementation will implicitly increase its column count if you add a row which has more values than + the current column count.</p> + @since OOo 3.3.0 */ -service DefaultGridDataModel -{ - interface com::sun::star::awt::grid::XGridDataModel; -}; +service DefaultGridDataModel : ::com::sun::star::awt::grid::XMutableGridDataModel; //============================================================================= diff --git a/offapi/com/sun/star/awt/grid/GridColumnEvent.idl b/offapi/com/sun/star/awt/grid/GridColumnEvent.idl index caab721185a5..4ab6e71caf51 100644 --- a/offapi/com/sun/star/awt/grid/GridColumnEvent.idl +++ b/offapi/com/sun/star/awt/grid/GridColumnEvent.idl @@ -42,17 +42,17 @@ module com { module sun { module star { module awt { module grid { */ struct GridColumnEvent: com::sun::star::lang::EventObject { - /** Contains the property name of the changed value **/ - string valueName; + /** Contains the name of the attributes whose value changed. **/ + string AttributeName; /** Contains the old value **/ - any oldValue; + any OldValue; /** Contains the new value **/ - any newValue; + any NewValue; /** Contains the index of the changed column**/ - long index; + long ColumnIndex; //------------------------------------------------------------------------- }; diff --git a/offapi/com/sun/star/awt/grid/GridDataEvent.idl b/offapi/com/sun/star/awt/grid/GridDataEvent.idl index 7762892fadea..3ac05f0ec1ae 100644 --- a/offapi/com/sun/star/awt/grid/GridDataEvent.idl +++ b/offapi/com/sun/star/awt/grid/GridDataEvent.idl @@ -35,40 +35,39 @@ module com { module sun { module star { module awt { module grid { //============================================================================= -/** An event used by a <type>XGridDataModel</type> to notify changes in the data - model to the <type>XGridControl</type>. - You usually need to fill this event only if you implement the <type>XGridDataModel</type> - yourself. +/** used to notify changes in the data represented by an <type>XMutableGridDataModel</type>. - @see XGridDataModel - @see XGridControl + <p>Effectively, a <code>GridDataEvent</code> denotes a continuous two-dimensional cell range + within a grid's data model, which is affected by a certain change.</p> + + @see XMutableGridDataModel @see XGridDataListener @since OOo 3.3.0 */ struct GridDataEvent: com::sun::star::lang::EventObject { - //------------------------------------------------------------------------- - - /** Contains the property name of the changed value **/ - string valueName; - - /** Contains the old value **/ - any oldValue; - - /** Contains the new value **/ - any newValue; + /** denotes the first column affected by a change. - /** Contains the index of the changed row**/ - long index; + <p>If <code>FirstColumn</code> is -1, the listener should assume that all rows of a grid's data model + are affected.</p> + */ + long FirstColumn; - /** Contains the header name of the changed row**/ - string headerName; + /** denotes the last column affected by a change + */ + long LastColumn; - /** Contains the changed row**/ - sequence<any> rowData; + /** denotes the first row affected by a change. + <p>If <code>FirstRow</code> is -1, the listener should assume that all rows of a grid's data model + are affected.</p> + */ + long FirstRow; + /** denotes the last row affected by a change + */ + long LastRow; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/grid/SortableGridDataModel.idl b/offapi/com/sun/star/awt/grid/SortableGridDataModel.idl new file mode 100755 index 000000000000..2b7aca1ca9f9 --- /dev/null +++ b/offapi/com/sun/star/awt/grid/SortableGridDataModel.idl @@ -0,0 +1,102 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_awt_grid_SortableGridDataModel_idl__ +#define __com_sun_star_awt_grid_SortableGridDataModel_idl__ + +#include <com/sun/star/i18n/XCollator.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> + +//================================================================================================================== + +module com { module sun { module star { module awt { module grid { + +interface XSortableMutableGridDataModel; +interface XMutableGridDataModel; + +//================================================================================================================== + +/** provides a default implementation of a <type>XSortableGridData</type>. + + <p>This service must be created with a secondary grid data model, which all actual data requests are delegated to. + But before providing this data to the service's own clients, it is sorted, according to the sort order defined + via the <code>XSortableGridData</code> interface.</p> + + <p>The service implementation is able to compare the default scalar types, plus strings.</p> + + <p>For determining the data type of a column which the data should be sorted by, the first non-<VOID/> data encountered + in this column is taken into account. Further read requests to this column will assume that all non-<VOID/> data is of + the same type.</p> + + <p>Consequently, you cannot use this service with data sets containing heterogenous data in a given column.</p> + + <p>All requests made via the <type>XMutableGridDataModel</type> are delegated to the <code>XMutableGridDataModel</code> + instance passed in the service constructor.</p> + + <p>Note that changing the data might result in the sort order being destroyed. If you want to ensure + that the data represented by the model is still sorted after your modifications, you should call + <member>XSortableGridData::sortByColumn</member>, again.</p> + */ +service SortableGridDataModel : XSortableMutableGridDataModel +{ + /** creates a new instance of the <code>SortableGridDataModel</code> + + <p>For string comparison, a default <type scope="::com::sun::star::i18n">Collator</type>, based on the system's + locale, will be used.</p> + + @param DelegatorModel + the data model to which read requests are delegated. + @throws ::com::sun::star::lang::IllegalArgumentException + if the given <code>DelegatorModel</code> is <NULL/> + */ + create( + [in] XMutableGridDataModel DelegatorModel + ) + raises ( ::com::sun::star::lang::IllegalArgumentException ); + + /** creates a new instance of the ScortableDefaultGridDataModel, passing a collator to be used for string comparison. + + @param DelegatorModel + is the data model to which read requests are delegated + @param Collator + is the collator to be used for string comparison + @throws ::com::sun::star::lang::IllegalArgumentException + if the given <code>DelegatorModel</code> is <NULL/> + */ + createWithCollator( + [in] XMutableGridDataModel DelegatorModel, + [in] ::com::sun::star::i18n::XCollator Collator + ) + raises ( ::com::sun::star::lang::IllegalArgumentException ); +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl index 7eea49624045..a348d4b3e23c 100644 --- a/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl +++ b/offapi/com/sun/star/awt/grid/UnoControlGridModel.idl @@ -28,19 +28,11 @@ #define __com_sun_star_awt_grid_UnoControlGridModel_idl__ #include <com/sun/star/awt/grid/XGridColumnModel.idl> - #include <com/sun/star/awt/grid/XGridDataModel.idl> - -#include <com/sun/star/awt/grid/ScrollBarMode.idl> - #include <com/sun/star/awt/UnoControlModel.idl> - #include <com/sun/star/view/SelectionType.idl> - #include <com/sun/star/awt/FontDescriptor.idl> - #include <com/sun/star/style/VerticalAlignment.idl> - #include <com/sun/star/util/Color.idl> //============================================================================= @@ -49,7 +41,7 @@ module com { module sun { module star { module awt { module grid { //============================================================================= -/** specifies the standard model of a <type>UnoControlGridModel</type>. +/** specifies the standard model of a <type>UnoControlGrid</type> control. @since OOo 3.3.0 */ @@ -59,19 +51,51 @@ service UnoControlGridModel service com::sun::star::awt::UnoControlModel; /** Specifies whether the grid control should display a special header column. - <p>The default value is <FALSE/></p> + + <p>The default value is <FALSE/></p> */ [property] boolean ShowRowHeader; + /** specifies the width of the row header column, if applicable. + + <p>The width is specified in application font units - see <type scope="com::sun::star::util">MeasureUnit</type>.</p> + + <p>The value given here is ignored if <member>ShowRowHeader</member> is <FALSE/>.</p> + */ + [property] long RowHeaderWidth; + /** Specifies whether the grid control should display a title row. - <p>The default value is <TRUE/></p> + + <p>The default value is <TRUE/></p> */ [property] boolean ShowColumnHeader; + /** specifies the height of the column header row, if applicable. + + <p>The height is specified in application font units - see <type scope="com::sun::star::util">MeasureUnit</type>.</p> + + <p>The value given here is ignored if <member>ShowColumnHeader</member> is <FALSE/>.</p> + + <p>If the property is <void/>, the grid control shall automatically determine a height which conveniently allows, + according to the used font, to display one line of text.</p> + */ + [property, maybevoid] long ColumnHeaderHeight; + + /** Specifies the height of rows in the grid control. + + <p>The height is specified in application font units - see <type scope="com::sun::star::util">MeasureUnit</type>.</p> + */ + [property, maybevoid] long RowHeight; + /** Specifies the <type>XGridColumnModel</type> that is providing the column structure. <p>You can implement your own instance of <type>XGridColumnModel</type> or use the <type>DefaultGridColumnModel</type>. + + <p>The column model is in the ownership of the grid model: When you set a new column model, or dispose + the grid model, then the (old) column model is disposed, too.</p> + + <p>The default for this property is an empty instance of the <type>DefaultGridColumnModel</type>.</p> */ [property] XGridColumnModel ColumnModel; @@ -79,8 +103,13 @@ service UnoControlGridModel <p>You can implement your own instance of <type>XGridDataModel</type> or use the <type>DefaultGridDataModel</type>. + + <p>The data model is in the ownership of the grid model: When you set a new data model, or dispose + the grid model, then the (old) data model is disposed, too.</p> + + <p>The default for this property is an empty instance of the <type>DefaultGridDataModel</type>.</p> */ - [property] XGridDataModel DataModel; + [property] XGridDataModel GridDataModel; /** Specifies the vertical scrollbar mode. <p>The default value is <FALSE/></p> @@ -101,26 +130,48 @@ service UnoControlGridModel */ [property] ::com::sun::star::view::SelectionType SelectionModel; - /** Specifies the background color of rows. If color for even rows is set, then specifies - the color of odd rows. Default value is white. + /** controls whether or not to paint horizontal and vertical lines between the grid cells. + + @see LineColor */ - [property] ::com::sun::star::util::Color RowBackgroundColor; + [property] boolean UseGridLines; + + /** specifies the color to be used when drawing lines between cells - /** Specifies the background color of even rows. Default value is white. + <p>If this property has a value of <VOID/>, the grid control renderer will use some default color, + depending on the system's style settings.</p> + + @see UseGridLines */ - [property] ::com::sun::star::util::Color EvenRowBackgroundColor; + [property, maybevoid] ::com::sun::star::util::Color GridLineColor; + + /** specifies the color to be used when drawing the background of row or column headers - /** Specifies the background color of header. Default value is white. + <p>If this property has a value of <VOID/>, the grid control renderer will use some default color, + depending on the system's style settings.</p> */ - [property] ::com::sun::star::util::Color HeaderBackgroundColor; + [property, maybevoid] ::com::sun::star::util::Color HeaderBackgroundColor; - /** Specifies the text color. Default value is black. + /** specifies the color to be used when drawing the text within row or column headers + + <p>If this property has a value of <VOID/>, the grid control renderer will use some default color, + depending on the system's style settings.</p> */ - [property] ::com::sun::star::util::Color TextColor; + [property, maybevoid] ::com::sun::star::util::Color HeaderTextColor; + + /** specifies the colors to be used as background for data rows. + + <p>If this sequence is non-empty, the data rows will be rendered with alternating background colors: Assuming + the sequence has <code>n</code> elements, each row will use the background color as specified by its number's + remainder modulo <code>n</code>.</p> - /** Specifies the line color. Default value is white. + <p>If this sequence is empty, all rows will use the same background color as the control as whole.</p> + + <p>If this property does not exist at a particular implementation, or is <VOID/>, rows will be painted + in alternating background colors, every second row having a background color derived from the control's + selection color.</p> */ - [property] ::com::sun::star::util::Color LineColor; + [property, maybevoid] sequence< ::com::sun::star::util::Color > RowBackgroundColors; /** specifies the vertical alignment of the content in the control. @@ -136,6 +187,20 @@ service UnoControlGridModel */ [property] com::sun::star::awt::FontDescriptor FontDescriptor; + /** specifies the color to be used when drawing cell texts + + <p>If this property has a value of <VOID/>, the grid control renderer will use some default color, + depending on the system's style settings.</p> + */ + [property, maybevoid] ::com::sun::star::util::Color TextColor; + + /** specifies the color to be used when drawing text lines (underlining and strikethrough) + + <p>If this property has a value of <VOID/>, the grid control renderer will use some default color, + depending on the system's style settings.</p> + */ + [property, maybevoid] com::sun::star::util::Color TextLineColor; + /** specifies the <type scope="com::sun::star::text">FontEmphasis</type> value of the text in the control. */ diff --git a/offapi/com/sun/star/awt/grid/XGridColumn.idl b/offapi/com/sun/star/awt/grid/XGridColumn.idl index 4c340eb90e7e..46e651e60fa4 100644 --- a/offapi/com/sun/star/awt/grid/XGridColumn.idl +++ b/offapi/com/sun/star/awt/grid/XGridColumn.idl @@ -27,12 +27,11 @@ #ifndef __com_sun_star_awt_grid_XGridColumn_idl__ #define __com_sun_star_awt_grid_XGridColumn_idl__ -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif +#include <com/sun/star/lang/XComponent.idl> #include <com/sun/star/style/HorizontalAlignment.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> #include <com/sun/star/awt/grid/XGridColumnListener.idl> - +#include <com/sun/star/util/XCloneable.idl> //============================================================================= @@ -45,42 +44,96 @@ module com { module sun { module star { module awt { module grid { */ interface XGridColumn { - /** Specifies the identifier of the column.**/ + /** implements life time control for the component + */ + interface ::com::sun::star::lang::XComponent; + + /** allows cloning the complete grid column + */ + interface ::com::sun::star::util::XCloneable; + + /** specifies an identifier of the column + + <p>This identifier will not be evaluated by the grid control, or its model. It is merely for clients + to identify particular columns.</p> + */ [attribute] any Identifier; - /** Specifies the default column width. **/ + /** specifies the current width of the column. + */ [attribute] long ColumnWidth; - /** Specifies the preferred column width. **/ - [attribute] long PreferredWidth; - - /** Specifies the min column width. **/ + /** specifies the minimal width the column can have. + */ [attribute] long MinWidth; - /** Specifies the max column width. **/ + /** specifies the maximal width the column can have. + */ [attribute] long MaxWidth; - /** Specifies whether column has fixed size or not. **/ + /** controls whether or not the column's width is fixed or not. + + <p>If this is <TRUE/>, the user can interactively change the column's width. Also, the column is subject to + auto-resizing, if its <member>Flexibility</member> attribute is greater <code>0</code>.</p> + */ [attribute] boolean Resizeable; - /** Specifies the horizontal alignment of the content in the control. + /** specifies the flexibility of the column when it is automatically resized due to the grid control as a whole + being resized. + + <p>Specify <code>0</code> here if you do not want the column to be resized automatically.</p> + + <p>If a column has a flexibility greater than 0, it is set in relationship to the flexibility of all + other such columns, and the respective widths of the columns are changed in the same relationship.</p> + + <p>Note that a column's flexibility is ignored if its <member>Resizeable</member> attribute is + <FALSE/>.</p> - <pre> - LEFT - CENTER - RIGHT - </pre> + <p>A column's flexibility cannot be negative, attempts to set a negative value will raise an exception.</p> + */ + [attribute] long Flexibility + { + set raises ( ::com::sun::star::lang::IllegalArgumentException ); + }; + + /** Specifies the horizontal alignment of the content in the control. */ [attribute] ::com::sun::star::style::HorizontalAlignment HorizontalAlign; /** A title is displayed in the column header row if <method>UnoControlGridModel::ShowRowHeader</method> is set to <true/>**/ [attribute] string Title; + /** is the help text associated with the column. + + <p>A grid control will usually display a column's help text as tooltip.</p> + */ + [attribute] string HelpText; + + /** denotes the index of the column within the grid column model it belongs to + + <p>If the column is not yet part of a column model, <code>Index</code> is -1.</p> + */ + [attribute, readonly] long Index; + + /** denotes the index of the data column which should be used to fetch this grid column's data + + <p>A grid control has a column model and a data model, both containing a possibly different number of columns. + The <code>DataColumnIndex</code> attribute defines the index of the column within the data model, which should + be used to retrieve actual data.</p> + + <p>Using this, you can do runtime changes to the column model, i.e. insertion and removal of columns, without + necessarily needing to adjust the data model, too.</p> + + <p>If <code>DataColumnIndex</code> is negative, the it will be ignored, then the column's index within its + column model, as determined by the <member>Index</member> attribute, will be used.</p> + */ + [attribute] long DataColumnIndex; + /** Adds a listener for the <type>GridColumnEvent</type> posted after the grid changes. @param Listener the listener to add. */ - [oneway] void addColumnListener( [in] XGridColumnListener listener); + void addGridColumnListener( [in] XGridColumnListener listener); //------------------------------------------------------------------------- @@ -88,20 +141,7 @@ interface XGridColumn @param Listener the listener to remove. */ - [oneway] void removeColumnListener( [in] XGridColumnListener listener); - - /**Updates changed column widths, when column widths are being resized. - @param name - can be PrefWidth or ColWidth, depending on which was changed - @param width - the new column width - */ - void updateColumn( [in] string name, [in] long width); - /**Sets column index - @param index - index, which is the index of the column in the column array of the column model - */ - void setIndex( [in] long index ); + void removeGridColumnListener( [in] XGridColumnListener listener); }; //============================================================================= diff --git a/offapi/com/sun/star/awt/grid/XGridColumnListener.idl b/offapi/com/sun/star/awt/grid/XGridColumnListener.idl index 8a2d044f33d5..9a8a02eca8f2 100644 --- a/offapi/com/sun/star/awt/grid/XGridColumnListener.idl +++ b/offapi/com/sun/star/awt/grid/XGridColumnListener.idl @@ -27,13 +27,8 @@ #ifndef __com_sun_star_awt_grid_XGridColumnListener_idl__ #define __com_sun_star_awt_grid_XGridColumnListener_idl__ -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif - -#ifndef __com_sun_star_awt_grid_GridColumnEvent_idl__ #include <com/sun/star/awt/grid/GridColumnEvent.idl> -#endif +#include <com/sun/star/lang/XEventListener.idl> //============================================================================= @@ -44,25 +39,11 @@ module com { module sun { module star { module awt { module grid { /** An instance of this interface is used by the <type>XGridColumnModel</type> to get notifications about column model changes. - <p>Usually you must not implement this interface yourself, but you must notify it correctly if - you implement the <type>XGridColumnModel</type> yourself</p>. - @since OOo 3.3.0 */ -interface XGridColumnListener +interface XGridColumnListener : ::com::sun::star::lang::XEventListener { - // /** - // Invoked after a column was added to the column model. - //*/ - //void columnAdded( [in] GridColumnEvent event ); - // - // /** - // Invoked after a column was removed from the column model. - //*/ - //void columnRemoved( [in] GridColumnEvent event ); - - /** - Invoked after a column was modified. + /** Invoked after a column was modified. */ void columnChanged( [in] GridColumnEvent event ); }; diff --git a/offapi/com/sun/star/awt/grid/XGridColumnModel.idl b/offapi/com/sun/star/awt/grid/XGridColumnModel.idl index 86e77680cd95..257f597fc7d2 100644 --- a/offapi/com/sun/star/awt/grid/XGridColumnModel.idl +++ b/offapi/com/sun/star/awt/grid/XGridColumnModel.idl @@ -28,10 +28,13 @@ #define __com_sun_star_awt_grid_XGridColumnModel_idl__ #include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/util/XCloneable.idl> #include <com/sun/star/awt/grid/XGridColumn.idl> - -#include <com/sun/star/awt/grid/XGridColumnListener.idl> +#include <com/sun/star/container/XContainer.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> //============================================================================= @@ -48,37 +51,64 @@ module com { module sun { module star { module awt { module grid { */ interface XGridColumnModel { - ///** Specifies whether column selection is allowed - //*/ - //[attribute] boolean ColumnSelectionAllowed; + /** implements life time control for the component + */ + interface ::com::sun::star::lang::XComponent; + + /** allows to register listeners to be notified when columns are inserted or removed + */ + interface ::com::sun::star::container::XContainer; - /**Specifies the height of column header. + /** allows cloning the complete column model */ - [attribute] long ColumnHeaderHeight; + interface ::com::sun::star::util::XCloneable; /** Returns the number of columns. + @returns the number of columns. */ long getColumnCount(); + /** creates a new column for use with the column model. + + <p>The newly created column is not yet inserted into the column container, you need to call <member>addColumn</member> + after you initialized the column object.</p> + */ + XGridColumn + createColumn(); + /** Adds a column to the model. + + <p>You should use the <member>createColumn</member> member to create a new column. This gives + implementations of the <code>XGridColumnModel</code> interface the possibility to provide own column + implementations which extend the basic <type>GridColumn</type> type.</p> + + <p>As soon as the column has been inserted into the model, the model takes ownership of it. This means when the + column is removed, or when the column model is disposed, the grid column is disposed as well.</p> + @param column the column to add to the model. - @returns - the index of new created column. - */ - long addColumn( [in] XGridColumn column ); + the index of new created column. - /* - long getSelectedCount(); + @throws ::com::sun::star::lang::IllegalArgumentException + if the given column is not a valid element for the column container, or if it is <NULL/>. + */ + long addColumn( [in] XGridColumn column ) + raises ( ::com::sun::star::lang::IllegalArgumentException ); - sequence<XGridColumn> getSelectedColumns(); + /** removes a column from the model - sequence<long> getSelectedIndex(); + <p>The column object will be disposed upon removal.</p> + @param ColumnIndex + denotes the index of the column to remove + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if <code>ColumnIndex</code> does not denote a valid column index. */ + void removeColumn( [in] long ColumnIndex ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); /** Returns all columns of the model. @returns @@ -92,24 +122,20 @@ interface XGridColumnModel @returns the requested column. */ - XGridColumn getColumn( [in] long index); + XGridColumn getColumn( [in] long index) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** Fills the model with the given number of default columns + + <p>Existing columns will be removed before adding new columns. Listeners at the column model will + be notified one <member scope="com::sun::star::container">XContainerListener::elementRemoved</member> event + for each removed column, and one <member scope="com::sun::star::container">XContainerListener::elementInserted</member> + event for each insertion.</p> - /** Sets default columns to the column model. @param elements the number of default columns that should be set. */ void setDefaultColumns([in] long elements); - - /**Creates new XGridColumn with the settings of other column. To be used if the columns which are added to - the column model have the same settings. - @param column - the column, which is already created - */ - XGridColumn copyColumn( [in] XGridColumn column ); - - /* - long getTotalColumnWidth(); - */ }; //============================================================================= diff --git a/offapi/com/sun/star/awt/grid/XGridControl.idl b/offapi/com/sun/star/awt/grid/XGridControl.idl index 5019a571663b..3c2c3d241528 100644 --- a/offapi/com/sun/star/awt/grid/XGridControl.idl +++ b/offapi/com/sun/star/awt/grid/XGridControl.idl @@ -28,9 +28,6 @@ #define __com_sun_star_awt_grid_XGridControl_idl__ #include <com/sun/star/awt/grid/XGridSelection.idl> -#include <com/sun/star/awt/grid/XGridColumnModel.idl> -#include <com/sun/star/awt/grid/XGridDataModel.idl> -#include <com/sun/star/awt/XMouseListener.idl> //============================================================================= @@ -44,23 +41,43 @@ module com { module sun { module star { module awt { module grid { @since OOo 3.3.0 */ -interface XGridControl: XGridSelection +interface XGridControl : XGridSelection { - /** Converting + /** retrieves the column which a given point belongs to + + @param X + the ordinate of the point, in pixel coordinates. + @param Y + the abscissa of the point, in pixel coordinates. + @return + the index of the column which the point lies in, or -1 if no column is under the given point. + */ + long getColumnAtPoint( [in] long X, [in] long Y ); + + /** retrieves the row which a given point belongs to + + @param X + the ordinate of the point, in pixel coordinates. + @param Y + the abscissa of the point, in pixel coordinates. + @return + the index of the row which the point lies in, or -1 if no row is under the given point. */ + long getRowAtPoint( [in] long X, [in] long Y ); - long getItemIndexAtPoint( [in] long x, [in] long y); + /** returns the column index of the currently active cell - /** Sets tooltip for row - @param textForTooltip - text, which will be shown as tooltip. - If only cell content should be displayed, leave sequence empty. - @param columnsForTooltip - column numbers, which define the cell content that should be shown in the tooltip. - If only text should be shown, leave this sequence empty. + <p>If the grid control's does not contain any cells (which happens if the grid column model does not contain any + columns, or if grid data model does not contain any rows), then <code>-1</code> is returned.</p> */ - void setToolTip( [in] sequence< string > textForTooltip, [in] sequence< long > columnsForTooltip); + long getCurrentColumn(); + + /** returns the row index of the currently active cell + <p>If the grid control's does not contain any cells (which happens if the grid column model does not contain any + columns, or if grid data model does not contain any rows), then <code>-1</code> is returned.</p> + */ + long getCurrentRow(); }; //============================================================================= diff --git a/offapi/com/sun/star/awt/grid/XGridDataListener.idl b/offapi/com/sun/star/awt/grid/XGridDataListener.idl index d6d0d930b331..709f048c08ce 100644 --- a/offapi/com/sun/star/awt/grid/XGridDataListener.idl +++ b/offapi/com/sun/star/awt/grid/XGridDataListener.idl @@ -52,20 +52,21 @@ module com { module sun { module star { module awt { module grid { interface XGridDataListener: com::sun::star::lang::XEventListener { - /** - Invoked after a row was added to the data model. + /** is called when one or more rows of data have been inserted into a grid control's data model. */ - void rowAdded( [in] GridDataEvent Event ); + void rowsInserted( [in] GridDataEvent Event ); - /** - Invoked after a row was added to the data model. + /** is called when one or more rows of data have been removed from a grid control's data model. */ - void rowRemoved( [in] GridDataEvent Event ); + void rowsRemoved( [in] GridDataEvent Event ); - /** - Invoked after a row was added to the data model. + /** is called when existing data in a grid control's data model has been modified. */ void dataChanged( [in] GridDataEvent Event ); + + /** is called when the title of one or more rows changed. + */ + void rowHeadingChanged( [in] GridDataEvent Event ); }; //============================================================================= diff --git a/offapi/com/sun/star/awt/grid/XGridDataModel.idl b/offapi/com/sun/star/awt/grid/XGridDataModel.idl index 5cc4085807e1..1ff15e1310e0 100644 --- a/offapi/com/sun/star/awt/grid/XGridDataModel.idl +++ b/offapi/com/sun/star/awt/grid/XGridDataModel.idl @@ -30,8 +30,9 @@ #include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/util/XCloneable.idl> #include <com/sun/star/awt/grid/XGridDataListener.idl> - +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> //============================================================================= @@ -45,86 +46,57 @@ module com { module sun { module star { module awt { module grid { @since OOo 3.3.0 */ -interface XGridDataModel: ::com::sun::star::lang::XComponent +interface XGridDataModel { - /** Specifies the height of each row. - */ - [attribute] long RowHeight; - - /** Contains the row header. + /** implements life time control for the component */ - [attribute] sequence< string > RowHeaders; + interface ::com::sun::star::lang::XComponent; - /** Returns the content of each row. + /** allows cloning the complete column model */ - [attribute,readonly] sequence< sequence< any > > Data; + interface ::com::sun::star::util::XCloneable; - /**Specifies the width of row header. + /** denotes the number of rows for which the model can provide data */ - [attribute] long RowHeaderWidth; + [attribute, readonly] long RowCount; - /** Returns the number of rows in in the model. - @returns - the number of rows. + /** denotes the number of columns for which the model can provide data */ - long getRowCount(); + [attribute, readonly] long ColumnCount; - /** Adds a row to the model. + /** retrieves the data for a given cell - @param headername - specifies the name of the row. - @param data - the content of the row. + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if the column or row index do not denote a valid cell position. */ - void addRow( [in] string headername, [in] sequence< any > data ); + any getCellData( [in] long Column, [in] long Row ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); - /** Removes a row from the model. + /** retrieves the tool tip to be displayed when the mouse hovers over a given cell - @param index - the index of the row that should be removed. - */ - void removeRow( [in] long index); + <p>At the moment, only string tool tips are supported.</p> - /** Removes all rows from the model. - */ - void removeAll(); - - /**Updates the content of a given cell. - @param row - the row index - @param column - the column index - @param value - the new value of the cell. - */ - void updateCell([in] long row, [in] long column, [in] any value ); - - /**Updates the content of a given row. - @param row - the row index - @param columns - column indexes of the cells, which should be updated - @param value - the new values of the cells. + <p>If <VOID/> is returned here, the cell's content will be displayed as tip, but only if it does + not fit into the cell.</p> + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if the column or row index do not denote a valid cell position. */ - void updateRow([in] long row, [in] sequence< long > columns, [in] sequence< any > values); + any getCellToolTip( [in] long Column, [in] long Row ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); - //------------------------------------------------------------------------- + /** retrieves the heading of a given row - /** Adds a listener for the <type>GridDataEvent</type> posted after the grid changes. - @param Listener - the listener to add. - */ - [oneway] void addDataListener( [in] XGridDataListener listener); + <p>A grid control will usually paint a row's title in the header column of the respective row.</p> - //------------------------------------------------------------------------- + <p>At the moment, only strings are supported as row headings.</p> - /** Removes a listener previously added with <method>addDataListener()</method>. - @param Listener - the listener to remove. + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if the given index does not denote a valid row. */ - [oneway] void removeDataListener( [in] XGridDataListener listener); - + any + getRowHeading( [in] long RowIndex ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); }; //============================================================================= diff --git a/offapi/com/sun/star/awt/grid/XGridSelection.idl b/offapi/com/sun/star/awt/grid/XGridSelection.idl index cc3baf2fa360..be8d1a9b8b76 100644 --- a/offapi/com/sun/star/awt/grid/XGridSelection.idl +++ b/offapi/com/sun/star/awt/grid/XGridSelection.idl @@ -41,37 +41,27 @@ module com { module sun { module star { module awt { module grid { */ interface XGridSelection { - /** Returns the lowest index of the selection. - @returns - the lowest index. - */ - long getMinSelectionIndex(); - - /** Returns the highest index of the selection. - @returns - the highest index. - */ - long getMaxSelectionIndex(); - /** Selects all rows. */ - [oneway] void selectAllRows(); + void selectAllRows(); + + /** selects a given row - /** Selects multiple rows. Previous selections will be removed. - @param rangeOfRows - array of rows indexes, which will be selected. + @param RowIndex + denotes the index of the row to select */ - [oneway] void selectRows( [in] sequence< long > rangeOfRows); + void selectRow( [in] long RowIndex ); /** Deselects all selected rows. */ - [oneway] void deselectAllRows(); + void deselectAllRows(); - /** Deselects selected rows. Selected rows, which aren't in the range remain selected. - @param rangeOfRows - array of rows indexes, which will be deselected. + /** removes the selection for a given row + + @param RowIndex + denotes the index of the row to deselect */ - [oneway] void deselectRows( [in] sequence< long > rangeOfRows); + void deselectRow( [in] long RowIndex ); /** Returns the indices of all selected rows. @returns @@ -93,21 +83,11 @@ interface XGridSelection */ boolean isSelectedIndex( [in] long index); - /** Marks a row as selected. - @param index - the index of a row. - */ - [oneway] void selectRow( [in] long index); - - /* - [oneway] void selectColumn( [in] long x); - */ - /** Adds a listener for the <type>GridSelectionEvent</type> posted after the grid changes. @param listener the listener to add. */ - [oneway] void addSelectionListener( [in] XGridSelectionListener listener); + void addSelectionListener( [in] XGridSelectionListener listener); //------------------------------------------------------------------------- @@ -115,7 +95,7 @@ interface XGridSelection @param listener the listener to remove. */ - [oneway] void removeSelectionListener( [in] XGridSelectionListener listener); + void removeSelectionListener( [in] XGridSelectionListener listener); }; diff --git a/offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl b/offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl new file mode 100755 index 000000000000..5e10820ff9ef --- /dev/null +++ b/offapi/com/sun/star/awt/grid/XMutableGridDataModel.idl @@ -0,0 +1,163 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_awt_grid_XMutableGridDataModel_idl__ +#define __com_sun_star_awt_grid_XMutableGridDataModel_idl__ + +#include <com/sun/star/awt/grid/XGridDataModel.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> + +//================================================================================================================== + +module com { module sun { module star { module awt { module grid { + +//================================================================================================================== + +/** allows to modify the data represented by a <type>XGridDataModel</type> + */ +interface XMutableGridDataModel : XGridDataModel +{ + /** adds a row to the model. + + @param Heading + denotes the heading of the row. + @param Data + specifies the content of the row. + */ + void addRow( [in] any Heading, [in] sequence< any > Data ); + + /** adds multiple rows of data to the model. + @param Headings + denotes the headings of the to-be-added rows. + @param Data + specifies the data of the rows to be added. + @throws ::com::sun::star::lang::IllegalArgumentException + if <code>Titles</code> and <code>Data</code> are of different length. + */ + void addRows( [in] sequence< any > Headings, [in] sequence< sequence< any > > Data ) + raises ( ::com::sun::star::lang::IllegalArgumentException ); + + /** removes a row of data from the model + + @param RowIndex + the index of the row that should be removed. + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if the given index is invalid + */ + void removeRow( [in] long RowIndex ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** Removes all rows from the model. + */ + void removeAllRows(); + + /** updates the content of the given cell + @param ColumnIndex + the column index of the to-be-updated cell + @param RowIndex + the row index of the to-be-updated cell + @param Value + the new value of the cell. + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if the row or column index is invalid + */ + void updateCellData( [in] long ColumnIndex, [in] long RowIndex, [in] any Value ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** updates the content of a given row. + + <p>The change in the data model will be notified to registered listeners via + <member">XGridDataListener::dataChanged</member>. The <member>GridDataEvent::FirstColumn</member> and + <member>GridDataEvent::LastColumn</member> will denote the smallest respectively largest column + index from <argColumnIndexes</arg>.</p> + + @param ColumnIndexes + contains the column indexes of the cells, which should be updated + @param RowIndex + contains the index of the row whose data is to be updated + @param Values + specifies the new values of the cells. + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if one of the row indexes or the column index is invalid + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if the lengths of the <code>ColumnIndexes</code> and <code>Values</code> sequences are not equal. + */ + void updateRowData( [in] sequence< long > ColumnIndexes, [in] long RowIndex, [in] sequence< any > Values ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException + , ::com::sun::star::lang::IllegalArgumentException); + + /** sets a new title for a given row. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if the given index does not denote a valid row. + */ + void + updateRowHeading( [in] long RowIndex, [in] any Heading ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** updates the tooltip to be displayed for a given cell + + @see XGridDataModel::getCellToolTip + */ + void updateCellToolTip( [in] long ColumnIndex, [in] long RowIndex, [in] any Value ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** updates the tooltip for all cells of a given row + + <p>Effectively this method is a shortcut for calling <member>updateCellToolTip</member> multiple + times in a row, for all cells of a given row.</p> + + @see XGridDataModel::getCellToolTip + @see updateCellToolTip + */ + void updateRowToolTip( [in] long RowIndex, [in] any Value ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + //------------------------------------------------------------------------- + + /** registers listener to be notified of data changes in the model + @param Listener + specifies the listener to register + */ + void addGridDataListener( [in] XGridDataListener Listener ); + + //------------------------------------------------------------------------- + + /** revokes a listener which was previously registered via <member>addGridDataListener</member> + @param Listener + specifies the listener to revoke. + */ + void removeGridDataListener( [in] XGridDataListener Listener ); +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/grid/XSortableGridData.idl b/offapi/com/sun/star/awt/grid/XSortableGridData.idl new file mode 100755 index 000000000000..9dcf9d95fb85 --- /dev/null +++ b/offapi/com/sun/star/awt/grid/XSortableGridData.idl @@ -0,0 +1,77 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_awt_grid_XSortableGridData_idl__ +#define __com_sun_star_awt_grid_XSortableGridData_idl__ + +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#include <com/sun/star/beans/Pair.idl> + +//================================================================================================================== + +module com { module sun { module star { module awt { module grid { + +//================================================================================================================== + +/** allows to sort the data represented by a <type>XGridDataModel</type> + */ +interface XSortableGridData +{ + /** sorts the rows represented by the model by a given column's data. + + @param ColumnIndex + the index of the column whose data should be used as sort key + @param SortAscending + is <TRUE/> if the data should be sorted ascending, <FALSE/> otherwise. + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if <code>ColumnIndex</code> does not denote a valid column. + */ + void sortByColumn( [in] long ColumnIndex, [in] boolean SortAscending ) + raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** removes any possibly present sorting of the grid data + */ + void removeColumnSort(); + + /** returns the current sort order. + + @return + a structure describing the current sort order. <member scope="::com::sun::star::beans">Pair::First</member> + denotes the column by which the data is sorted, or -1 if the data is currently unsorted. + <member scope="::com::sun::star::beans">Pair::Second</member> is <TRUE/> if the data is sorted ascending, + <FALSE/> otherwise. + */ + ::com::sun::star::beans::Pair< long, boolean > + getCurrentSortOrder(); +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/grid/XSortableMutableGridDataModel.idl b/offapi/com/sun/star/awt/grid/XSortableMutableGridDataModel.idl new file mode 100755 index 000000000000..bbcd6bc29540 --- /dev/null +++ b/offapi/com/sun/star/awt/grid/XSortableMutableGridDataModel.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_awt_grid_XSortableMutableGridDataModel_idl__ +#define __com_sun_star_awt_grid_XSortableMutableGridDataModel_idl__ + +#include <com/sun/star/awt/grid/XMutableGridDataModel.idl> +#include <com/sun/star/awt/grid/XSortableGridData.idl> + +//================================================================================================================== + +module com { module sun { module star { module awt { module grid { + +//================================================================================================================== + +/** describes a grid control data model whose data can be modified and sorted. + */ +interface XSortableMutableGridDataModel +{ + /** provides access to the basic functionality of a grid data model, plus functions to modify it. + */ + interface XMutableGridDataModel; + + /** provides means to sort the data represented by the model. + + <p>If you set a new column sort order, the implementation will notify the registered <type>XGridDataListener</type>s + via a call to its <member>XGridDataListener::dataChanged</member> method.</p> + */ + interface XSortableGridData; +}; + +//================================================================================================================== + +}; }; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/awt/grid/makefile.mk b/offapi/com/sun/star/awt/grid/makefile.mk index 02c159f8ffec..8499dca27d82 100644 --- a/offapi/com/sun/star/awt/grid/makefile.mk +++ b/offapi/com/sun/star/awt/grid/makefile.mk @@ -39,27 +39,27 @@ PACKAGE=com$/sun$/star$/awt$/grid # ------------------------------------------------------------------------ IDLFILES=\ GridColumnEvent.idl\ - GridControlEvent.idl\ GridDataEvent.idl\ SelectionEventType.idl\ GridSelectionEvent.idl\ - XGridControlListener.idl\ XGridSelectionListener.idl\ XGridSelection.idl\ XGridColumn.idl\ XGridColumnListener.idl\ XGridDataListener.idl\ - XGridCell.idl\ - XGridCellRenderer.idl\ DefaultGridDataModel.idl\ XGridDataModel.idl\ + XMutableGridDataModel.idl\ XGridColumnModel.idl\ - ScrollBarMode.idl\ XGridControl.idl\ UnoControlGrid.idl\ UnoControlGridModel.idl\ GridInvalidDataException.idl\ - GridInvalidModelException.idl + GridInvalidModelException.idl\ + XSortableGridData.idl\ + SortableGridDataModel.idl\ + XSortableMutableGridDataModel.idl\ + # ------------------------------------------------------------------ .INCLUDE : target.mk diff --git a/offapi/com/sun/star/awt/makefile.mk b/offapi/com/sun/star/awt/makefile.mk index a6357703500c..c2397d81bf44 100644 --- a/offapi/com/sun/star/awt/makefile.mk +++ b/offapi/com/sun/star/awt/makefile.mk @@ -161,6 +161,7 @@ IDLFILES=\ UnoControlDialog.idl\ UnoControlDialogElement.idl\ UnoControlDialogModel.idl\ + UnoControlDialogModelProvider.idl\ UnoControlEdit.idl\ UnoControlEditModel.idl\ UnoControlFileControl.idl\ @@ -334,7 +335,12 @@ IDLFILES=\ XPopupMenuExtended.idl \ XItemList.idl \ XItemListListener.idl \ - ItemListEvent.idl + ItemListEvent.idl \ + AnimatedImagesControl.idl \ + AnimatedImagesControlModel.idl \ + XAnimatedImages.idl \ + XAnimation.idl \ + SpinningProgressControlModel.idl # ------------------------------------------------------------------ diff --git a/offapi/com/sun/star/awt/grid/GridControlEvent.idl b/offapi/com/sun/star/awt/tab/TabPageActivatedEvent.idl index ce8736fb1b93..ef678395fe06 100644 --- a/offapi/com/sun/star/awt/grid/GridControlEvent.idl +++ b/offapi/com/sun/star/awt/tab/TabPageActivatedEvent.idl @@ -24,26 +24,28 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef __com_sun_star_awt_GridControlEvent_idl__ -#define __com_sun_star_awt_GridControlEvent_idl__ +#ifndef __com_sun_star_awt_tab_TabPageActivationEvent_idl__ +#define __com_sun_star_awt_tab_TabPageActivationEvent_idl__ #ifndef __com_sun_star_lang_EventObject_idl__ #include <com/sun/star/lang/EventObject.idl> #endif - //============================================================================= -module com { module sun { module star { module awt { module grid { +module com { module sun { module star { module awt { module tab { //============================================================================= +/** An event used by a <type>XTabPageContainer</type> to notify changes in tab page activation. -struct GridControlEvent: com::sun::star::lang::EventObject + @since OOo 3.4 + */ +struct TabPageActivatedEvent: com::sun::star::lang::EventObject { - //------------------------------------------------------------------------- - - string ActionCommand; + /** Contains the ID of the tab page + */ + short TabPageID; }; diff --git a/offapi/com/sun/star/awt/grid/XGridCell.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPage.idl index 08f3cfd1b2d5..6244b18e0c77 100644 --- a/offapi/com/sun/star/awt/grid/XGridCell.idl +++ b/offapi/com/sun/star/awt/tab/UnoControlTabPage.idl @@ -24,33 +24,33 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef __com_sun_star_awt_grid_XGridCell_idl__ -#define __com_sun_star_awt_grid_XGridCell_idl__ +#ifndef __com_sun_star_awt_tab_UnoControlTabPage_idl__ +#define __com_sun_star_awt_tab_UnoControlTabPage_idl__ -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif +#include <com/sun/star/awt/UnoControlContainer.idl> +#include <com/sun/star/awt/tab/XTabPage.idl> +//============================================================================= +module com { module sun { module star { module awt { module tab { //============================================================================= -module com { module sun { module star { module awt { module grid { +/** specifies a TabPage control. -//============================================================================= + @since OOo 3.4 +*/ -interface XGridCell +service UnoControlTabPage { + service com::sun::star::awt::UnoControlContainer; - [attribute] string Value; - - [attribute] boolean Editable; + interface XTabPage; - [attribute] any Data; }; //============================================================================= -}; }; }; }; }; + }; }; }; }; }; #endif diff --git a/offapi/com/sun/star/awt/grid/XGridCellRenderer.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.idl index 7f9fa28c3307..488ce4b5354a 100644 --- a/offapi/com/sun/star/awt/grid/XGridCellRenderer.idl +++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainer.idl @@ -24,29 +24,32 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef __com_sun_star_awt_grid_XGridCellRenderer_idl__ -#define __com_sun_star_awt_grid_XGridCellRenderer_idl__ +#ifndef __com_sun_star_awt_tab_UnoControlTabPageContainer_idl__ +#define __com_sun_star_awt_tab_UnoControlTabPageContainer_idl__ -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif +#include <com/sun/star/awt/UnoControl.idl> +#include <com/sun/star/awt/tab/XTabPageContainer.idl> //============================================================================= -module com { module sun { module star { module awt { module grid { +module com { module sun { module star { module awt { module tab { //============================================================================= -/** renderer for cells +/** specifies a TabPageContainer control. + + @since OOo 3.4 */ -interface XGridCellRenderer +service UnoControlTabPageContainer { - //------------------------------------------------------------------------- + service com::sun::star::awt::UnoControl; + + interface com::sun::star::awt::tab::XTabPageContainer; }; //============================================================================= -}; }; }; }; }; + }; }; }; }; }; #endif diff --git a/offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl new file mode 100644 index 000000000000..b97b7881b416 --- /dev/null +++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageContainerModel.idl @@ -0,0 +1,55 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_awt_tab_UnoControlTabPageContainerModel_idl__ +#define __com_sun_star_awt_tab_UnoControlTabPageContainerModel_idl__ + +#include <com/sun/star/awt/UnoControlModel.idl> +#include <com/sun/star/awt/tab/XTabPageContainerModel.idl> + +//============================================================================= + +module com { module sun { module star { module awt { module tab { + +//============================================================================= + +/** specifies a model for a UnoControlTabPageContainer control. + + @since OOo 3.4 + */ +service UnoControlTabPageContainerModel +{ + service com::sun::star::awt::UnoControlModel; + + interface com::sun::star::awt::tab::XTabPageContainerModel; + +}; + +//============================================================================= + + }; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl new file mode 100644 index 000000000000..3508e33260c7 --- /dev/null +++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_awt_tab_UnoControlTabPageModel_idl__ +#define __com_sun_star_awt_tab_UnoControlTabPageModel_idl__ + +#include <com/sun/star/awt/tab/XTabPageModel.idl> + +//============================================================================= + +module com { module sun { module star { module awt { module tab { + +//============================================================================= + +/** specifies the standard model of a XTabPageModel. + @since OOo 3.4 + */ +service UnoControlTabPageModel : XTabPageModel +{ + /** Creates a new XTabPageModel with a given ID. + */ + create([in] short tabPageID); + + /** Creates a new XTabPageModel with a given ID and a url which is used to load teh tab page model. + */ + load([in] short tabPageID,[in] string url); +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/awt/grid/XGridControlListener.idl b/offapi/com/sun/star/awt/tab/XTabPage.idl index 6f4fdf68ccd4..616820071f5b 100644 --- a/offapi/com/sun/star/awt/grid/XGridControlListener.idl +++ b/offapi/com/sun/star/awt/tab/XTabPage.idl @@ -24,20 +24,23 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef __com_sun_star_awt_grid_XGridControlListener_idl__ -#define __com_sun_star_awt_grid_XGridControlListener_idl__ - -#ifndef __com_sun_star_uno_XInterface_idl__ -#include <com/sun/star/uno/XInterface.idl> -#endif +#ifndef __com_sun_star_awt_tab_XTabPage_idl__ +#define __com_sun_star_awt_tab_XTabPage_idl__ +#include <com/sun/star/awt/tab/XTabPageModel.idl> //============================================================================= -module com { module sun { module star { module awt { module grid { +module com { module sun { module star { module awt { module tab { //============================================================================= -interface XGridControlListener +/** An interface to a control that displays a tab page. + + @see UnoControlTabPage + + @since OOo 3.4 + */ +interface XTabPage { }; diff --git a/offapi/com/sun/star/awt/tab/XTabPageContainer.idl b/offapi/com/sun/star/awt/tab/XTabPageContainer.idl new file mode 100644 index 000000000000..e62cf4c365c1 --- /dev/null +++ b/offapi/com/sun/star/awt/tab/XTabPageContainer.idl @@ -0,0 +1,109 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_awt_tab_XTabPageContainer_idl__ +#define __com_sun_star_awt_tab_XTabPageContainer_idl__ + +#include <com/sun/star/awt/tab/XTabPageContainerListener.idl> +#include <com/sun/star/awt/tab/XTabPage.idl> +//============================================================================= + +module com { module sun { module star { module awt { module tab { + +//============================================================================= + +/** An interface to a control that displays tab pages. + + @see UnoControlTabPageContainer + + @since OOo 3.4 + */ +interface XTabPageContainer +{ + /** Returns the number of tab pages. + @returns + the number of tab pages. + */ + long getTabPageCount(); + + //------------------------------------------------------------------------- + + /** Checks whether a tab page is activated. + @param + the tab page to be checked. + @returns + <TRUE/> if tab page is activated, else <FALSE/>. + */ + boolean isTabPageActive([in] short tabPageIndex); + + //------------------------------------------------------------------------- + + /** Returns tab page for the given index. + @param + tabPageIndex - index of the tab page in the IndexContainer. + @returns + tab page which has tabPageIndex. + */ + XTabPage getTabPage([in] short tabPageIndex); + + //------------------------------------------------------------------------- + + /** Returns tab page for the given ID. + @param + tabPageID - ID of the tab page. + @returns + tab page which has tabPageID. + */ + XTabPage getTabPageByID([in] short tabPageID); + + //------------------------------------------------------------------------- + + /** Adds a listener for the <type>TabPageActivedEvent</type> posted after + the tab page was activated. + @param listener + the listener to add. + */ + [oneway] void addTabPageListener( [in] XTabPageContainerListener listener); + + //------------------------------------------------------------------------- + + /** Removes a listener previously added with <method>addTabPageListener()</method>. + @param listener + the listener to remove. + */ + [oneway] void removeTabPageListener( [in] XTabPageContainerListener listener); + + //------------------------------------------------------------------------- + /** Specifies the ID of the current active tab page. + */ + [attribute] short ActiveTabPageID; +}; + +//============================================================================= + +}; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/awt/grid/ScrollBarMode.idl b/offapi/com/sun/star/awt/tab/XTabPageContainerListener.idl index d22cd8f30c78..f46951231513 100644 --- a/offapi/com/sun/star/awt/grid/ScrollBarMode.idl +++ b/offapi/com/sun/star/awt/tab/XTabPageContainerListener.idl @@ -24,42 +24,29 @@ * for a copy of the LGPLv3 License. * ************************************************************************/ -#ifndef __com_sun_star_awt_grid_ScrollBarMode_idl__ -#define __com_sun_star_awt_grid_ScrollBarMode_idl__ +#ifndef __com_sun_star_awt_tab_XTabPageContainerListener_idl__ +#define __com_sun_star_awt_tab_XTabPageContainerListener_idl__ +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/awt/tab/TabPageActivatedEvent.idl> //============================================================================= -module com { module sun { module star { module awt { module grid { +module com { module sun { module star { module awt { module tab { //============================================================================= -/** specifies the adjustment type. +/** An instance of this interface is used by the <type>XTabPageContainer</type> to + get notifications about changes in activation of tab pages. + + @since OOo 3.4 */ -enum ScrollBarMode +interface XTabPageContainerListener: com::sun::star::lang::XEventListener { //------------------------------------------------------------------------- - - /** adjustment is originated by a line jump. - - <p>A line jump can, for example, be caused by a click on - one of the pointer buttons.</p> + /** Invoked after a tab page was activated. */ - AUTO, - - //------------------------------------------------------------------------- - - /** adjustment is originated by a page jump. - - <p>A page jump can, for example, be caused by a click in the - background area of the scrollbar (neither one of the pointer - buttons, nor the thumb).</p> - */ - ON, - - OFF - - + [oneway] void tabPageActivated( [in] TabPageActivatedEvent tabPageActivatedEvent); }; diff --git a/offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl b/offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl new file mode 100644 index 000000000000..cc815209a01d --- /dev/null +++ b/offapi/com/sun/star/awt/tab/XTabPageContainerModel.idl @@ -0,0 +1,53 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_awt_tab_XTabPageContainerModel_idl__ +#define __com_sun_star_awt_tab_XTabPageContainerModel_idl__ + +#include <com/sun/star/container/XIndexContainer.idl> +#include <com/sun/star/container/XContainer.idl> + +//============================================================================= + +module com { module sun { module star { module awt { module tab { + +//============================================================================= + +/** specifies an interface for a UnoControlTabPageContainerModel. + + @since OOo 3.4 + */ +interface XTabPageContainerModel +{ + interface com::sun::star::container::XIndexContainer; + interface com::sun::star::container::XContainer; +}; + +//============================================================================= + + }; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/awt/tab/XTabPageModel.idl b/offapi/com/sun/star/awt/tab/XTabPageModel.idl new file mode 100644 index 000000000000..15fae422bb17 --- /dev/null +++ b/offapi/com/sun/star/awt/tab/XTabPageModel.idl @@ -0,0 +1,87 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_awt_tab_XTabPageModel_idl__ +#define __com_sun_star_awt_tab_XTabPageModel_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/lang/XMultiServiceFactory.idl> +#include <com/sun/star/container/XContainer.idl> +#include <com/sun/star/container/XNameContainer.idl> + +//============================================================================= + +module com { module sun { module star { module awt { module tab { + +//============================================================================= + +/** specifies an XTabPageModel interface. + + @since OOo 3.4 +*/ + +interface XTabPageModel +{ + //interface com::sun::star::lang::XMultiServiceFactory; + + //interface com::sun::star::container::XNameContainer; + + //interface com::sun::star::container::XContainer; + + /**ID for tab page. + */ + [attribute, readonly] short TabPageID; + //------------------------------------------------------------------------- + + /** determines whether a tab page is enabled or disabled. + */ + [attribute] boolean Enabled; + + //------------------------------------------------------------------------- + + /** specifies the text that is displayed in the tab bar of the tab page. + */ + [attribute] string Title; + + //------------------------------------------------------------------------- + + /** specifies a URL that references a graphic that should be displayed in the tab bar. + */ + [attribute] string ImageURL; + + //------------------------------------------------------------------------- + + /** specifies a tooltip text that should be displayed in the tab bar. + */ + [attribute] string Tooltip; +}; + + +//============================================================================= + + }; }; }; }; }; + +#endif diff --git a/offapi/com/sun/star/awt/tab/makefile.mk b/offapi/com/sun/star/awt/tab/makefile.mk new file mode 100644 index 000000000000..249760988b61 --- /dev/null +++ b/offapi/com/sun/star/awt/tab/makefile.mk @@ -0,0 +1,53 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#************************************************************************* + +PRJ=..$/..$/..$/..$/.. + +PRJNAME=api + +TARGET=cssawttab +PACKAGE=com$/sun$/star$/awt$/tab + +# --- Settings ----------------------------------------------------- +.INCLUDE : $(PRJ)$/util$/makefile.pmk + +# ------------------------------------------------------------------------ +IDLFILES=\ + TabPageActivatedEvent.idl\ + XTabPageContainerListener.idl\ + XTabPageModel.idl\ + XTabPage.idl\ + XTabPageContainerModel.idl\ + XTabPageContainer.idl\ + UnoControlTabPage.idl\ + UnoControlTabPageModel.idl\ + UnoControlTabPageContainer.idl\ + UnoControlTabPageContainerModel.idl +# ------------------------------------------------------------------ + +.INCLUDE : target.mk +.INCLUDE : $(PRJ)$/util$/target.pmk diff --git a/offapi/com/sun/star/awt/tree/XTreeControl.idl b/offapi/com/sun/star/awt/tree/XTreeControl.idl index 83bb319312bc..edc135021fc4 100644 --- a/offapi/com/sun/star/awt/tree/XTreeControl.idl +++ b/offapi/com/sun/star/awt/tree/XTreeControl.idl @@ -154,7 +154,7 @@ interface XTreeControl @throws ::com::sun::star::lang::IllegalArgumentException if <var>Node</var> is not a valid node of the corresponding <type>XTreeDataModel</type>. - @raises ExpandVetoException + @throws ExpandVetoException if collapsing <var>Node</var> failed because at least one of the registered <type>XTreeExpansionListener</type> raised a <type>ExpandVetoException</type>. */ |