diff options
author | Kurt Zenker <kz@openoffice.org> | 2005-03-03 23:14:01 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2005-03-03 23:14:01 +0000 |
commit | 46367084c0aa28ed2118b21fc111d706b3a401bc (patch) | |
tree | 3b7ee785bd73d88db85ce653a320910196baf9b3 /framework/source | |
parent | 4d36a11ff6167b1fa96b1c4b55b2e0279e1d5bdf (diff) |
INTEGRATION: CWS fwkpostbeta03 (1.5.2); FILE MERGED
2005/02/16 13:34:13 as 1.5.2.1: #i19976# handle setVisible()/toFront() more gracefully on load requests
Diffstat (limited to 'framework/source')
-rw-r--r-- | framework/source/inc/loadenv/loadenv.hxx | 60 |
1 files changed, 45 insertions, 15 deletions
diff --git a/framework/source/inc/loadenv/loadenv.hxx b/framework/source/inc/loadenv/loadenv.hxx index b9d5054f4f50..990cee75fb63 100644 --- a/framework/source/inc/loadenv/loadenv.hxx +++ b/framework/source/inc/loadenv/loadenv.hxx @@ -2,9 +2,9 @@ * * $RCSfile: loadenv.hxx,v $ * - * $Revision: 1.5 $ + * $Revision: 1.6 $ * - * last change: $Author: rt $ $Date: 2005-02-02 13:53:53 $ + * last change: $Author: kz $ $Date: 2005-03-04 00:14:01 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -530,6 +530,23 @@ class LoadEnv : private ThreadHelpBase /** TODO document me ... */ css::uno::Reference< css::uno::XInterface > impl_searchLoader(); + //_______________________________________ + + /** @short it means; show the frame, bring it to front, + might set the right icon etcpp. in case loading was + successfully or reactivate a might existing old document or + close the frame if it was created before in case loading failed. + + @throw A LoadEnvException only in cases, where an internal error indicates, + that the complete load environment seems to be not useable in general. + In such cases a RuntimeException would be to hard for the outside code :-) + + @throw A RuntimeException in case any internal process indicates, that + the whole runtime cant be used any longer. + */ + void impl_reactForLoadingState() + throw(LoadEnvException, css::uno::RuntimeException); + //___________________________________________ // private helper @@ -678,20 +695,33 @@ class LoadEnv : private ThreadHelpBase //_______________________________________ - /** @short it means; show the frame, bring it to front, - might set the right icon etcpp. in case loading was - successfully or reactivate a might existing old document or - close the frame if it was created before in case loading failed. - - @throw A LoadEnvException only in cases, where an internal error indicates, - that the complete load environment seems to be not useable in general. - In such cases a RuntimeException would be to hard for the outside code :-) - - @throw A RuntimeException in case any internal process indicates, that - the whole runtime cant be used any longer. + /** @short because showing of a frame is needed more then once ... + it's implemented as an seperate method .-) + + @descr Note: Showing of a frame is bound to a special feature ... + a) If we recycle any existing frame, we must bring it to front. + Showing of such frame isnt needed realy .. because we recycle + visible frames only! + b) If the document was already shown (e.g. by our progress implementation) + we do nothing here. The reason behind: The document was already shown .. + and it was already make a top window ... + If the user activated another frame inbetween (because loading needed some time) + it's not allowed to disturb the user again. Then the frame must resists in the background. + c) If the frame was not shown before ... but loading of a visible document into this frame + was finished ... we need both actions: setVisible() and toFront(). + + @param xWindow + points to the container window of a frame. + + @param bForceToFront + if it's set to FALSE ... showing of the window is done more intelligent. + setVisible() is called only if the window was not shown before. + This mode is needed by b) and c) + If it's set to TRUE ... both actions has to be done: setVisible(), toFront()! + This mode is needed by a) */ - void impl_reactForLoadingState() - throw(LoadEnvException, css::uno::RuntimeException); + void impl_makeFrameWindowVisible(const css::uno::Reference< css::awt::XWindow >& xWindow , + sal_Bool bForceToFront); }; } // namespace framework |