window.cxx (437a6594) | window.cxx (dd7ece3a) |
---|---|
1/************************************************************** | 1/************************************************************** |
2 * | 2 * |
3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at | 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at |
10 * | 10 * |
11 * http://www.apache.org/licenses/LICENSE-2.0 | 11 * http://www.apache.org/licenses/LICENSE-2.0 |
12 * | 12 * |
13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. | 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. |
19 * | 19 * |
20 *************************************************************/ 21 22 23 24// MARKER(update_precomp.py): autogen include statement, do not remove 25#include "precompiled_vcl.hxx" 26 27#include "tools/time.hxx" --- 119 unchanged lines hidden (view full) --- 147 148// ----------------------------------------------------------------------- 149 150WindowImpl::WindowImpl( WindowType nType ) 151{ 152 maZoom = Fraction( 1, 1 ); 153 maWinRegion = Region(true); 154 maWinClipRegion = Region(true); | 20 *************************************************************/ 21 22 23 24// MARKER(update_precomp.py): autogen include statement, do not remove 25#include "precompiled_vcl.hxx" 26 27#include "tools/time.hxx" --- 119 unchanged lines hidden (view full) --- 147 148// ----------------------------------------------------------------------- 149 150WindowImpl::WindowImpl( WindowType nType ) 151{ 152 maZoom = Fraction( 1, 1 ); 153 maWinRegion = Region(true); 154 maWinClipRegion = Region(true); |
155 mpWinData = NULL; // Extra Window Data, that we dont need for all windows | 155 mpWinData = NULL; // Extra Window Data, that we don't need for all windows |
156 mpOverlapData = NULL; // Overlap Data 157 mpFrameData = NULL; // Frame Data 158 mpFrame = NULL; // Pointer to frame window 159 mpSysObj = NULL; 160 mpFrameWindow = NULL; // window to top level parent (same as frame window) 161 mpOverlapWindow = NULL; // first overlap parent 162 mpBorderWindow = NULL; // Border-Window 163 mpClientWindow = NULL; // Client-Window of a FrameWindow | 156 mpOverlapData = NULL; // Overlap Data 157 mpFrameData = NULL; // Frame Data 158 mpFrame = NULL; // Pointer to frame window 159 mpSysObj = NULL; 160 mpFrameWindow = NULL; // window to top level parent (same as frame window) 161 mpOverlapWindow = NULL; // first overlap parent 162 mpBorderWindow = NULL; // Border-Window 163 mpClientWindow = NULL; // Client-Window of a FrameWindow |
164 mpParent = NULL; // parent (inkl. BorderWindow) 165 mpRealParent = NULL; // real parent (exkl. BorderWindow) | 164 mpParent = NULL; // parent (incl. BorderWindow) 165 mpRealParent = NULL; // real parent (excl. BorderWindow) |
166 mpFirstChild = NULL; // first child window 167 mpLastChild = NULL; // last child window 168 mpFirstOverlap = NULL; // first overlap window (only set in overlap windows) 169 mpLastOverlap = NULL; // last overlap window (only set in overlap windows) 170 mpPrev = NULL; // prev window 171 mpNext = NULL; // next window 172 mpNextOverlap = NULL; // next overlap window of frame 173 mpLastFocusWindow = NULL; // window for focus restore 174 mpDlgCtrlDownWindow = NULL; // window for dialog control 175 mpFirstDel = NULL; // Dtor notification list 176 mpUserData = NULL; // user data 177 mpExtImpl = NULL; // extended implementation data 178 mpCursor = NULL; // cursor | 166 mpFirstChild = NULL; // first child window 167 mpLastChild = NULL; // last child window 168 mpFirstOverlap = NULL; // first overlap window (only set in overlap windows) 169 mpLastOverlap = NULL; // last overlap window (only set in overlap windows) 170 mpPrev = NULL; // prev window 171 mpNext = NULL; // next window 172 mpNextOverlap = NULL; // next overlap window of frame 173 mpLastFocusWindow = NULL; // window for focus restore 174 mpDlgCtrlDownWindow = NULL; // window for dialog control 175 mpFirstDel = NULL; // Dtor notification list 176 mpUserData = NULL; // user data 177 mpExtImpl = NULL; // extended implementation data 178 mpCursor = NULL; // cursor |
179 mpControlFont = NULL; // font propertie | 179 mpControlFont = NULL; // font property |
180 mpVCLXWindow = NULL; 181 mpAccessibleInfos = NULL; 182 maControlForeground = Color( COL_TRANSPARENT ); // foreground color not set 183 maControlBackground = Color( COL_TRANSPARENT ); // background color not set 184 mnLeftBorder = 0; // left border 185 mnTopBorder = 0; // top border 186 mnRightBorder = 0; // right border 187 mnBottomBorder = 0; // bottom border --- 31 unchanged lines hidden (view full) --- 219 mbOverlapVisible = sal_False; // sal_True: Hide called for visible window from ImplHideAllOverlapWindow() 220 mbDisabled = sal_False; // sal_True: Enable( sal_False ) called 221 mbInputDisabled = sal_False; // sal_True: EnableInput( sal_False ) called 222 mbDropDisabled = sal_False; // sal_True: Drop is enabled 223 mbNoUpdate = sal_False; // sal_True: SetUpdateMode( sal_False ) called 224 mbNoParentUpdate = sal_False; // sal_True: SetParentUpdateMode( sal_False ) called 225 mbActive = sal_False; // sal_True: Window Active 226 mbParentActive = sal_False; // sal_True: OverlapActive from Parent | 180 mpVCLXWindow = NULL; 181 mpAccessibleInfos = NULL; 182 maControlForeground = Color( COL_TRANSPARENT ); // foreground color not set 183 maControlBackground = Color( COL_TRANSPARENT ); // background color not set 184 mnLeftBorder = 0; // left border 185 mnTopBorder = 0; // top border 186 mnRightBorder = 0; // right border 187 mnBottomBorder = 0; // bottom border --- 31 unchanged lines hidden (view full) --- 219 mbOverlapVisible = sal_False; // sal_True: Hide called for visible window from ImplHideAllOverlapWindow() 220 mbDisabled = sal_False; // sal_True: Enable( sal_False ) called 221 mbInputDisabled = sal_False; // sal_True: EnableInput( sal_False ) called 222 mbDropDisabled = sal_False; // sal_True: Drop is enabled 223 mbNoUpdate = sal_False; // sal_True: SetUpdateMode( sal_False ) called 224 mbNoParentUpdate = sal_False; // sal_True: SetParentUpdateMode( sal_False ) called 225 mbActive = sal_False; // sal_True: Window Active 226 mbParentActive = sal_False; // sal_True: OverlapActive from Parent |
227 mbReallyVisible = sal_False; // sal_True: this and all parents to an overlaped window are visible 228 mbReallyShown = sal_False; // sal_True: this and all parents to an overlaped window are shown | 227 mbReallyVisible = sal_False; // sal_True: this and all parents to an overlapped window are visible 228 mbReallyShown = sal_False; // sal_True: this and all parents to an overlapped window are shown |
229 mbInInitShow = sal_False; // sal_True: we are in InitShow 230 mbChildNotify = sal_False; // sal_True: ChildNotify 231 mbChildPtrOverwrite = sal_False; // sal_True: PointerStyle overwrites Child-Pointer 232 mbNoPtrVisible = sal_False; // sal_True: ShowPointer( sal_False ) called 233 mbMouseMove = sal_False; // sal_True: BaseMouseMove called 234 mbPaintFrame = sal_False; // sal_True: Paint is visible, but not painted 235 mbInPaint = sal_False; // sal_True: Inside PaintHdl 236 mbMouseButtonDown = sal_False; // sal_True: BaseMouseButtonDown called --- 156 unchanged lines hidden (view full) --- 393 if( ImplGetSVData()->maGDIData.mbNativeFontConfig ) 394 return true; 395 396 // create a text string using the localized text of important buttons 397 String aTestText; 398 static const StandardButtonType aTestButtons[] = 399 { 400 BUTTON_OK, BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_ABORT, | 229 mbInInitShow = sal_False; // sal_True: we are in InitShow 230 mbChildNotify = sal_False; // sal_True: ChildNotify 231 mbChildPtrOverwrite = sal_False; // sal_True: PointerStyle overwrites Child-Pointer 232 mbNoPtrVisible = sal_False; // sal_True: ShowPointer( sal_False ) called 233 mbMouseMove = sal_False; // sal_True: BaseMouseMove called 234 mbPaintFrame = sal_False; // sal_True: Paint is visible, but not painted 235 mbInPaint = sal_False; // sal_True: Inside PaintHdl 236 mbMouseButtonDown = sal_False; // sal_True: BaseMouseButtonDown called --- 156 unchanged lines hidden (view full) --- 393 if( ImplGetSVData()->maGDIData.mbNativeFontConfig ) 394 return true; 395 396 // create a text string using the localized text of important buttons 397 String aTestText; 398 static const StandardButtonType aTestButtons[] = 399 { 400 BUTTON_OK, BUTTON_CANCEL, BUTTON_CLOSE, BUTTON_ABORT, |
401 BUTTON_YES, BUTTON_NO, BUTTON_MORE, BUTTON_IGNORE, | 401 BUTTON_YES, BUTTON_NO, BUTTON_MORE, BUTTON_IGNORE, |
402 BUTTON_RETRY, BUTTON_HELP 403 }; 404 405 const int nTestButtonCount = sizeof(aTestButtons)/sizeof(*aTestButtons); 406 for( int n = 0; n < nTestButtonCount; ++n ) 407 { 408 String aButtonStr = Button::GetStandardText( aTestButtons[n] ); 409 // #i115432# ignore mnemonic+accelerator part of each string --- 109 unchanged lines hidden (view full) --- 519 rSettings.SetStyleSettings( aStyleSettings ); 520 } 521 522 StyleSettings aStyleSettings = rSettings.GetStyleSettings(); 523 // #97047: Force all fonts except Menu and Help to a fixed height 524 // to avoid UI scaling due to large fonts 525 // - but allow bigger fonts on bigger screens (i16682, i21238) 526 // dialogs were designed to fit 800x600 with an 8pt font, so scale accordingly | 402 BUTTON_RETRY, BUTTON_HELP 403 }; 404 405 const int nTestButtonCount = sizeof(aTestButtons)/sizeof(*aTestButtons); 406 for( int n = 0; n < nTestButtonCount; ++n ) 407 { 408 String aButtonStr = Button::GetStandardText( aTestButtons[n] ); 409 // #i115432# ignore mnemonic+accelerator part of each string --- 109 unchanged lines hidden (view full) --- 519 rSettings.SetStyleSettings( aStyleSettings ); 520 } 521 522 StyleSettings aStyleSettings = rSettings.GetStyleSettings(); 523 // #97047: Force all fonts except Menu and Help to a fixed height 524 // to avoid UI scaling due to large fonts 525 // - but allow bigger fonts on bigger screens (i16682, i21238) 526 // dialogs were designed to fit 800x600 with an 8pt font, so scale accordingly |
527 int maxFontheight = 9; // #107886#: 9 is default for some asian systems, so always allow if requested | 527 int maxFontheight = 9; // #107886#: 9 is default for some Asian systems, so always allow if requested |
528 if( GetDesktopRectPixel().getHeight() > 600 ) 529 maxFontheight = (int) ((( 8.0 * (double) GetDesktopRectPixel().getHeight()) / 600.0) + 1.5); 530 531 Font aFont = aStyleSettings.GetMenuFont(); 532 int defFontheight = aFont.GetHeight(); 533 if( defFontheight > maxFontheight ) 534 defFontheight = maxFontheight; 535 | 528 if( GetDesktopRectPixel().getHeight() > 600 ) 529 maxFontheight = (int) ((( 8.0 * (double) GetDesktopRectPixel().getHeight()) / 600.0) + 1.5); 530 531 Font aFont = aStyleSettings.GetMenuFont(); 532 int defFontheight = aFont.GetHeight(); 533 if( defFontheight > maxFontheight ) 534 defFontheight = maxFontheight; 535 |
536 // if the UI is korean, chinese or another locale 537 // where the system font size is kown to be often too small to | 536 // if the UI is Korean, Chinese or another locale 537 // where the system font size is known to be often too small to |
538 // generate readable fonts enforce a minimum font size of 9 points 539 bool bBrokenLangFontHeight = false; 540 static const LanguageType eBrokenSystemFontSizeLanguages[] = 541 { LANGUAGE_KOREAN, LANGUAGE_KOREAN_JOHAB, 542 LANGUAGE_CHINESE_HONGKONG, LANGUAGE_CHINESE_MACAU, LANGUAGE_CHINESE_SIMPLIFIED, LANGUAGE_CHINESE_SINGAPORE, LANGUAGE_CHINESE_TRADITIONAL 543 }; 544 static std::set< LanguageType > aBrokenSystemFontSizeLanguagesSet( 545 eBrokenSystemFontSizeLanguages, | 538 // generate readable fonts enforce a minimum font size of 9 points 539 bool bBrokenLangFontHeight = false; 540 static const LanguageType eBrokenSystemFontSizeLanguages[] = 541 { LANGUAGE_KOREAN, LANGUAGE_KOREAN_JOHAB, 542 LANGUAGE_CHINESE_HONGKONG, LANGUAGE_CHINESE_MACAU, LANGUAGE_CHINESE_SIMPLIFIED, LANGUAGE_CHINESE_SINGAPORE, LANGUAGE_CHINESE_TRADITIONAL 543 }; 544 static std::set< LanguageType > aBrokenSystemFontSizeLanguagesSet( 545 eBrokenSystemFontSizeLanguages, |
546 eBrokenSystemFontSizeLanguages + | 546 eBrokenSystemFontSizeLanguages + |
547 (sizeof(eBrokenSystemFontSizeLanguages)/sizeof(eBrokenSystemFontSizeLanguages[0])) 548 ); 549 LanguageType aLang = Application::GetSettings().GetUILanguage(); 550 if( aBrokenSystemFontSizeLanguagesSet.find( aLang ) != aBrokenSystemFontSizeLanguagesSet.end() ) 551 { 552 defFontheight = Max(9, defFontheight); 553 bBrokenLangFontHeight = true; 554 } --- 88 unchanged lines hidden (view full) --- 643 || rSettings.GetStyleSettings().GetWindowColor().IsDark() ) 644 { 645 aStyleSettings = rSettings.GetStyleSettings(); 646 aStyleSettings.SetHighContrastMode( sal_True ); 647 rSettings.SetStyleSettings( aStyleSettings ); 648 } 649 } 650 } | 547 (sizeof(eBrokenSystemFontSizeLanguages)/sizeof(eBrokenSystemFontSizeLanguages[0])) 548 ); 549 LanguageType aLang = Application::GetSettings().GetUILanguage(); 550 if( aBrokenSystemFontSizeLanguagesSet.find( aLang ) != aBrokenSystemFontSizeLanguagesSet.end() ) 551 { 552 defFontheight = Max(9, defFontheight); 553 bBrokenLangFontHeight = true; 554 } --- 88 unchanged lines hidden (view full) --- 643 || rSettings.GetStyleSettings().GetWindowColor().IsDark() ) 644 { 645 aStyleSettings = rSettings.GetStyleSettings(); 646 aStyleSettings.SetHighContrastMode( sal_True ); 647 rSettings.SetStyleSettings( aStyleSettings ); 648 } 649 } 650 } |
651 | 651 |
652 static const char* pEnvHC = getenv( "SAL_FORCE_HC" ); 653 if( pEnvHC && *pEnvHC ) 654 { 655 aStyleSettings.SetHighContrastMode( sal_True ); 656 rSettings.SetStyleSettings( aStyleSettings ); 657 } 658 659#ifdef DBG_UTIL --- 74 unchanged lines hidden (view full) --- 734// ----------------------------------------------------------------------- 735 736void Window::ImplInit( Window* pParent, WinBits nStyle, SystemParentData* pSystemParentData ) 737{ 738 DBG_ASSERT( mpWindowImpl->mbFrame || pParent, "Window::Window(): pParent == NULL" ); 739 740 ImplSVData* pSVData = ImplGetSVData(); 741 Window* pRealParent = pParent; | 652 static const char* pEnvHC = getenv( "SAL_FORCE_HC" ); 653 if( pEnvHC && *pEnvHC ) 654 { 655 aStyleSettings.SetHighContrastMode( sal_True ); 656 rSettings.SetStyleSettings( aStyleSettings ); 657 } 658 659#ifdef DBG_UTIL --- 74 unchanged lines hidden (view full) --- 734// ----------------------------------------------------------------------- 735 736void Window::ImplInit( Window* pParent, WinBits nStyle, SystemParentData* pSystemParentData ) 737{ 738 DBG_ASSERT( mpWindowImpl->mbFrame || pParent, "Window::Window(): pParent == NULL" ); 739 740 ImplSVData* pSVData = ImplGetSVData(); 741 Window* pRealParent = pParent; |
742 | 742 |
743 // 3D-Look vererben 744 if ( !mpWindowImpl->mbOverlapWin && pParent && (pParent->GetStyle() & WB_3DLOOK) ) 745 nStyle |= WB_3DLOOK; 746 747 // create border window if necessary 748 if ( !mpWindowImpl->mbFrame && !mpWindowImpl->mbBorderWin && !mpWindowImpl->mpBorderWindow 749 && (nStyle & (WB_BORDER | WB_SYSTEMCHILDWINDOW) ) ) 750 { --- 394 unchanged lines hidden (view full) --- 1145 if( GetBackground().IsGradient() ) 1146 Invalidate(); 1147 1148 Resize(); 1149 1150 // #88419# Most classes don't call the base class in Resize() and Move(), 1151 // => Call ImpleResize/Move instead of Resize/Move directly... 1152 ImplCallEventListeners( VCLEVENT_WINDOW_RESIZE ); | 743 // 3D-Look vererben 744 if ( !mpWindowImpl->mbOverlapWin && pParent && (pParent->GetStyle() & WB_3DLOOK) ) 745 nStyle |= WB_3DLOOK; 746 747 // create border window if necessary 748 if ( !mpWindowImpl->mbFrame && !mpWindowImpl->mbBorderWin && !mpWindowImpl->mpBorderWindow 749 && (nStyle & (WB_BORDER | WB_SYSTEMCHILDWINDOW) ) ) 750 { --- 394 unchanged lines hidden (view full) --- 1145 if( GetBackground().IsGradient() ) 1146 Invalidate(); 1147 1148 Resize(); 1149 1150 // #88419# Most classes don't call the base class in Resize() and Move(), 1151 // => Call ImpleResize/Move instead of Resize/Move directly... 1152 ImplCallEventListeners( VCLEVENT_WINDOW_RESIZE ); |
1153 | 1153 |
1154 ImplExtResize(); 1155} 1156 1157// ----------------------------------------------------------------------- 1158 1159void Window::ImplCallMove() 1160{ 1161 mpWindowImpl->mbCallMove = sal_False; --- 17 unchanged lines hidden (view full) --- 1179 mpWindowImpl->maPos = Point( g.nX, g.nY ); 1180 if( pParentFrame ) 1181 { 1182 g = pParentFrame->GetGeometry(); 1183 mpWindowImpl->maPos -= Point( g.nX, g.nY ); 1184 } 1185 // the client window and and all its subclients have the same position as the borderframe 1186 // this is important for floating toolbars where the borderwindow is a floating window | 1154 ImplExtResize(); 1155} 1156 1157// ----------------------------------------------------------------------- 1158 1159void Window::ImplCallMove() 1160{ 1161 mpWindowImpl->mbCallMove = sal_False; --- 17 unchanged lines hidden (view full) --- 1179 mpWindowImpl->maPos = Point( g.nX, g.nY ); 1180 if( pParentFrame ) 1181 { 1182 g = pParentFrame->GetGeometry(); 1183 mpWindowImpl->maPos -= Point( g.nX, g.nY ); 1184 } 1185 // the client window and and all its subclients have the same position as the borderframe 1186 // this is important for floating toolbars where the borderwindow is a floating window |
1187 // which has another borderwindow (ie the system floating window) | 1187 // which has another borderwindow (i.e. the system floating window) |
1188 Window *pClientWin = mpWindowImpl->mpClientWindow; 1189 while( pClientWin ) 1190 { 1191 pClientWin->mpWindowImpl->maPos = mpWindowImpl->maPos; 1192 pClientWin = pClientWin->mpWindowImpl->mpClientWindow; 1193 } 1194 } 1195 1196 Move(); 1197 1198 ImplCallEventListeners( VCLEVENT_WINDOW_MOVE ); 1199} 1200 1201// ----------------------------------------------------------------------- 1202 1203static rtl::OString ImplAutoHelpID( ResMgr* pResMgr ) 1204{ 1205 rtl::OString aRet; | 1188 Window *pClientWin = mpWindowImpl->mpClientWindow; 1189 while( pClientWin ) 1190 { 1191 pClientWin->mpWindowImpl->maPos = mpWindowImpl->maPos; 1192 pClientWin = pClientWin->mpWindowImpl->mpClientWindow; 1193 } 1194 } 1195 1196 Move(); 1197 1198 ImplCallEventListeners( VCLEVENT_WINDOW_MOVE ); 1199} 1200 1201// ----------------------------------------------------------------------- 1202 1203static rtl::OString ImplAutoHelpID( ResMgr* pResMgr ) 1204{ 1205 rtl::OString aRet; |
1206 | 1206 |
1207 if( pResMgr && Application::IsAutoHelpIdEnabled() ) 1208 aRet = pResMgr->GetAutoHelpId(); 1209 1210 return aRet; 1211} 1212 1213// ----------------------------------------------------------------------- 1214 --- 18 unchanged lines hidden (view full) --- 1233 // if the resource only contains flags, it will be closed before we try to read a help id 1234 // so we always create an auto help id that might be overwritten later 1235 // HelpId 1236 rtl::OString aHelpId = ImplAutoHelpID( rResId.GetResMgr() ); 1237 1238 // ResourceStyle 1239 sal_uLong nRSStyle = ReadLongRes(); 1240 // WinBits | 1207 if( pResMgr && Application::IsAutoHelpIdEnabled() ) 1208 aRet = pResMgr->GetAutoHelpId(); 1209 1210 return aRet; 1211} 1212 1213// ----------------------------------------------------------------------- 1214 --- 18 unchanged lines hidden (view full) --- 1233 // if the resource only contains flags, it will be closed before we try to read a help id 1234 // so we always create an auto help id that might be overwritten later 1235 // HelpId 1236 rtl::OString aHelpId = ImplAutoHelpID( rResId.GetResMgr() ); 1237 1238 // ResourceStyle 1239 sal_uLong nRSStyle = ReadLongRes(); 1240 // WinBits |
1241 ReadLongRes(); 1242 | 1241 ReadLongRes(); 1242 |
1243 if( nObjMask & WINDOW_HELPID ) 1244 aHelpId = ReadByteStringRes(); 1245 1246 SetHelpId( aHelpId ); 1247 1248 sal_Bool bPos = sal_False; 1249 sal_Bool bSize = sal_False; 1250 Point aPos; --- 267 unchanged lines hidden (view full) --- 1518 if ( IsEnabled() && IsInputEnabled() && ! IsInModalMode() ) 1519 ePointerStyle = GetPointer().GetStyle(); 1520 else 1521 ePointerStyle = POINTER_ARROW; 1522 1523 const Window* pWindow = this; 1524 do 1525 { | 1243 if( nObjMask & WINDOW_HELPID ) 1244 aHelpId = ReadByteStringRes(); 1245 1246 SetHelpId( aHelpId ); 1247 1248 sal_Bool bPos = sal_False; 1249 sal_Bool bSize = sal_False; 1250 Point aPos; --- 267 unchanged lines hidden (view full) --- 1518 if ( IsEnabled() && IsInputEnabled() && ! IsInModalMode() ) 1519 ePointerStyle = GetPointer().GetStyle(); 1520 else 1521 ePointerStyle = POINTER_ARROW; 1522 1523 const Window* pWindow = this; 1524 do 1525 { |
1526 // Wenn Pointer nicht sichtbar, dann wird suche abgebrochen, da | 1526 // Wenn Pointer nicht sichtbar, dann wird Suche abgebrochen, da |
1527 // dieser Status nicht ueberschrieben werden darf 1528 if ( pWindow->mpWindowImpl->mbNoPtrVisible ) 1529 return POINTER_NULL; 1530 1531 if ( !bWait ) 1532 { 1533 if ( pWindow->mpWindowImpl->mnWaitCount ) 1534 { --- 280 unchanged lines hidden (view full) --- 1815 // ClipRegion setzen/updaten 1816 RectangleVector aRectangles; 1817 aRegion.GetRegionRectangles(aRectangles); 1818 mpWindowImpl->mpSysObj->BeginSetClipRegion(aRectangles.size()); 1819 1820 for(RectangleVector::const_iterator aRectIter(aRectangles.begin()); aRectIter != aRectangles.end(); aRectIter++) 1821 { 1822 mpWindowImpl->mpSysObj->UnionClipRegion( | 1527 // dieser Status nicht ueberschrieben werden darf 1528 if ( pWindow->mpWindowImpl->mbNoPtrVisible ) 1529 return POINTER_NULL; 1530 1531 if ( !bWait ) 1532 { 1533 if ( pWindow->mpWindowImpl->mnWaitCount ) 1534 { --- 280 unchanged lines hidden (view full) --- 1815 // ClipRegion setzen/updaten 1816 RectangleVector aRectangles; 1817 aRegion.GetRegionRectangles(aRectangles); 1818 mpWindowImpl->mpSysObj->BeginSetClipRegion(aRectangles.size()); 1819 1820 for(RectangleVector::const_iterator aRectIter(aRectangles.begin()); aRectIter != aRectangles.end(); aRectIter++) 1821 { 1822 mpWindowImpl->mpSysObj->UnionClipRegion( |
1823 aRectIter->Left(), 1824 aRectIter->Top(), | 1823 aRectIter->Left(), 1824 aRectIter->Top(), |
1825 aRectIter->GetWidth(), // orig nWidth was ((R - L) + 1), same as GetWidth does 1826 aRectIter->GetHeight()); // same for height 1827 } 1828 1829 mpWindowImpl->mpSysObj->EndSetClipRegion(); 1830 1831 //long nX; 1832 //long nY; --- 535 unchanged lines hidden (view full) --- 2368void Window::ImplCallPaint( const Region* pRegion, sal_uInt16 nPaintFlags ) 2369{ 2370 Exception aException; 2371 bool bExceptionCaught(false); 2372 2373 // call PrePaint. PrePaint may add to the invalidate region as well as 2374 // other parameters used below. 2375 PrePaint(); | 1825 aRectIter->GetWidth(), // orig nWidth was ((R - L) + 1), same as GetWidth does 1826 aRectIter->GetHeight()); // same for height 1827 } 1828 1829 mpWindowImpl->mpSysObj->EndSetClipRegion(); 1830 1831 //long nX; 1832 //long nY; --- 535 unchanged lines hidden (view full) --- 2368void Window::ImplCallPaint( const Region* pRegion, sal_uInt16 nPaintFlags ) 2369{ 2370 Exception aException; 2371 bool bExceptionCaught(false); 2372 2373 // call PrePaint. PrePaint may add to the invalidate region as well as 2374 // other parameters used below. 2375 PrePaint(); |
2376 | 2376 |
2377 mpWindowImpl->mbPaintFrame = sal_False; 2378 2379 if ( nPaintFlags & IMPL_PAINT_PAINTALLCHILDS ) 2380 mpWindowImpl->mnPaintFlags |= IMPL_PAINT_PAINT | IMPL_PAINT_PAINTALLCHILDS | (nPaintFlags & IMPL_PAINT_PAINTALL); 2381 if ( nPaintFlags & IMPL_PAINT_PAINTCHILDS ) 2382 mpWindowImpl->mnPaintFlags |= IMPL_PAINT_PAINTCHILDS; 2383 if ( nPaintFlags & IMPL_PAINT_ERASE ) 2384 mpWindowImpl->mnPaintFlags |= IMPL_PAINT_ERASE; --- 69 unchanged lines hidden (view full) --- 2454 SetClipRegion(); 2455 Erase(); 2456 SetClipRegion( aOldRegion ); 2457 } 2458 else 2459 Erase(); 2460 } 2461 | 2377 mpWindowImpl->mbPaintFrame = sal_False; 2378 2379 if ( nPaintFlags & IMPL_PAINT_PAINTALLCHILDS ) 2380 mpWindowImpl->mnPaintFlags |= IMPL_PAINT_PAINT | IMPL_PAINT_PAINTALLCHILDS | (nPaintFlags & IMPL_PAINT_PAINTALL); 2381 if ( nPaintFlags & IMPL_PAINT_PAINTCHILDS ) 2382 mpWindowImpl->mnPaintFlags |= IMPL_PAINT_PAINTCHILDS; 2383 if ( nPaintFlags & IMPL_PAINT_ERASE ) 2384 mpWindowImpl->mnPaintFlags |= IMPL_PAINT_ERASE; --- 69 unchanged lines hidden (view full) --- 2454 SetClipRegion(); 2455 Erase(); 2456 SetClipRegion( aOldRegion ); 2457 } 2458 else 2459 Erase(); 2460 } 2461 |
2462 // #98943# trigger drawing of toolbox selection after all childern are painted | 2462 // #98943# trigger drawing of toolbox selection after all children are painted |
2463 if( mpWindowImpl->mbDrawSelectionBackground ) 2464 aSelectionRect = aPaintRect; 2465 2466 // Paint can throw exceptions; to not have a situation where | 2463 if( mpWindowImpl->mbDrawSelectionBackground ) 2464 aSelectionRect = aPaintRect; 2465 2466 // Paint can throw exceptions; to not have a situation where |
2467 // mpWindowImpl->mbInPaint keeps to be on true (and other | 2467 // mpWindowImpl->mbInPaint keeps to be on true (and other |
2468 // settings, too) better catch here to avoid to go completely out of 2469 // this method without executing the after-paint stuff 2470 try 2471 { 2472 Paint( aPaintRect ); 2473 } 2474 catch(Exception& rException) 2475 { --- 851 unchanged lines hidden (view full) --- 3327 else if( !bnXRecycled && mpWindowImpl->mpParent && !mpWindowImpl->mpParent->mpWindowImpl->mbFrame && mpWindowImpl->mpParent->ImplIsAntiparallel() ) 3328 { 3329 // mirrored window in LTR UI 3330 { 3331 // --- RTL --- (re-mirror at parent window) 3332 nX = mpWindowImpl->mpParent->mnOutWidth - mnOutWidth - nX; 3333 } 3334 } | 2468 // settings, too) better catch here to avoid to go completely out of 2469 // this method without executing the after-paint stuff 2470 try 2471 { 2472 Paint( aPaintRect ); 2473 } 2474 catch(Exception& rException) 2475 { --- 851 unchanged lines hidden (view full) --- 3327 else if( !bnXRecycled && mpWindowImpl->mpParent && !mpWindowImpl->mpParent->mpWindowImpl->mbFrame && mpWindowImpl->mpParent->ImplIsAntiparallel() ) 3328 { 3329 // mirrored window in LTR UI 3330 { 3331 // --- RTL --- (re-mirror at parent window) 3332 nX = mpWindowImpl->mpParent->mnOutWidth - mnOutWidth - nX; 3333 } 3334 } |
3335 | 3335 |
3336 // check maPos as well, as it could have been changed for client windows (ImplCallMove()) 3337 if ( mpWindowImpl->mnAbsScreenX != aPtDev.X() || nX != mpWindowImpl->mnX || nOrgX != mpWindowImpl->maPos.X() ) 3338 { 3339 if ( bCopyBits && !pOverlapRegion ) 3340 { 3341 pOverlapRegion = new Region(); 3342 ImplCalcOverlapRegion( Rectangle( Point( mnOutOffX, mnOutOffY ), 3343 Size( mnOutWidth, mnOutHeight ) ), --- 688 unchanged lines hidden (view full) --- 4032 } 4033 } 4034 4035 // If the Window is disabled, then we don't change the focus 4036 if ( !IsEnabled() || !IsInputEnabled() || IsInModalMode() ) 4037 return; 4038 4039 // we only need to set the focus if it is not already set | 3336 // check maPos as well, as it could have been changed for client windows (ImplCallMove()) 3337 if ( mpWindowImpl->mnAbsScreenX != aPtDev.X() || nX != mpWindowImpl->mnX || nOrgX != mpWindowImpl->maPos.X() ) 3338 { 3339 if ( bCopyBits && !pOverlapRegion ) 3340 { 3341 pOverlapRegion = new Region(); 3342 ImplCalcOverlapRegion( Rectangle( Point( mnOutOffX, mnOutOffY ), 3343 Size( mnOutWidth, mnOutHeight ) ), --- 688 unchanged lines hidden (view full) --- 4032 } 4033 } 4034 4035 // If the Window is disabled, then we don't change the focus 4036 if ( !IsEnabled() || !IsInputEnabled() || IsInModalMode() ) 4037 return; 4038 4039 // we only need to set the focus if it is not already set |
4040 // note: if some other frame is waiting for an asynchrounous focus event | 4040 // note: if some other frame is waiting for an asynchronous focus event |
4041 // we also have to post an asynchronous focus event for this frame 4042 // which is done using ToTop 4043 ImplSVData* pSVData = ImplGetSVData(); 4044 4045 sal_Bool bAsyncFocusWaiting = sal_False; 4046 Window *pFrame = pSVData->maWinData.mpFirstFrame; 4047 while( pFrame ) 4048 { --- 33 unchanged lines hidden (view full) --- 4082 4083 // Dieses Fenster als letztes FocusWindow merken 4084 Window* pOverlapWindow = ImplGetFirstOverlapWindow(); 4085 pOverlapWindow->mpWindowImpl->mpLastFocusWindow = this; 4086 mpWindowImpl->mpFrameData->mpFocusWin = this; 4087 4088 if( !bHasFocus ) 4089 { | 4041 // we also have to post an asynchronous focus event for this frame 4042 // which is done using ToTop 4043 ImplSVData* pSVData = ImplGetSVData(); 4044 4045 sal_Bool bAsyncFocusWaiting = sal_False; 4046 Window *pFrame = pSVData->maWinData.mpFirstFrame; 4047 while( pFrame ) 4048 { --- 33 unchanged lines hidden (view full) --- 4082 4083 // Dieses Fenster als letztes FocusWindow merken 4084 Window* pOverlapWindow = ImplGetFirstOverlapWindow(); 4085 pOverlapWindow->mpWindowImpl->mpLastFocusWindow = this; 4086 mpWindowImpl->mpFrameData->mpFocusWin = this; 4087 4088 if( !bHasFocus ) 4089 { |
4090 // menue windows never get the system focus | 4090 // menu windows never get the system focus |
4091 // the application will keep the focus 4092 if( bMustNotGrabFocus ) 4093 return; 4094 else 4095 { 4096 // Hier setzen wir schon den Focus um, da ToTop() den Focus 4097 // nicht auf ein anderes Fenster setzen darf 4098 //DBG_WARNING( "Window::GrabFocus() - Frame doesn't have the focus" ); --- 4 unchanged lines hidden (view full) --- 4103 4104 Window* pOldFocusWindow = pSVData->maWinData.mpFocusWin; 4105 ImplDelData aOldFocusDel( pOldFocusWindow ); 4106 4107 pSVData->maWinData.mpFocusWin = this; 4108 4109 if ( pOldFocusWindow ) 4110 { | 4091 // the application will keep the focus 4092 if( bMustNotGrabFocus ) 4093 return; 4094 else 4095 { 4096 // Hier setzen wir schon den Focus um, da ToTop() den Focus 4097 // nicht auf ein anderes Fenster setzen darf 4098 //DBG_WARNING( "Window::GrabFocus() - Frame doesn't have the focus" ); --- 4 unchanged lines hidden (view full) --- 4103 4104 Window* pOldFocusWindow = pSVData->maWinData.mpFocusWin; 4105 ImplDelData aOldFocusDel( pOldFocusWindow ); 4106 4107 pSVData->maWinData.mpFocusWin = this; 4108 4109 if ( pOldFocusWindow ) 4110 { |
4111 // Cursor hiden | 4111 // hide Cursor |
4112 if ( pOldFocusWindow->mpWindowImpl->mpCursor ) 4113 pOldFocusWindow->mpWindowImpl->mpCursor->ImplHide( true ); 4114 } 4115 4116 // !!!!! Wegen altem SV-Office Activate/Deavtivate Handling 4117 // !!!!! erstmal so wie frueher 4118 if ( pOldFocusWindow ) 4119 { --- 143 unchanged lines hidden (view full) --- 4263 if ( pSVData->maWinData.mpFocusWin == this ) 4264 { 4265 if ( mpWindowImpl->mpCursor ) 4266 mpWindowImpl->mpCursor->ImplShow(); 4267 mpWindowImpl->mbInFocusHdl = sal_True; 4268 mpWindowImpl->mnGetFocusFlags = nFlags; 4269 // if we're changing focus due to closing a popup floating window 4270 // notify the new focus window so it can restore the inner focus | 4112 if ( pOldFocusWindow->mpWindowImpl->mpCursor ) 4113 pOldFocusWindow->mpWindowImpl->mpCursor->ImplHide( true ); 4114 } 4115 4116 // !!!!! Wegen altem SV-Office Activate/Deavtivate Handling 4117 // !!!!! erstmal so wie frueher 4118 if ( pOldFocusWindow ) 4119 { --- 143 unchanged lines hidden (view full) --- 4263 if ( pSVData->maWinData.mpFocusWin == this ) 4264 { 4265 if ( mpWindowImpl->mpCursor ) 4266 mpWindowImpl->mpCursor->ImplShow(); 4267 mpWindowImpl->mbInFocusHdl = sal_True; 4268 mpWindowImpl->mnGetFocusFlags = nFlags; 4269 // if we're changing focus due to closing a popup floating window 4270 // notify the new focus window so it can restore the inner focus |
4271 // eg, toolboxes can select their recent active item | 4271 // e.g. toolboxes can select their recent active item |
4272 if( pOldFocusWindow && 4273 ! aOldFocusDel.IsDelete() && 4274 ( pOldFocusWindow->GetDialogControlFlags() & WINDOW_DLGCTRL_FLOATWIN_POPUPMODEEND_CANCEL ) ) 4275 mpWindowImpl->mnGetFocusFlags |= GETFOCUS_FLOATWIN_POPUPMODEEND_CANCEL; 4276 NotifyEvent aNEvt( EVENT_GETFOCUS, this ); 4277 if ( !ImplCallPreNotify( aNEvt ) && !aDogTag.IsDelete() ) 4278 GetFocus(); 4279 if( !aDogTag.IsDelete() ) --- 33 unchanged lines hidden (view full) --- 4313 ImplFontEntry* pFontEntry = NULL; 4314 aNewContext.mpFont = NULL; 4315 if ( rFontName.Len() ) 4316 { 4317 Size aSize = pFocusWin->ImplLogicToDevicePixel( rFont.GetSize() ); 4318 if ( !aSize.Height() ) 4319 { 4320 // Nur dann Defaultgroesse setzen, wenn Fonthoehe auch in logischen | 4272 if( pOldFocusWindow && 4273 ! aOldFocusDel.IsDelete() && 4274 ( pOldFocusWindow->GetDialogControlFlags() & WINDOW_DLGCTRL_FLOATWIN_POPUPMODEEND_CANCEL ) ) 4275 mpWindowImpl->mnGetFocusFlags |= GETFOCUS_FLOATWIN_POPUPMODEEND_CANCEL; 4276 NotifyEvent aNEvt( EVENT_GETFOCUS, this ); 4277 if ( !ImplCallPreNotify( aNEvt ) && !aDogTag.IsDelete() ) 4278 GetFocus(); 4279 if( !aDogTag.IsDelete() ) --- 33 unchanged lines hidden (view full) --- 4313 ImplFontEntry* pFontEntry = NULL; 4314 aNewContext.mpFont = NULL; 4315 if ( rFontName.Len() ) 4316 { 4317 Size aSize = pFocusWin->ImplLogicToDevicePixel( rFont.GetSize() ); 4318 if ( !aSize.Height() ) 4319 { 4320 // Nur dann Defaultgroesse setzen, wenn Fonthoehe auch in logischen |
4321 // Koordinaaten 0 ist | 4321 // Koordinaten 0 ist |
4322 if ( rFont.GetSize().Height() ) 4323 aSize.Height() = 1; 4324 else 4325 aSize.Height() = (12*pFocusWin->mnDPIY)/72; 4326 } 4327 // TODO: No display device uses ImplDirectFontSubstitution thingy, right? => remove it 4328 ImplDirectFontSubstitution* pFontSubst = NULL; 4329 //if( pFocusWin->mpOutDevData ) --- 67 unchanged lines hidden (view full) --- 4397 } 4398} 4399#endif 4400// ----------------------------------------------------------------------- 4401 4402Window::~Window() 4403{ 4404 ImplFreeExtWindowImpl(); | 4322 if ( rFont.GetSize().Height() ) 4323 aSize.Height() = 1; 4324 else 4325 aSize.Height() = (12*pFocusWin->mnDPIY)/72; 4326 } 4327 // TODO: No display device uses ImplDirectFontSubstitution thingy, right? => remove it 4328 ImplDirectFontSubstitution* pFontSubst = NULL; 4329 //if( pFocusWin->mpOutDevData ) --- 67 unchanged lines hidden (view full) --- 4397 } 4398} 4399#endif 4400// ----------------------------------------------------------------------- 4401 4402Window::~Window() 4403{ 4404 ImplFreeExtWindowImpl(); |
4405 | 4405 |
4406 vcl::LazyDeletor<Window>::Undelete( this ); 4407 4408 DBG_DTOR( Window, ImplDbgCheckWindow ); 4409 DBG_ASSERT( !mpWindowImpl->mbInDtor, "~Window - already in DTOR!" ); 4410 4411 4412 // remove Key and Mouse events issued by Application::PostKey/MouseEvent 4413 Application::RemoveMouseAndKeyEvents( this ); 4414 4415 // Dispose of the canvas implementation (which, currently, has an | 4406 vcl::LazyDeletor<Window>::Undelete( this ); 4407 4408 DBG_DTOR( Window, ImplDbgCheckWindow ); 4409 DBG_ASSERT( !mpWindowImpl->mbInDtor, "~Window - already in DTOR!" ); 4410 4411 4412 // remove Key and Mouse events issued by Application::PostKey/MouseEvent 4413 Application::RemoveMouseAndKeyEvents( this ); 4414 4415 // Dispose of the canvas implementation (which, currently, has an |
4416 // own wrapper window as a child to this one. | 4416 // own wrapper window as a child to this one) |
4417 uno::Reference< rendering::XCanvas > xCanvas( mpWindowImpl->mxCanvas ); 4418 if( xCanvas.is() ) 4419 { 4420 uno::Reference < lang::XComponent > xCanvasComponent( xCanvas, 4421 uno::UNO_QUERY ); 4422 if( xCanvasComponent.is() ) 4423 xCanvasComponent->dispose(); 4424 } --- 692 unchanged lines hidden (view full) --- 5117 CommandEvent aCommandEvent = ImplTranslateCommandEvent( *pCEvt, rNEvt.GetWindow(), this ); 5118 ImplCallEventListeners( VCLEVENT_WINDOW_COMMAND, &aCommandEvent ); 5119 } 5120 } 5121 } 5122 5123 // #82968# notify event listeners for mouse and key events separately and 5124 // not in PreNotify ( as for focus listeners ) | 4417 uno::Reference< rendering::XCanvas > xCanvas( mpWindowImpl->mxCanvas ); 4418 if( xCanvas.is() ) 4419 { 4420 uno::Reference < lang::XComponent > xCanvasComponent( xCanvas, 4421 uno::UNO_QUERY ); 4422 if( xCanvasComponent.is() ) 4423 xCanvasComponent->dispose(); 4424 } --- 692 unchanged lines hidden (view full) --- 5117 CommandEvent aCommandEvent = ImplTranslateCommandEvent( *pCEvt, rNEvt.GetWindow(), this ); 5118 ImplCallEventListeners( VCLEVENT_WINDOW_COMMAND, &aCommandEvent ); 5119 } 5120 } 5121 } 5122 5123 // #82968# notify event listeners for mouse and key events separately and 5124 // not in PreNotify ( as for focus listeners ) |
5125 // this allows for procesing those events internally first and pass it to | 5125 // this allows for processing those events internally first and pass it to |
5126 // the toolkit later 5127 5128 ImplDelData aDelData; 5129 ImplAddDel( &aDelData ); 5130 5131 if( rNEvt.GetType() == EVENT_MOUSEMOVE ) 5132 { 5133 if ( mpWindowImpl->mbCompoundControl || ( rNEvt.GetWindow() == this ) ) --- 982 unchanged lines hidden (view full) --- 6116 { 6117 // ClipRegion setzen/updaten 6118 RectangleVector aRectangles; 6119 mpWindowImpl->maWinRegion.GetRegionRectangles(aRectangles); 6120 mpWindowImpl->mpFrame->BeginSetClipRegion(aRectangles.size()); 6121 6122 for(RectangleVector::const_iterator aRectIter(aRectangles.begin()); aRectIter != aRectangles.end(); aRectIter++) 6123 { | 5126 // the toolkit later 5127 5128 ImplDelData aDelData; 5129 ImplAddDel( &aDelData ); 5130 5131 if( rNEvt.GetType() == EVENT_MOUSEMOVE ) 5132 { 5133 if ( mpWindowImpl->mbCompoundControl || ( rNEvt.GetWindow() == this ) ) --- 982 unchanged lines hidden (view full) --- 6116 { 6117 // ClipRegion setzen/updaten 6118 RectangleVector aRectangles; 6119 mpWindowImpl->maWinRegion.GetRegionRectangles(aRectangles); 6120 mpWindowImpl->mpFrame->BeginSetClipRegion(aRectangles.size()); 6121 6122 for(RectangleVector::const_iterator aRectIter(aRectangles.begin()); aRectIter != aRectangles.end(); aRectIter++) 6123 { |
6124 mpWindowImpl->mpFrame->UnionClipRegion( 6125 aRectIter->Left(), 6126 aRectIter->Top(), | 6124 mpWindowImpl->mpFrame->UnionClipRegion( 6125 aRectIter->Left(), 6126 aRectIter->Top(), |
6127 aRectIter->GetWidth(), // orig nWidth was ((R - L) + 1), same as GetWidth does 6128 aRectIter->GetHeight()); // same for height 6129 } 6130 6131 mpWindowImpl->mpFrame->EndSetClipRegion(); 6132 6133 //long nX; 6134 //long nY; --- 234 unchanged lines hidden (view full) --- 6369 { 6370 pNewOverlapWindow = pNewParent->ImplGetFirstOverlapWindow(); 6371 if ( mpWindowImpl->mpOverlapWindow != pNewOverlapWindow ) 6372 pOldOverlapWindow = mpWindowImpl->mpOverlapWindow; 6373 else 6374 pOldOverlapWindow = NULL; 6375 } 6376 | 6127 aRectIter->GetWidth(), // orig nWidth was ((R - L) + 1), same as GetWidth does 6128 aRectIter->GetHeight()); // same for height 6129 } 6130 6131 mpWindowImpl->mpFrame->EndSetClipRegion(); 6132 6133 //long nX; 6134 //long nY; --- 234 unchanged lines hidden (view full) --- 6369 { 6370 pNewOverlapWindow = pNewParent->ImplGetFirstOverlapWindow(); 6371 if ( mpWindowImpl->mpOverlapWindow != pNewOverlapWindow ) 6372 pOldOverlapWindow = mpWindowImpl->mpOverlapWindow; 6373 else 6374 pOldOverlapWindow = NULL; 6375 } 6376 |
6377 // Fenster in der Hirachie umsetzen | 6377 // Fenster in der Hierachie umsetzen |
6378 sal_Bool bFocusOverlapWin = HasChildPathFocus( sal_True ); 6379 sal_Bool bFocusWin = HasChildPathFocus(); 6380 sal_Bool bNewFrame = pNewParent->mpWindowImpl->mpFrameWindow != mpWindowImpl->mpFrameWindow; 6381 if ( bNewFrame ) 6382 { 6383 if ( mpWindowImpl->mpFrameData->mpFocusWin ) 6384 { 6385 if ( IsWindowOrChild( mpWindowImpl->mpFrameData->mpFocusWin ) ) --- 15 unchanged lines hidden (view full) --- 6401 if ( mpWindowImpl->mnParentClipMode & PARENTCLIPMODE_CLIP ) 6402 pNewParent->mpWindowImpl->mbClipChildren = sal_True; 6403 ImplUpdateWindowPtr(); 6404 if ( ImplUpdatePos() ) 6405 ImplUpdateSysObjPos(); 6406 6407 // Wenn sich das Overlap-Window geaendert hat, dann muss getestet werden, 6408 // ob auch OverlapWindow die das Child-Fenster als Parent gehabt haben | 6378 sal_Bool bFocusOverlapWin = HasChildPathFocus( sal_True ); 6379 sal_Bool bFocusWin = HasChildPathFocus(); 6380 sal_Bool bNewFrame = pNewParent->mpWindowImpl->mpFrameWindow != mpWindowImpl->mpFrameWindow; 6381 if ( bNewFrame ) 6382 { 6383 if ( mpWindowImpl->mpFrameData->mpFocusWin ) 6384 { 6385 if ( IsWindowOrChild( mpWindowImpl->mpFrameData->mpFocusWin ) ) --- 15 unchanged lines hidden (view full) --- 6401 if ( mpWindowImpl->mnParentClipMode & PARENTCLIPMODE_CLIP ) 6402 pNewParent->mpWindowImpl->mbClipChildren = sal_True; 6403 ImplUpdateWindowPtr(); 6404 if ( ImplUpdatePos() ) 6405 ImplUpdateSysObjPos(); 6406 6407 // Wenn sich das Overlap-Window geaendert hat, dann muss getestet werden, 6408 // ob auch OverlapWindow die das Child-Fenster als Parent gehabt haben |
6409 // in der Window-Hirachie umgesetzt werden muessen | 6409 // in der Window-Hierachie umgesetzt werden muessen |
6410 if ( ImplIsOverlapWindow() ) 6411 { 6412 if ( bNewFrame ) 6413 { 6414 Window* pOverlapWindow = mpWindowImpl->mpFirstOverlap; 6415 while ( pOverlapWindow ) 6416 { 6417 Window* pNextOverlapWindow = pOverlapWindow->mpWindowImpl->mpNext; --- 159 unchanged lines hidden (view full) --- 6577 } 6578 ImplGenerateMouseMove(); 6579 } 6580 } 6581 } 6582 else 6583 { 6584 // inherit native widget flag for form controls | 6410 if ( ImplIsOverlapWindow() ) 6411 { 6412 if ( bNewFrame ) 6413 { 6414 Window* pOverlapWindow = mpWindowImpl->mpFirstOverlap; 6415 while ( pOverlapWindow ) 6416 { 6417 Window* pNextOverlapWindow = pOverlapWindow->mpWindowImpl->mpNext; --- 159 unchanged lines hidden (view full) --- 6577 } 6578 ImplGenerateMouseMove(); 6579 } 6580 } 6581 } 6582 else 6583 { 6584 // inherit native widget flag for form controls |
6585 // required here, because frames never show up in the child hierarchy - which should be fixed.... 6586 // eg, the drop down of a combobox which is a system floating window | 6585 // required here, because frames never show up in the child hierarchy - which should be fixed... 6586 // e.g. the drop down of a combobox which is a system floating window |
6587 if( mpWindowImpl->mbFrame && GetParent() && GetParent()->IsCompoundControl() && 6588 GetParent()->IsNativeWidgetEnabled() != IsNativeWidgetEnabled() ) 6589 EnableNativeWidget( GetParent()->IsNativeWidgetEnabled() ); 6590 6591 if ( mpWindowImpl->mbCallMove ) 6592 { 6593 ImplCallMove(); 6594 } --- 100 unchanged lines hidden (view full) --- 6695 if ( !bRealVisibilityChanged ) 6696 ImplCallEventListeners( mpWindowImpl->mbVisible ? VCLEVENT_WINDOW_SHOW : VCLEVENT_WINDOW_HIDE, NULL ); 6697 if( aDogTag.IsDelete() ) 6698 return; 6699 6700 // #107575#, if a floating windows is shown that grabs the focus, we have to notify the toolkit about it 6701 // ImplGrabFocus() is not called in this case 6702 // Because this might lead to problems the task will be shifted to 6.y | 6587 if( mpWindowImpl->mbFrame && GetParent() && GetParent()->IsCompoundControl() && 6588 GetParent()->IsNativeWidgetEnabled() != IsNativeWidgetEnabled() ) 6589 EnableNativeWidget( GetParent()->IsNativeWidgetEnabled() ); 6590 6591 if ( mpWindowImpl->mbCallMove ) 6592 { 6593 ImplCallMove(); 6594 } --- 100 unchanged lines hidden (view full) --- 6695 if ( !bRealVisibilityChanged ) 6696 ImplCallEventListeners( mpWindowImpl->mbVisible ? VCLEVENT_WINDOW_SHOW : VCLEVENT_WINDOW_HIDE, NULL ); 6697 if( aDogTag.IsDelete() ) 6698 return; 6699 6700 // #107575#, if a floating windows is shown that grabs the focus, we have to notify the toolkit about it 6701 // ImplGrabFocus() is not called in this case 6702 // Because this might lead to problems the task will be shifted to 6.y |
6703 // Note: top-level context menues are registered at the access bridge after being shown, | 6703 // Note: top-level context menus are registered at the access bridge after being shown, |
6704 // so this will probably not help here.... 6705 /* 6706 if( mpWindowImpl->mbFloatWin && ((FloatingWindow*) this )->GrabsFocus() ) 6707 { 6708 ImplSVData* pSVData = ImplGetSVData(); 6709 if( !mpWindowImpl->mbVisible ) 6710 { 6711 ImplCallEventListeners( VCLEVENT_WINDOW_LOSEFOCUS ); --- 41 unchanged lines hidden (view full) --- 6753// ----------------------------------------------------------------------- 6754 6755void Window::Enable( bool bEnable, bool bChild ) 6756{ 6757 DBG_CHKTHIS( Window, ImplDbgCheckWindow ); 6758 6759 if ( !bEnable ) 6760 { | 6704 // so this will probably not help here.... 6705 /* 6706 if( mpWindowImpl->mbFloatWin && ((FloatingWindow*) this )->GrabsFocus() ) 6707 { 6708 ImplSVData* pSVData = ImplGetSVData(); 6709 if( !mpWindowImpl->mbVisible ) 6710 { 6711 ImplCallEventListeners( VCLEVENT_WINDOW_LOSEFOCUS ); --- 41 unchanged lines hidden (view full) --- 6753// ----------------------------------------------------------------------- 6754 6755void Window::Enable( bool bEnable, bool bChild ) 6756{ 6757 DBG_CHKTHIS( Window, ImplDbgCheckWindow ); 6758 6759 if ( !bEnable ) 6760 { |
6761 // Wenn ein Fenster disablte wird, wird automatisch der Tracking-Modus | 6761 // Wenn ein Fenster disabled wird, wird automatisch der Tracking-Modus |
6762 // beendet oder der Capture geklaut 6763 if ( IsTracking() ) 6764 EndTracking( ENDTRACK_CANCEL ); 6765 if ( IsMouseCaptured() ) 6766 ReleaseMouse(); 6767 // Wenn Fenster den Focus hat und in der Dialog-Steuerung enthalten, 6768 // wird versucht, den Focus auf das naechste Control weiterzuschalten 6769 // mpWindowImpl->mbDisabled darf erst nach Aufruf von ImplDlgCtrlNextWindow() gesetzt --- 79 unchanged lines hidden (view full) --- 6849 if ( (mpWindowImpl->mpBorderWindow->GetType() == WINDOW_BORDERWINDOW) && 6850 ((ImplBorderWindow*)mpWindowImpl->mpBorderWindow)->mpMenuBarWindow ) 6851 ((ImplBorderWindow*)mpWindowImpl->mpBorderWindow)->mpMenuBarWindow->EnableInput( bEnable, sal_True ); 6852 } 6853 6854 if ( (! bEnable && mpWindowImpl->meAlwaysInputMode != AlwaysInputEnabled) || 6855 ( bEnable && mpWindowImpl->meAlwaysInputMode != AlwaysInputDisabled) ) 6856 { | 6762 // beendet oder der Capture geklaut 6763 if ( IsTracking() ) 6764 EndTracking( ENDTRACK_CANCEL ); 6765 if ( IsMouseCaptured() ) 6766 ReleaseMouse(); 6767 // Wenn Fenster den Focus hat und in der Dialog-Steuerung enthalten, 6768 // wird versucht, den Focus auf das naechste Control weiterzuschalten 6769 // mpWindowImpl->mbDisabled darf erst nach Aufruf von ImplDlgCtrlNextWindow() gesetzt --- 79 unchanged lines hidden (view full) --- 6849 if ( (mpWindowImpl->mpBorderWindow->GetType() == WINDOW_BORDERWINDOW) && 6850 ((ImplBorderWindow*)mpWindowImpl->mpBorderWindow)->mpMenuBarWindow ) 6851 ((ImplBorderWindow*)mpWindowImpl->mpBorderWindow)->mpMenuBarWindow->EnableInput( bEnable, sal_True ); 6852 } 6853 6854 if ( (! bEnable && mpWindowImpl->meAlwaysInputMode != AlwaysInputEnabled) || 6855 ( bEnable && mpWindowImpl->meAlwaysInputMode != AlwaysInputDisabled) ) 6856 { |
6857 // Wenn ein Fenster disablte wird, wird automatisch der | 6857 // Wenn ein Fenster disabled wird, wird automatisch der |
6858 // Tracking-Modus beendet oder der Capture geklaut 6859 if ( !bEnable ) 6860 { 6861 if ( IsTracking() ) 6862 EndTracking( ENDTRACK_CANCEL ); 6863 if ( IsMouseCaptured() ) 6864 ReleaseMouse(); 6865 } --- 341 unchanged lines hidden (view full) --- 7207 // ausgegeben wurde und loesen somit auch keine 7208 // Invalidates aus. Dies ist eine Optimierung fuer 7209 // HTML-Dokumenten mit vielen Controls. Wenn es mal 7210 // Probleme mit dieser Abfrage gibt, sollte man ein 7211 // Flag einfuehren, ob das Fenster nach Show schon 7212 // einmal ausgegeben wurde. 7213 if ( !bInitWinClipRegion ) 7214 { | 6858 // Tracking-Modus beendet oder der Capture geklaut 6859 if ( !bEnable ) 6860 { 6861 if ( IsTracking() ) 6862 EndTracking( ENDTRACK_CANCEL ); 6863 if ( IsMouseCaptured() ) 6864 ReleaseMouse(); 6865 } --- 341 unchanged lines hidden (view full) --- 7207 // ausgegeben wurde und loesen somit auch keine 7208 // Invalidates aus. Dies ist eine Optimierung fuer 7209 // HTML-Dokumenten mit vielen Controls. Wenn es mal 7210 // Probleme mit dieser Abfrage gibt, sollte man ein 7211 // Flag einfuehren, ob das Fenster nach Show schon 7212 // einmal ausgegeben wurde. 7213 if ( !bInitWinClipRegion ) 7214 { |
7215 // Alle nebeneinanderliegen Fenster invalidieren | 7215 // Alle nebeneinanderliegenden Fenster invalidieren |
7216 // Noch nicht komplett implementiert !!! 7217 Rectangle aWinRect( Point( mnOutOffX, mnOutOffY ), Size( mnOutWidth, mnOutHeight ) ); 7218 Window* pWindow = NULL; 7219 if ( ImplIsOverlapWindow() ) 7220 { 7221 if ( mpWindowImpl->mpOverlapWindow ) 7222 pWindow = mpWindowImpl->mpOverlapWindow->mpWindowImpl->mpFirstOverlap; 7223 } --- 6 unchanged lines hidden (view full) --- 7230 if ( pWindow == this ) 7231 break; 7232 Rectangle aCompRect( Point( pWindow->mnOutOffX, pWindow->mnOutOffY ), 7233 Size( pWindow->mnOutWidth, pWindow->mnOutHeight ) ); 7234 if ( aWinRect.IsOver( aCompRect ) ) 7235 pWindow->Invalidate( INVALIDATE_CHILDREN | INVALIDATE_NOTRANSPARENT ); 7236 pWindow = pWindow->mpWindowImpl->mpNext; 7237 } | 7216 // Noch nicht komplett implementiert !!! 7217 Rectangle aWinRect( Point( mnOutOffX, mnOutOffY ), Size( mnOutWidth, mnOutHeight ) ); 7218 Window* pWindow = NULL; 7219 if ( ImplIsOverlapWindow() ) 7220 { 7221 if ( mpWindowImpl->mpOverlapWindow ) 7222 pWindow = mpWindowImpl->mpOverlapWindow->mpWindowImpl->mpFirstOverlap; 7223 } --- 6 unchanged lines hidden (view full) --- 7230 if ( pWindow == this ) 7231 break; 7232 Rectangle aCompRect( Point( pWindow->mnOutOffX, pWindow->mnOutOffY ), 7233 Size( pWindow->mnOutWidth, pWindow->mnOutHeight ) ); 7234 if ( aWinRect.IsOver( aCompRect ) ) 7235 pWindow->Invalidate( INVALIDATE_CHILDREN | INVALIDATE_NOTRANSPARENT ); 7236 pWindow = pWindow->mpWindowImpl->mpNext; 7237 } |
7238 // Wenn uns ein Fenster welches im Hinterund liegt verdeckt hat, | 7238 // Wenn uns ein Fenster, welches im Hinterund liegt verdeckt hat, |
7239 // dann muessen wir uns neu ausgeben 7240 while ( pWindow ) 7241 { 7242 if ( pWindow != this ) 7243 { 7244 Rectangle aCompRect( Point( pWindow->mnOutOffX, pWindow->mnOutOffY ), 7245 Size( pWindow->mnOutWidth, pWindow->mnOutHeight ) ); 7246 if ( aWinRect.IsOver( aCompRect ) ) --- 134 unchanged lines hidden (view full) --- 7381 nWidth = aMaxSize.Width(); 7382 if( nHeight > aMaxSize.Height() ) 7383 nHeight = aMaxSize.Height(); 7384 } 7385 } 7386 7387 pWindow->mpWindowImpl->mpFrame->SetPosSize( nX, nY, nWidth, nHeight, nSysFlags ); 7388 | 7239 // dann muessen wir uns neu ausgeben 7240 while ( pWindow ) 7241 { 7242 if ( pWindow != this ) 7243 { 7244 Rectangle aCompRect( Point( pWindow->mnOutOffX, pWindow->mnOutOffY ), 7245 Size( pWindow->mnOutWidth, pWindow->mnOutHeight ) ); 7246 if ( aWinRect.IsOver( aCompRect ) ) --- 134 unchanged lines hidden (view full) --- 7381 nWidth = aMaxSize.Width(); 7382 if( nHeight > aMaxSize.Height() ) 7383 nHeight = aMaxSize.Height(); 7384 } 7385 } 7386 7387 pWindow->mpWindowImpl->mpFrame->SetPosSize( nX, nY, nWidth, nHeight, nSysFlags ); 7388 |
7389 // Resize should be called directly. If we havn't | 7389 // Resize should be called directly. If we haven't |
7390 // set the correct size, we get a second resize from 7391 // the system with the correct size. This can happen 7392 // if the size is to small or to large. 7393 ImplHandleResize( pWindow, nWidth, nHeight ); 7394 } 7395 else 7396 { 7397 pWindow->ImplPosSizeWindow( nX, nY, nWidth, nHeight, nFlags ); --- 360 unchanged lines hidden (view full) --- 7758 pWindow = pWindow->ImplGetParent(); 7759 } 7760 while ( pWindow ); 7761 7762 // Wenn es etwas zu malen gibt, dann ein Paint ausloesen 7763 if ( pUpdateWindow->mpWindowImpl->mnPaintFlags & (IMPL_PAINT_PAINT | IMPL_PAINT_PAINTCHILDS) ) 7764 { 7765 // und fuer alle ueber uns stehende System-Fenster auch ein Update | 7390 // set the correct size, we get a second resize from 7391 // the system with the correct size. This can happen 7392 // if the size is to small or to large. 7393 ImplHandleResize( pWindow, nWidth, nHeight ); 7394 } 7395 else 7396 { 7397 pWindow->ImplPosSizeWindow( nX, nY, nWidth, nHeight, nFlags ); --- 360 unchanged lines hidden (view full) --- 7758 pWindow = pWindow->ImplGetParent(); 7759 } 7760 while ( pWindow ); 7761 7762 // Wenn es etwas zu malen gibt, dann ein Paint ausloesen 7763 if ( pUpdateWindow->mpWindowImpl->mnPaintFlags & (IMPL_PAINT_PAINT | IMPL_PAINT_PAINTCHILDS) ) 7764 { 7765 // und fuer alle ueber uns stehende System-Fenster auch ein Update |
7766 // ausloesen, damit nicht die ganze Zeit luecken stehen bleiben | 7766 // ausloesen, damit nicht die ganze Zeit Luecken stehen bleiben |
7767 Window* pUpdateOverlapWindow = ImplGetFirstOverlapWindow()->mpWindowImpl->mpFirstOverlap; 7768 while ( pUpdateOverlapWindow ) 7769 { 7770 pUpdateOverlapWindow->Update(); 7771 pUpdateOverlapWindow = pUpdateOverlapWindow->mpWindowImpl->mpNext; 7772 } 7773 7774 pUpdateWindow->ImplCallPaint( NULL, pUpdateWindow->mpWindowImpl->mnPaintFlags ); --- 85 unchanged lines hidden (view full) --- 7860 7861// ----------------------------------------------------------------------- 7862 7863sal_Bool Window::HasChildPathFocus( sal_Bool bSystemWindow ) const 7864{ 7865 DBG_CHKTHIS( Window, ImplDbgCheckWindow ); 7866 7867 // #107575#, the first floating window always has the keyboard focus, see also winproc.cxx: ImplGetKeyInputWindow() | 7767 Window* pUpdateOverlapWindow = ImplGetFirstOverlapWindow()->mpWindowImpl->mpFirstOverlap; 7768 while ( pUpdateOverlapWindow ) 7769 { 7770 pUpdateOverlapWindow->Update(); 7771 pUpdateOverlapWindow = pUpdateOverlapWindow->mpWindowImpl->mpNext; 7772 } 7773 7774 pUpdateWindow->ImplCallPaint( NULL, pUpdateWindow->mpWindowImpl->mnPaintFlags ); --- 85 unchanged lines hidden (view full) --- 7860 7861// ----------------------------------------------------------------------- 7862 7863sal_Bool Window::HasChildPathFocus( sal_Bool bSystemWindow ) const 7864{ 7865 DBG_CHKTHIS( Window, ImplDbgCheckWindow ); 7866 7867 // #107575#, the first floating window always has the keyboard focus, see also winproc.cxx: ImplGetKeyInputWindow() |
7868 // task was shifted to 6.y, so its commented out | 7868 // task was shifted to 6.y, so it's commented out |
7869 /* 7870 Window* pFocusWin = ImplGetSVData()->maWinData.mpFirstFloat; 7871 if( pFocusWin && pFocusWin->mpWindowImpl->mbFloatWin && ((FloatingWindow *)pFocusWin)->GrabsFocus() ) 7872 pFocusWin = pFocusWin->GetPreferredKeyInputWindow(); 7873 else 7874 pFocusWin = ImplGetSVData()->maWinData.mpFocusWin; 7875 */ 7876 Window* pFocusWin = ImplGetSVData()->maWinData.mpFocusWin; --- 585 unchanged lines hidden (view full) --- 8462 if ( !pNew || !ImplIsChild( pNew ) ) 8463 { 8464 ImplDelData aDogtag( this ); 8465 ImplCallEventListeners( VCLEVENT_WINDOW_DEACTIVATE ); 8466 if( aDogtag.IsDelete() ) 8467 return; 8468 8469 // #100759#, avoid walking the wrong frame's hierarchy | 7869 /* 7870 Window* pFocusWin = ImplGetSVData()->maWinData.mpFirstFloat; 7871 if( pFocusWin && pFocusWin->mpWindowImpl->mbFloatWin && ((FloatingWindow *)pFocusWin)->GrabsFocus() ) 7872 pFocusWin = pFocusWin->GetPreferredKeyInputWindow(); 7873 else 7874 pFocusWin = ImplGetSVData()->maWinData.mpFocusWin; 7875 */ 7876 Window* pFocusWin = ImplGetSVData()->maWinData.mpFocusWin; --- 585 unchanged lines hidden (view full) --- 8462 if ( !pNew || !ImplIsChild( pNew ) ) 8463 { 8464 ImplDelData aDogtag( this ); 8465 ImplCallEventListeners( VCLEVENT_WINDOW_DEACTIVATE ); 8466 if( aDogtag.IsDelete() ) 8467 return; 8468 8469 // #100759#, avoid walking the wrong frame's hierarchy |
8470 // eg, undocked docking windows (ImplDockFloatWin) | 8470 // e.g. undocked docking windows (ImplDockFloatWin) |
8471 if ( ImplGetParent() && mpWindowImpl->mpFrameWindow == ImplGetParent()->mpWindowImpl->mpFrameWindow ) 8472 ImplGetParent()->ImplCallDeactivateListeners( pNew ); 8473 } 8474} 8475 8476// ----------------------------------------------------------------------- 8477 8478void Window::ImplCallActivateListeners( Window *pOld ) --- 7 unchanged lines hidden (view full) --- 8486 return; 8487 8488 // #106298# revoke the change for 105369, because this change 8489 // disabled the activate event for the parent, 8490 // if the parent is a compound control 8491 //if( !GetParent() || !GetParent()->IsCompoundControl() ) 8492 //{ 8493 // #100759#, avoid walking the wrong frame's hierarchy | 8471 if ( ImplGetParent() && mpWindowImpl->mpFrameWindow == ImplGetParent()->mpWindowImpl->mpFrameWindow ) 8472 ImplGetParent()->ImplCallDeactivateListeners( pNew ); 8473 } 8474} 8475 8476// ----------------------------------------------------------------------- 8477 8478void Window::ImplCallActivateListeners( Window *pOld ) --- 7 unchanged lines hidden (view full) --- 8486 return; 8487 8488 // #106298# revoke the change for 105369, because this change 8489 // disabled the activate event for the parent, 8490 // if the parent is a compound control 8491 //if( !GetParent() || !GetParent()->IsCompoundControl() ) 8492 //{ 8493 // #100759#, avoid walking the wrong frame's hierarchy |
8494 // eg, undocked docking windows (ImplDockFloatWin) | 8494 // e.g. undocked docking windows (ImplDockFloatWin) |
8495 // #104714#, revert the changes for 100759 because it has a side effect when pOld is a dialog | 8495 // #104714#, revert the changes for 100759 because it has a side effect when pOld is a dialog |
8496 // additionally the gallery is not dockable anymore, so 100759 canot occur | 8496 // additionally the gallery is not dockable anymore, so 100759 cannot occur |
8497 if ( ImplGetParent() ) /* && mpWindowImpl->mpFrameWindow == ImplGetParent()->mpWindowImpl->mpFrameWindow ) */ 8498 ImplGetParent()->ImplCallActivateListeners( pOld ); 8499 else if( (mpWindowImpl->mnStyle & WB_INTROWIN) == 0 ) 8500 { 8501 // top level frame reached: store hint for DefModalDialogParent 8502 ImplGetSVData()->maWinData.mpActiveApplicationFrame = mpWindowImpl->mpFrameWindow; 8503 } 8504 //} --- 286 unchanged lines hidden (view full) --- 8791} 8792 8793// ----------------------------------------------------------------------- 8794// Accessibility 8795// ----------------------------------------------------------------------- 8796 8797::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > Window::GetAccessible( sal_Bool bCreate ) 8798{ | 8497 if ( ImplGetParent() ) /* && mpWindowImpl->mpFrameWindow == ImplGetParent()->mpWindowImpl->mpFrameWindow ) */ 8498 ImplGetParent()->ImplCallActivateListeners( pOld ); 8499 else if( (mpWindowImpl->mnStyle & WB_INTROWIN) == 0 ) 8500 { 8501 // top level frame reached: store hint for DefModalDialogParent 8502 ImplGetSVData()->maWinData.mpActiveApplicationFrame = mpWindowImpl->mpFrameWindow; 8503 } 8504 //} --- 286 unchanged lines hidden (view full) --- 8791} 8792 8793// ----------------------------------------------------------------------- 8794// Accessibility 8795// ----------------------------------------------------------------------- 8796 8797::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible > Window::GetAccessible( sal_Bool bCreate ) 8798{ |
8799 // do not optimize hierarchy for the top level border win (ie, when there is no parent) | 8799 // do not optimize hierarchy for the top level border win (i.e. when there is no parent) |
8800 /* // do not optimize accessible hierarchy at all to better reflect real VCL hierarchy 8801 if ( GetParent() && ( GetType() == WINDOW_BORDERWINDOW ) && ( GetChildCount() == 1 ) ) 8802 //if( !ImplIsAccessibleCandidate() ) 8803 { 8804 Window* pChild = GetAccessibleChildWindow( 0 ); 8805 if ( pChild ) 8806 return pChild->GetAccessible(); 8807 } --- 16 unchanged lines hidden (view full) --- 8824} 8825 8826// skip all border windows that are no top level frames 8827sal_Bool Window::ImplIsAccessibleCandidate() const 8828{ 8829 if( !mpWindowImpl->mbBorderWin ) 8830 return sal_True; 8831 else | 8800 /* // do not optimize accessible hierarchy at all to better reflect real VCL hierarchy 8801 if ( GetParent() && ( GetType() == WINDOW_BORDERWINDOW ) && ( GetChildCount() == 1 ) ) 8802 //if( !ImplIsAccessibleCandidate() ) 8803 { 8804 Window* pChild = GetAccessibleChildWindow( 0 ); 8805 if ( pChild ) 8806 return pChild->GetAccessible(); 8807 } --- 16 unchanged lines hidden (view full) --- 8824} 8825 8826// skip all border windows that are no top level frames 8827sal_Bool Window::ImplIsAccessibleCandidate() const 8828{ 8829 if( !mpWindowImpl->mbBorderWin ) 8830 return sal_True; 8831 else |
8832 // #101741 do not check for WB_CLOSEABLE because undecorated floaters (like menues!) are closeable | 8832 // #101741 do not check for WB_CLOSEABLE because undecorated floaters (like menus!) are closeable |
8833 if( mpWindowImpl->mbFrame && mpWindowImpl->mnStyle & (WB_MOVEABLE | WB_SIZEABLE) ) 8834 return sal_True; 8835 else 8836 return sal_False; 8837} 8838 8839sal_Bool Window::ImplIsAccessibleNativeFrame() const 8840{ 8841 if( mpWindowImpl->mbFrame ) | 8833 if( mpWindowImpl->mbFrame && mpWindowImpl->mnStyle & (WB_MOVEABLE | WB_SIZEABLE) ) 8834 return sal_True; 8835 else 8836 return sal_False; 8837} 8838 8839sal_Bool Window::ImplIsAccessibleNativeFrame() const 8840{ 8841 if( mpWindowImpl->mbFrame ) |
8842 // #101741 do not check for WB_CLOSEABLE because undecorated floaters (like menues!) are closeable | 8842 // #101741 do not check for WB_CLOSEABLE because undecorated floaters (like menus!) are closeable |
8843 if( (mpWindowImpl->mnStyle & (WB_MOVEABLE | WB_SIZEABLE)) ) 8844 return sal_True; 8845 else 8846 return sal_False; 8847 else 8848 return sal_False; 8849} 8850 --- 292 unchanged lines hidden (view full) --- 9143 case WINDOW_LISTBOX: 9144 case WINDOW_MULTILISTBOX: nRole = accessibility::AccessibleRole::LIST; break; 9145 9146 case WINDOW_TREELISTBOX: nRole = accessibility::AccessibleRole::TREE; break; 9147 9148 case WINDOW_FIXEDTEXT: nRole = accessibility::AccessibleRole::LABEL; break; 9149 case WINDOW_FIXEDBORDER: 9150 nRole = accessibility::AccessibleRole::SEPARATOR; break; | 8843 if( (mpWindowImpl->mnStyle & (WB_MOVEABLE | WB_SIZEABLE)) ) 8844 return sal_True; 8845 else 8846 return sal_False; 8847 else 8848 return sal_False; 8849} 8850 --- 292 unchanged lines hidden (view full) --- 9143 case WINDOW_LISTBOX: 9144 case WINDOW_MULTILISTBOX: nRole = accessibility::AccessibleRole::LIST; break; 9145 9146 case WINDOW_TREELISTBOX: nRole = accessibility::AccessibleRole::TREE; break; 9147 9148 case WINDOW_FIXEDTEXT: nRole = accessibility::AccessibleRole::LABEL; break; 9149 case WINDOW_FIXEDBORDER: 9150 nRole = accessibility::AccessibleRole::SEPARATOR; break; |
9151 case WINDOW_FIXEDLINE: | 9151 case WINDOW_FIXEDLINE: |
9152 { if( GetText().Len() > 0 ) | 9152 { if( GetText().Len() > 0 ) |
9153 nRole = accessibility::AccessibleRole::LABEL; | 9153 nRole = accessibility::AccessibleRole::LABEL; |
9154 else | 9154 else |
9155 nRole = accessibility::AccessibleRole::SEPARATOR; | 9155 nRole = accessibility::AccessibleRole::SEPARATOR; |
9156 break; 9157 } 9158 //case WINDOW_FIXEDLINE: nRole = accessibility::AccessibleRole::SEPARATOR; break; 9159 case WINDOW_FIXEDBITMAP: 9160 case WINDOW_FIXEDIMAGE: nRole = accessibility::AccessibleRole::ICON; break; 9161 case WINDOW_GROUPBOX: nRole = accessibility::AccessibleRole::GROUP_BOX; break; 9162 case WINDOW_SCROLLBAR: nRole = accessibility::AccessibleRole::SCROLL_BAR; break; 9163 --- 41 unchanged lines hidden (view full) --- 9205 case WINDOW_BORDERWINDOW: 9206 case WINDOW_SYSTEMCHILDWINDOW: 9207 default: 9208 if (ImplIsAccessibleNativeFrame() ) 9209 nRole = accessibility::AccessibleRole::FRAME; 9210 else if( IsScrollable() ) 9211 nRole = accessibility::AccessibleRole::SCROLL_PANE; 9212 else if( ((Window*)this)->ImplGetWindow()->IsMenuFloatingWindow() ) | 9156 break; 9157 } 9158 //case WINDOW_FIXEDLINE: nRole = accessibility::AccessibleRole::SEPARATOR; break; 9159 case WINDOW_FIXEDBITMAP: 9160 case WINDOW_FIXEDIMAGE: nRole = accessibility::AccessibleRole::ICON; break; 9161 case WINDOW_GROUPBOX: nRole = accessibility::AccessibleRole::GROUP_BOX; break; 9162 case WINDOW_SCROLLBAR: nRole = accessibility::AccessibleRole::SCROLL_BAR; break; 9163 --- 41 unchanged lines hidden (view full) --- 9205 case WINDOW_BORDERWINDOW: 9206 case WINDOW_SYSTEMCHILDWINDOW: 9207 default: 9208 if (ImplIsAccessibleNativeFrame() ) 9209 nRole = accessibility::AccessibleRole::FRAME; 9210 else if( IsScrollable() ) 9211 nRole = accessibility::AccessibleRole::SCROLL_PANE; 9212 else if( ((Window*)this)->ImplGetWindow()->IsMenuFloatingWindow() ) |
9213 nRole = accessibility::AccessibleRole::WINDOW; // #106002#, contextmenues are windows (i.e. toplevel) | 9213 nRole = accessibility::AccessibleRole::WINDOW; // #106002#, contextmenus are windows (i.e. toplevel) |
9214 else 9215 // #104051# WINDOW seems to be a bad default role, use LAYEREDPANE instead 9216 // a WINDOW is interpreted as a top-level window, which is typically not the case 9217 //nRole = accessibility::AccessibleRole::WINDOW; 9218 nRole = accessibility::AccessibleRole::PANEL; 9219 } 9220 } 9221 return nRole; 9222} 9223 9224void Window::SetAccessibleName( const String& rName ) 9225{ 9226 if ( !mpWindowImpl->mpAccessibleInfos ) 9227 mpWindowImpl->mpAccessibleInfos = new ImplAccessibleInfos; 9228 9229 String oldName = GetAccessibleName(); 9230 delete mpWindowImpl->mpAccessibleInfos->pAccessibleName; 9231 mpWindowImpl->mpAccessibleInfos->pAccessibleName = new String( rName ); | 9214 else 9215 // #104051# WINDOW seems to be a bad default role, use LAYEREDPANE instead 9216 // a WINDOW is interpreted as a top-level window, which is typically not the case 9217 //nRole = accessibility::AccessibleRole::WINDOW; 9218 nRole = accessibility::AccessibleRole::PANEL; 9219 } 9220 } 9221 return nRole; 9222} 9223 9224void Window::SetAccessibleName( const String& rName ) 9225{ 9226 if ( !mpWindowImpl->mpAccessibleInfos ) 9227 mpWindowImpl->mpAccessibleInfos = new ImplAccessibleInfos; 9228 9229 String oldName = GetAccessibleName(); 9230 delete mpWindowImpl->mpAccessibleInfos->pAccessibleName; 9231 mpWindowImpl->mpAccessibleInfos->pAccessibleName = new String( rName ); |
9232 ImplCallEventListeners( VCLEVENT_WINDOW_FRAMETITLECHANGED, &oldName ); | 9232 ImplCallEventListeners( VCLEVENT_WINDOW_FRAMETITLECHANGED, &oldName ); |
9233} 9234 9235String Window::GetAccessibleName() const 9236{ 9237 String aAccessibleName; 9238 if ( mpWindowImpl->mpAccessibleInfos && mpWindowImpl->mpAccessibleInfos->pAccessibleName ) 9239 { 9240 aAccessibleName = *mpWindowImpl->mpAccessibleInfos->pAccessibleName; --- 99 unchanged lines hidden (view full) --- 9340 9341 return aAccessibleDescription; 9342} 9343 9344void Window::SetAccessibleRelationLabeledBy( Window* pLabeledBy ) 9345{ 9346 if ( !mpWindowImpl->mpAccessibleInfos ) 9347 mpWindowImpl->mpAccessibleInfos = new ImplAccessibleInfos; | 9233} 9234 9235String Window::GetAccessibleName() const 9236{ 9237 String aAccessibleName; 9238 if ( mpWindowImpl->mpAccessibleInfos && mpWindowImpl->mpAccessibleInfos->pAccessibleName ) 9239 { 9240 aAccessibleName = *mpWindowImpl->mpAccessibleInfos->pAccessibleName; --- 99 unchanged lines hidden (view full) --- 9340 9341 return aAccessibleDescription; 9342} 9343 9344void Window::SetAccessibleRelationLabeledBy( Window* pLabeledBy ) 9345{ 9346 if ( !mpWindowImpl->mpAccessibleInfos ) 9347 mpWindowImpl->mpAccessibleInfos = new ImplAccessibleInfos; |
9348 mpWindowImpl->mpAccessibleInfos->pLabeledByWindow = pLabeledBy; | 9348 mpWindowImpl->mpAccessibleInfos->pLabeledByWindow = pLabeledBy; |
9349} 9350 9351void Window::SetAccessibleRelationLabelFor( Window* pLabelFor ) 9352{ 9353 if ( !mpWindowImpl->mpAccessibleInfos ) 9354 mpWindowImpl->mpAccessibleInfos = new ImplAccessibleInfos; | 9349} 9350 9351void Window::SetAccessibleRelationLabelFor( Window* pLabelFor ) 9352{ 9353 if ( !mpWindowImpl->mpAccessibleInfos ) 9354 mpWindowImpl->mpAccessibleInfos = new ImplAccessibleInfos; |
9355 mpWindowImpl->mpAccessibleInfos->pLabelForWindow = pLabelFor; | 9355 mpWindowImpl->mpAccessibleInfos->pLabelForWindow = pLabelFor; |
9356} 9357 9358void Window::SetAccessibleRelationMemberOf( Window* pMemberOfWin ) 9359{ 9360 if ( !mpWindowImpl->mpAccessibleInfos ) 9361 mpWindowImpl->mpAccessibleInfos = new ImplAccessibleInfos; | 9356} 9357 9358void Window::SetAccessibleRelationMemberOf( Window* pMemberOfWin ) 9359{ 9360 if ( !mpWindowImpl->mpAccessibleInfos ) 9361 mpWindowImpl->mpAccessibleInfos = new ImplAccessibleInfos; |
9362 mpWindowImpl->mpAccessibleInfos->pMemberOfWindow = pMemberOfWin; | 9362 mpWindowImpl->mpAccessibleInfos->pMemberOfWindow = pMemberOfWin; |
9363} 9364 9365sal_Bool Window::IsAccessibilityEventsSuppressed( sal_Bool bTraverseParentPath ) 9366{ 9367 if( !bTraverseParentPath ) 9368 return mpWindowImpl->mbSuppressAccessibilityEvents; 9369 else 9370 { --- 31 unchanged lines hidden (view full) --- 9402// returns background color used in this control 9403// false: could not determine color 9404sal_Bool Window::ImplGetCurrentBackgroundColor( Color& rCol ) 9405{ 9406 sal_Bool bRet = sal_True; 9407 9408 switch ( GetType() ) 9409 { | 9363} 9364 9365sal_Bool Window::IsAccessibilityEventsSuppressed( sal_Bool bTraverseParentPath ) 9366{ 9367 if( !bTraverseParentPath ) 9368 return mpWindowImpl->mbSuppressAccessibilityEvents; 9369 else 9370 { --- 31 unchanged lines hidden (view full) --- 9402// returns background color used in this control 9403// false: could not determine color 9404sal_Bool Window::ImplGetCurrentBackgroundColor( Color& rCol ) 9405{ 9406 sal_Bool bRet = sal_True; 9407 9408 switch ( GetType() ) 9409 { |
9410 // peform special handling here | 9410 // perform special handling here |
9411 case WINDOW_PUSHBUTTON: 9412 case WINDOW_OKBUTTON: 9413 case WINDOW_CANCELBUTTON: 9414 // etc. 9415 default: 9416 if( IsControlBackground() ) 9417 rCol = GetControlBackground(); 9418 else if( IsBackground() ) --- 28 unchanged lines hidden (view full) --- 9447 sal_Bool bDrawExtBorderOnly, 9448 long nCornerRadius, 9449 Color* pSelectionTextColor, 9450 Color* pPaintColor 9451 ) 9452{ 9453 if( rRect.IsEmpty() ) 9454 return; | 9411 case WINDOW_PUSHBUTTON: 9412 case WINDOW_OKBUTTON: 9413 case WINDOW_CANCELBUTTON: 9414 // etc. 9415 default: 9416 if( IsControlBackground() ) 9417 rCol = GetControlBackground(); 9418 else if( IsBackground() ) --- 28 unchanged lines hidden (view full) --- 9447 sal_Bool bDrawExtBorderOnly, 9448 long nCornerRadius, 9449 Color* pSelectionTextColor, 9450 Color* pPaintColor 9451 ) 9452{ 9453 if( rRect.IsEmpty() ) 9454 return; |
9455 | 9455 |
9456 bool bRoundEdges = nCornerRadius > 0; 9457 9458 const StyleSettings& rStyles = GetSettings().GetStyleSettings(); 9459 9460 9461 // colors used for item highlighting 9462 Color aSelectionBorderCol( pPaintColor ? *pPaintColor : rStyles.GetHighlightColor() ); 9463 Color aSelectionFillCol( aSelectionBorderCol ); 9464 9465 sal_Bool bDark = rStyles.GetFaceColor().IsDark(); 9466 sal_Bool bBright = ( rStyles.GetFaceColor() == Color( COL_WHITE ) ); 9467 9468 int c1 = aSelectionBorderCol.GetLuminance(); 9469 int c2 = GetDisplayBackground().GetColor().GetLuminance(); 9470 9471 if( !bDark && !bBright && abs( c2-c1 ) < (pPaintColor ? 40 : 75) ) 9472 { | 9456 bool bRoundEdges = nCornerRadius > 0; 9457 9458 const StyleSettings& rStyles = GetSettings().GetStyleSettings(); 9459 9460 9461 // colors used for item highlighting 9462 Color aSelectionBorderCol( pPaintColor ? *pPaintColor : rStyles.GetHighlightColor() ); 9463 Color aSelectionFillCol( aSelectionBorderCol ); 9464 9465 sal_Bool bDark = rStyles.GetFaceColor().IsDark(); 9466 sal_Bool bBright = ( rStyles.GetFaceColor() == Color( COL_WHITE ) ); 9467 9468 int c1 = aSelectionBorderCol.GetLuminance(); 9469 int c2 = GetDisplayBackground().GetColor().GetLuminance(); 9470 9471 if( !bDark && !bBright && abs( c2-c1 ) < (pPaintColor ? 40 : 75) ) 9472 { |
9473 // constrast too low | 9473 // contrast too low |
9474 sal_uInt16 h,s,b; 9475 aSelectionFillCol.RGBtoHSB( h, s, b ); 9476 if( b > 50 ) b -= 40; 9477 else b += 40; 9478 aSelectionFillCol.SetColor( Color::HSBtoRGB( h, s, b ) ); 9479 aSelectionBorderCol = aSelectionFillCol; 9480 } 9481 --- 447 unchanged lines hidden (view full) --- 9929 9930 DBG_ASSERT( GetMapMode().GetMapUnit() == MAP_PIXEL, "MapMode must be PIXEL based" ); 9931 if ( GetMapMode().GetMapUnit() != MAP_PIXEL ) 9932 return; 9933 9934 // preserve graphicsstate 9935 Push(); 9936 Region aClipRegion( GetClipRegion() ); | 9474 sal_uInt16 h,s,b; 9475 aSelectionFillCol.RGBtoHSB( h, s, b ); 9476 if( b > 50 ) b -= 40; 9477 else b += 40; 9478 aSelectionFillCol.SetColor( Color::HSBtoRGB( h, s, b ) ); 9479 aSelectionBorderCol = aSelectionFillCol; 9480 } 9481 --- 447 unchanged lines hidden (view full) --- 9929 9930 DBG_ASSERT( GetMapMode().GetMapUnit() == MAP_PIXEL, "MapMode must be PIXEL based" ); 9931 if ( GetMapMode().GetMapUnit() != MAP_PIXEL ) 9932 return; 9933 9934 // preserve graphicsstate 9935 Push(); 9936 Region aClipRegion( GetClipRegion() ); |
9937 SetClipRegion(); | 9937 SetClipRegion(); |
9938 9939 GDIMetaFile* pOldMtf = GetConnectMetaFile(); 9940 GDIMetaFile aMtf; 9941 SetConnectMetaFile( &aMtf ); 9942 9943 // put a push action to metafile 9944 Push(); 9945 // copy graphics state to metafile --- 45 unchanged lines hidden (view full) --- 9991 // foreground 9992 Paint( aPaintRect ); 9993 // put a pop action to metafile 9994 Pop(); 9995 9996 SetConnectMetaFile( pOldMtf ); 9997 EnableOutput( bOutput ); 9998 mpWindowImpl->mbReallyVisible = bRVisible; | 9938 9939 GDIMetaFile* pOldMtf = GetConnectMetaFile(); 9940 GDIMetaFile aMtf; 9941 SetConnectMetaFile( &aMtf ); 9942 9943 // put a push action to metafile 9944 Push(); 9945 // copy graphics state to metafile --- 45 unchanged lines hidden (view full) --- 9991 // foreground 9992 Paint( aPaintRect ); 9993 // put a pop action to metafile 9994 Pop(); 9995 9996 SetConnectMetaFile( pOldMtf ); 9997 EnableOutput( bOutput ); 9998 mpWindowImpl->mbReallyVisible = bRVisible; |
9999 | 9999 |
10000 // paint metafile to VDev 10001 VirtualDevice* pMaskedDevice = new VirtualDevice( *i_pTargetOutDev, 0, 0 ); 10002 pMaskedDevice->SetOutputSizePixel( GetOutputSizePixel() ); 10003 pMaskedDevice->EnableRTL( IsRTLEnabled() ); 10004 aMtf.WindStart(); 10005 aMtf.Play( pMaskedDevice ); 10006 BitmapEx aBmpEx( pMaskedDevice->GetBitmapEx( Point( 0, 0 ), pMaskedDevice->GetOutputSizePixel() ) ); 10007 i_pTargetOutDev->DrawBitmapEx( i_rPos, aBmpEx ); --- 5 unchanged lines hidden (view full) --- 10013 { 10014 if( pChild->mpWindowImpl->mpFrame == mpWindowImpl->mpFrame && pChild->IsVisible() ) 10015 { 10016 long nDeltaX = pChild->mnOutOffX - mnOutOffX; 10017 if( ImplHasMirroredGraphics() ) 10018 nDeltaX = mnOutWidth - nDeltaX - pChild->mnOutWidth; 10019 long nDeltaY = pChild->GetOutOffYPixel() - GetOutOffYPixel(); 10020 Point aPos( i_rPos ); | 10000 // paint metafile to VDev 10001 VirtualDevice* pMaskedDevice = new VirtualDevice( *i_pTargetOutDev, 0, 0 ); 10002 pMaskedDevice->SetOutputSizePixel( GetOutputSizePixel() ); 10003 pMaskedDevice->EnableRTL( IsRTLEnabled() ); 10004 aMtf.WindStart(); 10005 aMtf.Play( pMaskedDevice ); 10006 BitmapEx aBmpEx( pMaskedDevice->GetBitmapEx( Point( 0, 0 ), pMaskedDevice->GetOutputSizePixel() ) ); 10007 i_pTargetOutDev->DrawBitmapEx( i_rPos, aBmpEx ); --- 5 unchanged lines hidden (view full) --- 10013 { 10014 if( pChild->mpWindowImpl->mpFrame == mpWindowImpl->mpFrame && pChild->IsVisible() ) 10015 { 10016 long nDeltaX = pChild->mnOutOffX - mnOutOffX; 10017 if( ImplHasMirroredGraphics() ) 10018 nDeltaX = mnOutWidth - nDeltaX - pChild->mnOutWidth; 10019 long nDeltaY = pChild->GetOutOffYPixel() - GetOutOffYPixel(); 10020 Point aPos( i_rPos ); |
10021 Point aDelta( nDeltaX, nDeltaY ); | 10021 Point aDelta( nDeltaX, nDeltaY ); |
10022 aPos += aDelta; 10023 pChild->ImplPaintToDevice( i_pTargetOutDev, aPos ); 10024 } 10025 } 10026 10027 // restore graphics state 10028 Pop(); 10029 10030 EnableOutput( bOutput ); 10031 mpWindowImpl->mbReallyVisible = bRVisible; 10032 mbDevOutput = bDevOutput; 10033 mnDPIX = nOldDPIX; 10034 mnDPIY = nOldDPIY; 10035} 10036 10037void Window::PaintToDevice( OutputDevice* pDev, const Point& rPos, const Size& /*rSize*/ ) 10038{ 10039 // FIXME: scaling: currently this is for pixel copying only | 10022 aPos += aDelta; 10023 pChild->ImplPaintToDevice( i_pTargetOutDev, aPos ); 10024 } 10025 } 10026 10027 // restore graphics state 10028 Pop(); 10029 10030 EnableOutput( bOutput ); 10031 mpWindowImpl->mbReallyVisible = bRVisible; 10032 mbDevOutput = bDevOutput; 10033 mnDPIX = nOldDPIX; 10034 mnDPIY = nOldDPIY; 10035} 10036 10037void Window::PaintToDevice( OutputDevice* pDev, const Point& rPos, const Size& /*rSize*/ ) 10038{ 10039 // FIXME: scaling: currently this is for pixel copying only |
10040 | 10040 |
10041 DBG_ASSERT( ! pDev->ImplHasMirroredGraphics(), "PaintToDevice to mirroring graphics" ); 10042 DBG_ASSERT( ! pDev->IsRTLEnabled(), "PaintToDevice to mirroring device" ); | 10041 DBG_ASSERT( ! pDev->ImplHasMirroredGraphics(), "PaintToDevice to mirroring graphics" ); 10042 DBG_ASSERT( ! pDev->IsRTLEnabled(), "PaintToDevice to mirroring device" ); |
10043 10044 | 10043 10044 |
10045 Point aPos = pDev->LogicToPixel( rPos ); 10046 10047 Window* pRealParent = NULL; 10048 if( ! mpWindowImpl->mbVisible ) 10049 { 10050 Window* pTempParent = ImplGetDefaultWindow(); 10051 if( pTempParent ) 10052 pTempParent->EnableChildTransparentMode(); 10053 pRealParent = GetParent(); 10054 SetParent( pTempParent ); 10055 // trigger correct visibility flags for children 10056 Show(); 10057 Hide(); 10058 } 10059 10060 sal_Bool bVisible = mpWindowImpl->mbVisible; 10061 mpWindowImpl->mbVisible = sal_True; | 10045 Point aPos = pDev->LogicToPixel( rPos ); 10046 10047 Window* pRealParent = NULL; 10048 if( ! mpWindowImpl->mbVisible ) 10049 { 10050 Window* pTempParent = ImplGetDefaultWindow(); 10051 if( pTempParent ) 10052 pTempParent->EnableChildTransparentMode(); 10053 pRealParent = GetParent(); 10054 SetParent( pTempParent ); 10055 // trigger correct visibility flags for children 10056 Show(); 10057 Hide(); 10058 } 10059 10060 sal_Bool bVisible = mpWindowImpl->mbVisible; 10061 mpWindowImpl->mbVisible = sal_True; |
10062 | 10062 |
10063 if( mpWindowImpl->mpBorderWindow ) 10064 mpWindowImpl->mpBorderWindow->ImplPaintToDevice( pDev, rPos ); 10065 else 10066 ImplPaintToDevice( pDev, rPos ); 10067 10068 mpWindowImpl->mbVisible = bVisible; 10069 10070 if( pRealParent ) --- 4 unchanged lines hidden (view full) --- 10075{ 10076 return XubString::EmptyString(); 10077} 10078 10079Selection Window::GetSurroundingTextSelection() const 10080{ 10081 return Selection( 0, 0 ); 10082} | 10063 if( mpWindowImpl->mpBorderWindow ) 10064 mpWindowImpl->mpBorderWindow->ImplPaintToDevice( pDev, rPos ); 10065 else 10066 ImplPaintToDevice( pDev, rPos ); 10067 10068 mpWindowImpl->mbVisible = bVisible; 10069 10070 if( pRealParent ) --- 4 unchanged lines hidden (view full) --- 10075{ 10076 return XubString::EmptyString(); 10077} 10078 10079Selection Window::GetSurroundingTextSelection() const 10080{ 10081 return Selection( 0, 0 ); 10082} |
10083 | |