diff options
author | Kurt Zenker <kz@openoffice.org> | 2007-12-12 12:20:34 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2007-12-12 12:20:34 +0000 |
commit | 6024c2c252c75ed2481db479a53ef1451f047513 (patch) | |
tree | 9aa3fd7b05673aa120b559019f13b183d5a5813d /vcl/source/window | |
parent | 1a6032f9f2e148d0ed7fe02150e91fa714bfa2b8 (diff) |
INTEGRATION: CWS vcl84 (1.264.52); FILE MERGED
2007/12/03 10:02:24 pl 1.264.52.3: RESYNC: (1.264-1.266); FILE MERGED
2007/11/05 15:56:20 pl 1.264.52.2: #i83113# scroll all children to enable back/forth scrolling of windows
2007/10/29 11:13:27 pl 1.264.52.1: #i83080# prevent an error case from crashing
Diffstat (limited to 'vcl/source/window')
-rw-r--r-- | vcl/source/window/window.cxx | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index 4353a1d1c6f0..2c250584b121 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -4,9 +4,9 @@ * * $RCSfile: window.cxx,v $ * - * $Revision: 1.267 $ + * $Revision: 1.268 $ * - * last change: $Author: vg $ $Date: 2007-12-07 11:50:48 $ + * last change: $Author: kz $ $Date: 2007-12-12 13:20:34 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -767,7 +767,7 @@ void Window::ImplInit( Window* pParent, WinBits nStyle, SystemParentData* pSyste Window* pRealParent = pParent; // 3D-Look vererben - if ( !mpWindowImpl->mbOverlapWin && (pParent->GetStyle() & WB_3DLOOK) ) + if ( !mpWindowImpl->mbOverlapWin && pParent && (pParent->GetStyle() & WB_3DLOOK) ) nStyle |= WB_3DLOOK; // Wenn wir einen Border haben, muessen wir ein BorderWindow anlegen @@ -779,6 +779,11 @@ void Window::ImplInit( Window* pParent, WinBits nStyle, SystemParentData* pSyste mpWindowImpl->mpBorderWindow = pBorderWin; pParent = mpWindowImpl->mpBorderWindow; } + else if( !mpWindowImpl->mbFrame && ! pParent ) + { + mpWindowImpl->mbOverlapWin = TRUE; + mpWindowImpl->mbFrame = TRUE; + } // insert window in list ImplInsertWindow( pParent ); @@ -3021,34 +3026,29 @@ void Window::ImplScroll( const Rectangle& rRect, if ( bScrollChilds ) { - Rectangle aDestRect( rRect ); Window* pWindow = mpWindowImpl->mpFirstChild; while ( pWindow ) { - Rectangle aWinRect( Point( pWindow->mnOutOffX, pWindow->mnOutOffY ), - Size( pWindow->mnOutWidth, pWindow->mnOutHeight ) ); - if ( aDestRect.IsOver( aWinRect ) ) + pWindow->mpWindowImpl->mnX += nHorzScroll; + pWindow->mpWindowImpl->maPos.X() += nHorzScroll; + pWindow->mpWindowImpl->mnY += nVertScroll; + pWindow->mpWindowImpl->maPos.Y() += nVertScroll; + if ( pWindow->ImplUpdatePos() ) + pWindow->ImplUpdateSysObjPos(); + if ( pWindow->IsReallyVisible() ) + pWindow->ImplSetClipFlag(); + if ( pWindow->mpWindowImpl->mpClientWindow ) + pWindow->mpWindowImpl->mpClientWindow->mpWindowImpl->maPos = pWindow->mpWindowImpl->maPos; + + if ( pWindow->IsVisible() ) { - pWindow->mpWindowImpl->mnX += nHorzScroll; - pWindow->mpWindowImpl->maPos.X() += nHorzScroll; - pWindow->mpWindowImpl->mnY += nVertScroll; - pWindow->mpWindowImpl->maPos.Y() += nVertScroll; - if ( pWindow->ImplUpdatePos() ) - pWindow->ImplUpdateSysObjPos(); - if ( pWindow->IsReallyVisible() ) - pWindow->ImplSetClipFlag(); - if ( pWindow->mpWindowImpl->mpClientWindow ) - pWindow->mpWindowImpl->mpClientWindow->mpWindowImpl->maPos = pWindow->mpWindowImpl->maPos; - - if ( pWindow->IsVisible() ) - { - pWindow->ImplCallMove(); - } - else - { - pWindow->mpWindowImpl->mbCallMove = TRUE; - } + pWindow->ImplCallMove(); } + else + { + pWindow->mpWindowImpl->mbCallMove = TRUE; + } + pWindow = pWindow->mpWindowImpl->mpNext; } } |