diff options
author | Oliver Bolte <obo@openoffice.org> | 2004-09-09 15:23:36 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2004-09-09 15:23:36 +0000 |
commit | d1b08c1e1846f10663dc0c62e88b4a6c50c77935 (patch) | |
tree | 7bbd31d115c2a8d2b7dcb10a5f65a95f080180a2 /vcl/source/window/winproc.cxx | |
parent | 3d4db04773f84a1da84c26d26c306dfcb01bb68e (diff) |
INTEGRATION: CWS toolbars2 (1.89.66); FILE MERGED
2004/08/20 09:08:37 cd 1.89.66.7: RESYNC: (1.90-1.91); FILE MERGED
2004/08/18 16:39:17 ssa 1.89.66.6: #i32198# let sfx handle show/hide of floating toolbars
2004/08/09 15:10:31 ssa 1.89.66.5: #i32198# restore ownerdraw windows only if they were hidden automatically
2004/08/06 15:33:54 ssa 1.89.66.4: #i32198# improve ownerdraw decoration support
2004/08/04 07:45:20 ssa 1.89.66.3: #i32198# keep position of client- and borderwindows always in sync
2004/08/02 08:32:37 ssa 1.89.66.2: RESYNC: (1.89-1.90); FILE MERGED
2004/07/30 11:57:51 ssa 1.89.66.1: #i32198# initial suport for system floaters with owner draw decoration
Diffstat (limited to 'vcl/source/window/winproc.cxx')
-rw-r--r-- | vcl/source/window/winproc.cxx | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx index 88513fd278d7..e8d36d131592 100644 --- a/vcl/source/window/winproc.cxx +++ b/vcl/source/window/winproc.cxx @@ -2,9 +2,9 @@ * * $RCSfile: winproc.cxx,v $ * - * $Revision: 1.91 $ + * $Revision: 1.92 $ * - * last change: $Author: obo $ $Date: 2004-08-12 10:47:29 $ + * last change: $Author: obo $ $Date: 2004-09-09 16:23:36 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -161,6 +161,15 @@ #include <com/sun/star/awt/MouseEvent.hpp> #endif +#if OSL_DEBUG_LEVEL > 1 +char dbgbuffer[1024]; +#ifndef WNT +#include <stdio.h> +#define MyOutputDebugString(s) (fprintf(stderr, s )) +#else +extern void MyOutputDebugString( char *s); +#endif +#endif //#define USE_NEW_RTL_IMPLEMENTATION @@ -795,10 +804,11 @@ long ImplHandleMouseEvent( Window* pWindow, USHORT nSVEvent, BOOL bMouseLeave, if ( nSVEvent == EVENT_MOUSEMOVE ) pChild->mpFrameData->mbInMouseMove = TRUE; - // Fenster bei Klick nach vorne bringen + // bring window into foreground on mouseclick if ( nSVEvent == EVENT_MOUSEBUTTONDOWN ) { - if( !pSVData->maWinData.mpFirstFloat ) // totop for floating windows would change the focus + if( !pSVData->maWinData.mpFirstFloat && // totop for floating windows in popup would change the focus and would close them immediately + !(pChild->mpFrameWindow->GetStyle() & WB_OWNERDRAWDECORATION) ) // ownerdrawdecorated windows must never grab focus pChild->ToTop(); if ( aDelData.IsDelete() ) return 1; @@ -1640,7 +1650,8 @@ void ImplHandleResize( Window* pWindow, long nNewWidth, long nNewHeight ) ( pWindow->mbFrame && pWindow->mpClientWindow ) ) // propagate resize for system border windows { // use resize buffering for user resizes - if( pWindow->mbFrame && (pWindow->GetStyle() & WB_SIZEABLE) ) + // ownerdraw decorated windows can be resized immediately + if( pWindow->mbFrame && (pWindow->GetStyle() & WB_SIZEABLE) && !(pWindow->GetStyle() & WB_OWNERDRAWDECORATION) ) pWindow->mpFrameData->maResizeTimer.Start(); else pWindow->ImplCallResize(); // otherwise menues cannot be positioned @@ -1677,6 +1688,8 @@ void ImplHandleMove( Window* pWindow, long nNewX, long nNewY ) if ( pWindow->IsVisible() ) pWindow->ImplCallMove(); + else + pWindow->mbCallMove = TRUE; // make sure the framepos will be updated on the next Show() if ( pWindow->mbFrame && pWindow->mpClientWindow ) pWindow->mpClientWindow->ImplCallMove(); // notify client to update geometry @@ -1711,6 +1724,7 @@ static void ImplActivateFloatingWindows( Window* pWindow, BOOL bActive ) } } + // ----------------------------------------------------------------------- IMPL_LINK( Window, ImplAsyncFocusHdl, void*, EMPTYARG ) |