From 40260f9c6de091bb46b2c1529537540f5f9b12a4 Mon Sep 17 00:00:00 2001 From: "Ocke Janssen [oj]" Date: Mon, 15 Feb 2010 10:09:28 +0100 Subject: dba33f: #i53377# new event to get the changed bookmarks --- offapi/com/sun/star/sdb/RowSet.idl | 41 +++++++------- offapi/com/sun/star/sdb/RowsChangeEvent.idl | 52 +++++++++++++++++ offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl | 66 ++++++++++++++++++++++ offapi/com/sun/star/sdb/XRowsChangeListener.idl | 60 ++++++++++++++++++++ offapi/com/sun/star/sdb/makefile.mk | 3 + offapi/com/sun/star/sdbc/XRowSetListener.idl | 2 + 6 files changed, 205 insertions(+), 19 deletions(-) create mode 100644 offapi/com/sun/star/sdb/RowsChangeEvent.idl create mode 100644 offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl create mode 100644 offapi/com/sun/star/sdb/XRowsChangeListener.idl (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/sdb/RowSet.idl b/offapi/com/sun/star/sdb/RowSet.idl index fd860380fc28..c72d39ca7681 100644 --- a/offapi/com/sun/star/sdb/RowSet.idl +++ b/offapi/com/sun/star/sdb/RowSet.idl @@ -73,6 +73,7 @@ published interface XParametersSupplier; to approve the actions and to react on them. @see com::sun::star::sdb::RowChangeAction @see com::sun::star::sdb::RowChangeEvent + @see com::sun::star::sdb::RowsChangeEvent

Notifications

@@ -100,7 +101,8 @@ published interface XParametersSupplier; operation done When the operation is done, you get a notification about this. It may be a XRowSetListener::cursorMoved or a - XRowSetListener::rowChanged call. + XRowSetListener::rowChanged call or a + XRowsChangeListener::rowsChanged call. row state @@ -124,39 +126,40 @@ published interface XParametersSupplier; approveCursorMoveapproveRowChange column values cursorMovedrowChanged + rowsChanged IsModifiedIsNew RowCountIsRowCountFinal XResultSet - nextXXXXXXX - beforeFirstXXXXX - afterLastXXXXXXX - firstXXXXXXX - lastXXXXXXX - absoluteXXXXXXX - relativeXXXXXXX - previousXXXXXXX - refreshRowXXX - cancelRowUpdatesXX + nextXXXXXXX + beforeFirstXXXXX + afterLastXXXXXXX + firstXXXXXXX + lastXXXXXXX + absoluteXXXXXXX + relativeXXXXXXX + previousXXXXXXX + refreshRowXXX + cancelRowUpdatesXX XResultSetUpdate - insertRowXXXXXXX - updateRowXXXX - deleteRowXXXXXX - moveToInsertRowXXXXX - moveToCurrentRowXXXX + insertRowXXXXXXXX + updateRowXXXXX + deleteRowXXXXXXX + moveToInsertRowXXXXX + moveToCurrentRowXXXX XDeleteRows - deleteRowsXXXXXX + deleteRowsXXXXXXX XRowLocate - moveToBookmarkXXXXX - moveRelativeToBookmarkXXXXXXX + moveToBookmarkXXXXX + moveRelativeToBookmarkXXXXXXX diff --git a/offapi/com/sun/star/sdb/RowsChangeEvent.idl b/offapi/com/sun/star/sdb/RowsChangeEvent.idl new file mode 100644 index 000000000000..90bb50f4bf84 --- /dev/null +++ b/offapi/com/sun/star/sdb/RowsChangeEvent.idl @@ -0,0 +1,52 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: RowsChangeEvent.idl,v $ + * $Revision: 1.9 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_sdb_RowsChangeEvent_idl__ +#define __com_sun_star_sdb_RowsChangeEvent_idl__ + +#include + + module com { module sun { module star { module sdb { + + +/** indicates which rows have changed and the type of change action on the row set. + */ +struct RowsChangeEvent: com::sun::star::sdb::RowChangeEvent +{ + + sequence< any > Bookmarks; +}; + +//============================================================================= + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif diff --git a/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl b/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl new file mode 100644 index 000000000000..feb8191c44d9 --- /dev/null +++ b/offapi/com/sun/star/sdb/XRowsChangeBroadcaster.idl @@ -0,0 +1,66 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2008 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* $RCSfile: code,v $ +* +* $Revision: 1.3 $ +* +* This file is part of OpenOffice.org. +* +* OpenOffice.org is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License version 3 +* only, as published by the Free Software Foundation. +* +* OpenOffice.org is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License version 3 for more details +* (a copy is included in the LICENSE file that accompanied this code). +* +* You should have received a copy of the GNU Lesser General Public License +* version 3 along with OpenOffice.org. If not, see +* +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __com_sun_star_sdb_XRowsChangeBroadcaster_idl__ +#define __com_sun_star_sdb_XRowsChangeBroadcaster_idl__ + +#include + +//============================================================================= + +module com { module sun { module star { module sdb { + +interface XRowsChangeListener; + +//============================================================================= + +/** broadcasts changes in the RowSet supplied by a component + + @see XRowSetSupplier + @see XRowsChangeListener + @since OOo 3.3 + */ +interface XRowsChangeBroadcaster +{ + /** adds a listener to be notified when the RowSet supplied by the component changes. + */ + void addRowsChangeListener( [in] XRowsChangeListener listener ); + + /** removes a previously added listener. + */ + void removeRowsChangeListener( [in] XRowsChangeListener listener ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/sdb/XRowsChangeListener.idl b/offapi/com/sun/star/sdb/XRowsChangeListener.idl new file mode 100644 index 000000000000..995636e95e3f --- /dev/null +++ b/offapi/com/sun/star/sdb/XRowsChangeListener.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: XRowsChangeListener.idl,v $ + * $Revision: 1.11 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_sdb_XRowsChangeListener_idl__ +#define __com_sun_star_sdb_XRowsChangeListener_idl__ + +#ifndef __com_sun_star_lang_XEventListener_idl__ +#include +#endif +#include + + module com { module sun { module star { module sdb { + + +/** is used for receiving "rowsChanged" events + posted by, for example, a rowset. + */ +interface XRowsChangeListener: com::sun::star::lang::XEventListener +{ + + /** is called when rows are inserted, updated, or deleted. + @param event + contains information about the event + */ + [oneway] void rowsChanged([in]com::sun::star::sdb::RowsChangeEvent event); +}; + +//============================================================================= + +}; }; }; }; + +/*=========================================================================== +===========================================================================*/ +#endif diff --git a/offapi/com/sun/star/sdb/makefile.mk b/offapi/com/sun/star/sdb/makefile.mk index 3e76283ecf18..55359c603b9c 100644 --- a/offapi/com/sun/star/sdb/makefile.mk +++ b/offapi/com/sun/star/sdb/makefile.mk @@ -93,6 +93,7 @@ IDLFILES=\ ResultSet.idl \ RowChangeAction.idl \ RowChangeEvent.idl \ + RowsChangeEvent.idl \ RowSet.idl \ RowSetVetoException.idl \ SingleSelectQueryAnalyzer.idl \ @@ -131,6 +132,8 @@ IDLFILES=\ XRowSetApproveListener.idl \ XRowSetChangeBroadcaster.idl \ XRowSetChangeListener.idl \ + XRowsChangeBroadcaster.idl \ + XRowsChangeListener.idl \ XRowSetSupplier.idl \ XSingleSelectQueryAnalyzer.idl \ XSingleSelectQueryComposer.idl \ diff --git a/offapi/com/sun/star/sdbc/XRowSetListener.idl b/offapi/com/sun/star/sdbc/XRowSetListener.idl index 84022101661f..855f03bb3e9d 100644 --- a/offapi/com/sun/star/sdbc/XRowSetListener.idl +++ b/offapi/com/sun/star/sdbc/XRowSetListener.idl @@ -53,6 +53,8 @@ published interface XRowSetListener: com::sun::star::lang::XEventListener /** is called when a row is inserted, updated, or deleted. @param event contains information about the event + @deprecated + @see com.sun.star.sdb.XRowsChangeListener */ [oneway] void rowChanged([in]com::sun::star::lang::EventObject event); //------------------------------------------------------------------------- -- cgit