diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-10-27 12:23:53 +0200 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-10-27 12:23:53 +0200 |
commit | e30a9f02265ad280d358a43e7030f74d9559005b (patch) | |
tree | 59aa2cdba9f53a1e75accb4e524f70a8e5cfcd76 /offapi/com | |
parent | 0075f75fa084a50e9a3041cffed48c331bda5266 (diff) |
undoapi: outsourced locking functionality into a dedicated interface
Diffstat (limited to 'offapi/com')
-rwxr-xr-x | offapi/com/sun/star/document/XUndoManager.idl | 42 | ||||
-rw-r--r-- | offapi/com/sun/star/document/makefile.mk | 1 | ||||
-rwxr-xr-x | offapi/com/sun/star/util/NotLockedException.idl (renamed from offapi/com/sun/star/document/NotLockedException.idl) | 6 | ||||
-rwxr-xr-x | offapi/com/sun/star/util/XLockable.idl | 79 | ||||
-rw-r--r-- | offapi/com/sun/star/util/makefile.mk | 2 |
5 files changed, 92 insertions, 38 deletions
diff --git a/offapi/com/sun/star/document/XUndoManager.idl b/offapi/com/sun/star/document/XUndoManager.idl index 71122f33c..2a390fb4e 100755 --- a/offapi/com/sun/star/document/XUndoManager.idl +++ b/offapi/com/sun/star/document/XUndoManager.idl @@ -28,10 +28,10 @@ #define __com_sun_star_document_XUndoManager_idl__ #include <com/sun/star/document/EmptyUndoStackException.idl> -#include <com/sun/star/document/NotLockedException.idl> #include <com/sun/star/document/UndoContextNotClosedException.idl> #include <com/sun/star/document/UndoFailedException.idl> #include <com/sun/star/util/InvalidStateException.idl> +#include <com/sun/star/util/XLockable.idl> #include <com/sun/star/lang/IllegalArgumentException.idl> #include <com/sun/star/lang/WrappedTargetException.idl> @@ -71,12 +71,16 @@ interface XUndoManagerListener; <a name="locking"></a> <h3>Locking</h3> - <p>An Undo manager can be locked and unlocked, using the <member>lock</member> and <member>unlock</member> methods. - When it is locked, then every attempt to add an undo action, or to enter or leave an Undo context, will be silently - ignored.</p> + <p>An Undo manager can be locked and unlocked, using the <member>XLockable::lock</member> and + <member>XLockable::unlock</member> methods. When it is locked, then every attempt to add an undo action, or to + enter or leave an Undo context, will be silently ignored.</p> */ interface XUndoManager { + /** allows <a href="#locking">locking</a> the undo manager. + */ + interface ::com::sun::star::util::XLockable; + /** enters a new undo context. <p>A new undo action will be added to the undo stack, with the title given as <code>i_title</code>. As long @@ -303,36 +307,6 @@ interface XUndoManager */ void reset(); - /** locks</a> the Undo manager - - <p><code>lock</code> and <code>unlock</code> calls can be nested. However, they must be in - pairs. As long as there has been one more call to <code>lock</code> than to <code>unlock</code>, the - Undo manager is considered <a href="#locking">locked</a>.</p> - - @see unlock - @see isLocked - */ - void lock(); - - /** unlocks the Undo manager - - @throws ::com::sun::star::document::NotLockedException - if the Undo manager is not currently locked. - - @see lock - @see isLocked - */ - void unlock() - raises ( ::com::sun::star::document::NotLockedException - ); - - /** determines whether the Undo manager is currently locked. - - @see lock - @see unlock - */ - boolean isLocked(); - /** adds a listener to be notified of changes in the Undo/Redo stacks. */ void addUndoManagerListener( diff --git a/offapi/com/sun/star/document/makefile.mk b/offapi/com/sun/star/document/makefile.mk index ebef44407..1521e6b95 100644 --- a/offapi/com/sun/star/document/makefile.mk +++ b/offapi/com/sun/star/document/makefile.mk @@ -120,7 +120,6 @@ IDLFILES=\ XUndoManagerListener.idl \ XUndoManagerSupplier.idl \ UndoManagerEvent.idl \ - NotLockedException.idl \ EmptyUndoStackException.idl \ UndoContextNotClosedException.idl \ UndoFailedException.idl \ diff --git a/offapi/com/sun/star/document/NotLockedException.idl b/offapi/com/sun/star/util/NotLockedException.idl index 94f1eb3a5..a8865c25b 100755 --- a/offapi/com/sun/star/document/NotLockedException.idl +++ b/offapi/com/sun/star/util/NotLockedException.idl @@ -24,14 +24,14 @@ * ************************************************************************/ -#ifndef __com_sun_star_document_NotLockedException_idl__ -#define __com_sun_star_document_NotLockedException_idl__ +#ifndef __com_sun_star_util_NotLockedException_idl__ +#define __com_sun_star_util_NotLockedException_idl__ #include <com/sun/star/util/InvalidStateException.idl> //================================================================================================================== -module com { module sun { module star { module document { +module com { module sun { module star { module util { //================================================================================================================== diff --git a/offapi/com/sun/star/util/XLockable.idl b/offapi/com/sun/star/util/XLockable.idl new file mode 100755 index 000000000..5616a42c2 --- /dev/null +++ b/offapi/com/sun/star/util/XLockable.idl @@ -0,0 +1,79 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_util_XLockable_idl__ +#define __com_sun_star_util_XLockable_idl__ + +#include <com/sun/star/util/NotLockedException.idl> + +//================================================================================================================== + +module com { module sun { module star { module util { + +//================================================================================================================== + +/** allows locking a component + + <p><code>lock</code> and <code>unlock</code> calls can be nested. However, they must be in + pairs. As long as there has been one more call to <code>lock</code> than to <code>unlock</code>, the + component is considered locked, which is reflected by <member>isLocked</member> returning <TRUE/>.</p> + */ +interface XLockable +{ + /** locks</a> the component + + @see unlock + @see isLocked + */ + void lock(); + + /** unlocks the component + + @throws NotLockedException + if the component is not currently locked. + + @see lock + @see isLocked + */ + void unlock() + raises ( NotLockedException + ); + + /** determines whether the component is currently locked. + + @see lock + @see unlock + */ + boolean isLocked(); +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/util/makefile.mk b/offapi/com/sun/star/util/makefile.mk index aa0374296..87dc2d078 100644 --- a/offapi/com/sun/star/util/makefile.mk +++ b/offapi/com/sun/star/util/makefile.mk @@ -145,6 +145,8 @@ IDLFILES=\ UriAbbreviation.idl\ XJobManager.idl\ JobManager.idl\ + XLockable.idl\ + NotLockedException.idl\ # ------------------------------------------------------------------ |