1*d119d52dSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*d119d52dSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*d119d52dSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*d119d52dSAndrew Rist * distributed with this work for additional information 6*d119d52dSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*d119d52dSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*d119d52dSAndrew Rist * "License"); you may not use this file except in compliance 9*d119d52dSAndrew Rist * with the License. You may obtain a copy of the License at 10*d119d52dSAndrew Rist * 11*d119d52dSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*d119d52dSAndrew Rist * 13*d119d52dSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*d119d52dSAndrew Rist * software distributed under the License is distributed on an 15*d119d52dSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*d119d52dSAndrew Rist * KIND, either express or implied. See the License for the 17*d119d52dSAndrew Rist * specific language governing permissions and limitations 18*d119d52dSAndrew Rist * under the License. 19*d119d52dSAndrew Rist * 20*d119d52dSAndrew Rist *************************************************************/ 21*d119d52dSAndrew Rist 22*d119d52dSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #include "precompiled_sfx2.hxx" 25cdf0e10cSrcweir 26cdf0e10cSrcweir #include "sfx2/titledockwin.hxx" 27cdf0e10cSrcweir #include "sfx2/bindings.hxx" 28cdf0e10cSrcweir #include "sfx2/dispatch.hxx" 29cdf0e10cSrcweir #include "sfxlocal.hrc" 30cdf0e10cSrcweir #include "sfxresid.hxx" 31cdf0e10cSrcweir 32cdf0e10cSrcweir #include <svl/eitem.hxx> 33cdf0e10cSrcweir 34cdf0e10cSrcweir //...................................................................................................................... 35cdf0e10cSrcweir namespace sfx2 36cdf0e10cSrcweir { 37cdf0e10cSrcweir //...................................................................................................................... 38cdf0e10cSrcweir 39cdf0e10cSrcweir //================================================================================================================== 40cdf0e10cSrcweir //= TitledDockingWindow 41cdf0e10cSrcweir //================================================================================================================== 42cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ TitledDockingWindow(SfxBindings * i_pBindings,SfxChildWindow * i_pChildWindow,Window * i_pParent,WinBits i_nStyle)43cdf0e10cSrcweir TitledDockingWindow::TitledDockingWindow( SfxBindings* i_pBindings, SfxChildWindow* i_pChildWindow, Window* i_pParent, 44cdf0e10cSrcweir WinBits i_nStyle ) 45cdf0e10cSrcweir :SfxDockingWindow( i_pBindings, i_pChildWindow, i_pParent, i_nStyle ) 46cdf0e10cSrcweir ,m_sTitle() 47cdf0e10cSrcweir ,m_aToolbox( this ) 48cdf0e10cSrcweir ,m_aContentWindow( this, WB_DIALOGCONTROL ) 49cdf0e10cSrcweir ,m_aBorder( 3, 1, 3, 3 ) 50cdf0e10cSrcweir ,m_bLayoutPending( false ) 51cdf0e10cSrcweir ,m_nTitleBarHeight(0) 52cdf0e10cSrcweir { 53cdf0e10cSrcweir impl_construct(); 54cdf0e10cSrcweir } 55cdf0e10cSrcweir 56cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ TitledDockingWindow(SfxBindings * i_pBindings,SfxChildWindow * i_pChildWindow,Window * i_pParent,const ResId & i_rResId)57cdf0e10cSrcweir TitledDockingWindow::TitledDockingWindow( SfxBindings* i_pBindings, SfxChildWindow* i_pChildWindow, Window* i_pParent, 58cdf0e10cSrcweir const ResId& i_rResId ) 59cdf0e10cSrcweir :SfxDockingWindow( i_pBindings, i_pChildWindow, i_pParent, i_rResId ) 60cdf0e10cSrcweir ,m_sTitle() 61cdf0e10cSrcweir ,m_aToolbox( this ) 62cdf0e10cSrcweir ,m_aContentWindow( this ) 63cdf0e10cSrcweir ,m_aBorder( 3, 1, 3, 3 ) 64cdf0e10cSrcweir ,m_bLayoutPending( false ) 65cdf0e10cSrcweir { 66cdf0e10cSrcweir impl_construct(); 67cdf0e10cSrcweir } 68cdf0e10cSrcweir 69cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ impl_construct()70cdf0e10cSrcweir void TitledDockingWindow::impl_construct() 71cdf0e10cSrcweir { 72cdf0e10cSrcweir SetBackground( Wallpaper() ); 73cdf0e10cSrcweir 74cdf0e10cSrcweir m_aToolbox.SetSelectHdl( LINK( this, TitledDockingWindow, OnToolboxItemSelected ) ); 75cdf0e10cSrcweir m_aToolbox.SetOutStyle( TOOLBOX_STYLE_FLAT ); 76cdf0e10cSrcweir m_aToolbox.SetBackground( Wallpaper( GetSettings().GetStyleSettings().GetDialogColor() ) ); 77cdf0e10cSrcweir m_aToolbox.Show(); 78cdf0e10cSrcweir impl_resetToolBox(); 79cdf0e10cSrcweir 80cdf0e10cSrcweir m_aContentWindow.Show(); 81cdf0e10cSrcweir } 82cdf0e10cSrcweir 83cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ ~TitledDockingWindow()84cdf0e10cSrcweir TitledDockingWindow::~TitledDockingWindow() 85cdf0e10cSrcweir { 86cdf0e10cSrcweir } 87cdf0e10cSrcweir 88cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ SetTitle(const String & i_rTitle)89cdf0e10cSrcweir void TitledDockingWindow::SetTitle( const String& i_rTitle ) 90cdf0e10cSrcweir { 91cdf0e10cSrcweir m_sTitle = i_rTitle; 92cdf0e10cSrcweir Invalidate(); 93cdf0e10cSrcweir } 94cdf0e10cSrcweir 95cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ GetTitle() const96cdf0e10cSrcweir String TitledDockingWindow::GetTitle() const 97cdf0e10cSrcweir { 98cdf0e10cSrcweir return impl_getTitle(); 99cdf0e10cSrcweir } 100cdf0e10cSrcweir 101cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ SetText(const String & i_rText)102cdf0e10cSrcweir void TitledDockingWindow::SetText( const String& i_rText ) 103cdf0e10cSrcweir { 104cdf0e10cSrcweir SfxDockingWindow::SetText( i_rText ); 105cdf0e10cSrcweir if ( m_sTitle.Len() == 0 ) 106cdf0e10cSrcweir // our text is used as title, too => repaint 107cdf0e10cSrcweir Invalidate(); 108cdf0e10cSrcweir } 109cdf0e10cSrcweir 110cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ Resize()111cdf0e10cSrcweir void TitledDockingWindow::Resize() 112cdf0e10cSrcweir { 113cdf0e10cSrcweir SfxDockingWindow::Resize(); 114cdf0e10cSrcweir impl_scheduleLayout(); 115cdf0e10cSrcweir } 116cdf0e10cSrcweir 117cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ onLayoutDone()118cdf0e10cSrcweir void TitledDockingWindow::onLayoutDone() 119cdf0e10cSrcweir { 120cdf0e10cSrcweir // not interested in 121cdf0e10cSrcweir } 122cdf0e10cSrcweir 123cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ impl_scheduleLayout()124cdf0e10cSrcweir void TitledDockingWindow::impl_scheduleLayout() 125cdf0e10cSrcweir { 126cdf0e10cSrcweir m_bLayoutPending = true; 127cdf0e10cSrcweir } 128cdf0e10cSrcweir 129cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ impl_layout()130cdf0e10cSrcweir void TitledDockingWindow::impl_layout() 131cdf0e10cSrcweir { 132cdf0e10cSrcweir m_bLayoutPending = false; 133cdf0e10cSrcweir 134cdf0e10cSrcweir m_aToolbox.ShowItem( 1, !IsFloatingMode() ); 135cdf0e10cSrcweir 136cdf0e10cSrcweir const Size aToolBoxSize( m_aToolbox.CalcWindowSizePixel() ); 137cdf0e10cSrcweir Size aWindowSize( GetOutputSizePixel() ); 138cdf0e10cSrcweir 139cdf0e10cSrcweir // position the tool box 140cdf0e10cSrcweir m_nTitleBarHeight = GetSettings().GetStyleSettings().GetTitleHeight(); 141cdf0e10cSrcweir if ( aToolBoxSize.Height() > m_nTitleBarHeight ) 142cdf0e10cSrcweir m_nTitleBarHeight = aToolBoxSize.Height(); 143cdf0e10cSrcweir m_aToolbox.SetPosSizePixel( 144cdf0e10cSrcweir Point( 145cdf0e10cSrcweir aWindowSize.Width() - aToolBoxSize.Width(), 146cdf0e10cSrcweir ( m_nTitleBarHeight - aToolBoxSize.Height() ) / 2 147cdf0e10cSrcweir ), 148cdf0e10cSrcweir aToolBoxSize 149cdf0e10cSrcweir ); 150cdf0e10cSrcweir 151cdf0e10cSrcweir // Place the content window. 152cdf0e10cSrcweir if ( m_nTitleBarHeight < aToolBoxSize.Height() ) 153cdf0e10cSrcweir m_nTitleBarHeight = aToolBoxSize.Height(); 154cdf0e10cSrcweir aWindowSize.Height() -= m_nTitleBarHeight; 155cdf0e10cSrcweir m_aContentWindow.SetPosSizePixel( 156cdf0e10cSrcweir Point( m_aBorder.Left(), m_nTitleBarHeight + m_aBorder.Top() ), 157cdf0e10cSrcweir Size( 158cdf0e10cSrcweir aWindowSize.Width() - m_aBorder.Left() - m_aBorder.Right(), 159cdf0e10cSrcweir aWindowSize.Height() - m_aBorder.Top() - m_aBorder.Bottom() 160cdf0e10cSrcweir ) 161cdf0e10cSrcweir ); 162cdf0e10cSrcweir 163cdf0e10cSrcweir onLayoutDone(); 164cdf0e10cSrcweir } 165cdf0e10cSrcweir 166cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ Paint(const Rectangle & i_rArea)167cdf0e10cSrcweir void TitledDockingWindow::Paint( const Rectangle& i_rArea ) 168cdf0e10cSrcweir { 169cdf0e10cSrcweir if ( m_bLayoutPending ) 170cdf0e10cSrcweir impl_layout(); 171cdf0e10cSrcweir 172cdf0e10cSrcweir SfxDockingWindow::Paint( i_rArea ); 173cdf0e10cSrcweir 174cdf0e10cSrcweir Push( PUSH_FONT | PUSH_FILLCOLOR | PUSH_LINECOLOR ); 175cdf0e10cSrcweir 176cdf0e10cSrcweir SetFillColor( GetSettings().GetStyleSettings().GetDialogColor() ); 177cdf0e10cSrcweir SetLineColor(); 178cdf0e10cSrcweir 179cdf0e10cSrcweir // bold font 180cdf0e10cSrcweir Font aFont( GetFont() ); 181cdf0e10cSrcweir aFont.SetWeight( WEIGHT_BOLD ); 182cdf0e10cSrcweir SetFont( aFont ); 183cdf0e10cSrcweir 184cdf0e10cSrcweir // Set border values. 185cdf0e10cSrcweir Size aWindowSize( GetOutputSizePixel() ); 186cdf0e10cSrcweir int nOuterLeft = 0; 187cdf0e10cSrcweir int nInnerLeft = nOuterLeft + m_aBorder.Left() - 1; 188cdf0e10cSrcweir int nOuterRight = aWindowSize.Width() - 1; 189cdf0e10cSrcweir int nInnerRight = nOuterRight - m_aBorder.Right() + 1; 190cdf0e10cSrcweir int nInnerTop = m_nTitleBarHeight + m_aBorder.Top() - 1; 191cdf0e10cSrcweir int nOuterBottom = aWindowSize.Height() - 1; 192cdf0e10cSrcweir int nInnerBottom = nOuterBottom - m_aBorder.Bottom() + 1; 193cdf0e10cSrcweir 194cdf0e10cSrcweir // Paint title bar background. 195cdf0e10cSrcweir Rectangle aTitleBarBox( Rectangle( 196cdf0e10cSrcweir nOuterLeft, 197cdf0e10cSrcweir 0, 198cdf0e10cSrcweir nOuterRight, 199cdf0e10cSrcweir nInnerTop-1 200cdf0e10cSrcweir ) ); 201cdf0e10cSrcweir DrawRect( aTitleBarBox ); 202cdf0e10cSrcweir 203cdf0e10cSrcweir if ( nInnerLeft > nOuterLeft ) 204cdf0e10cSrcweir DrawRect( Rectangle( nOuterLeft, nInnerTop, nInnerLeft, nInnerBottom ) ); 205cdf0e10cSrcweir if ( nOuterRight > nInnerRight ) 206cdf0e10cSrcweir DrawRect( Rectangle( nInnerRight, nInnerTop, nOuterRight, nInnerBottom ) ); 207cdf0e10cSrcweir if ( nInnerBottom < nOuterBottom ) 208cdf0e10cSrcweir DrawRect( Rectangle( nOuterLeft, nInnerBottom, nOuterRight, nOuterBottom ) ); 209cdf0e10cSrcweir 210cdf0e10cSrcweir // Paint bevel border. 211cdf0e10cSrcweir SetFillColor(); 212cdf0e10cSrcweir SetLineColor( GetSettings().GetStyleSettings().GetShadowColor() ); 213cdf0e10cSrcweir if ( m_aBorder.Top() > 0 ) 214cdf0e10cSrcweir DrawLine( Point( nInnerLeft, nInnerTop ), Point( nInnerLeft, nInnerBottom ) ); 215cdf0e10cSrcweir if ( m_aBorder.Left() > 0 ) 216cdf0e10cSrcweir DrawLine( Point( nInnerLeft, nInnerTop ), Point( nInnerRight, nInnerTop ) ); 217cdf0e10cSrcweir 218cdf0e10cSrcweir SetLineColor( GetSettings().GetStyleSettings().GetLightColor() ); 219cdf0e10cSrcweir if ( m_aBorder.Bottom() > 0 ) 220cdf0e10cSrcweir DrawLine( Point( nInnerRight, nInnerBottom ), Point( nInnerLeft, nInnerBottom ) ); 221cdf0e10cSrcweir if ( m_aBorder.Right() > 0 ) 222cdf0e10cSrcweir DrawLine( Point( nInnerRight, nInnerBottom ), Point( nInnerRight, nInnerTop ) ); 223cdf0e10cSrcweir 224cdf0e10cSrcweir // Paint title bar text. 225cdf0e10cSrcweir SetLineColor( GetSettings().GetStyleSettings().GetActiveTextColor() ); 226cdf0e10cSrcweir aTitleBarBox.Left() += 3; 227cdf0e10cSrcweir DrawText( aTitleBarBox, impl_getTitle(), TEXT_DRAW_LEFT | TEXT_DRAW_VCENTER | TEXT_DRAW_MULTILINE | TEXT_DRAW_WORDBREAK ); 228cdf0e10cSrcweir 229cdf0e10cSrcweir // Restore original values of the output device. 230cdf0e10cSrcweir Pop(); 231cdf0e10cSrcweir } 232cdf0e10cSrcweir 233cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ impl_getTitle() const234cdf0e10cSrcweir String TitledDockingWindow::impl_getTitle() const 235cdf0e10cSrcweir { 236cdf0e10cSrcweir return m_sTitle.Len() ? m_sTitle : GetText(); 237cdf0e10cSrcweir } 238cdf0e10cSrcweir 239cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ impl_resetToolBox()240cdf0e10cSrcweir void TitledDockingWindow::impl_resetToolBox() 241cdf0e10cSrcweir { 242cdf0e10cSrcweir m_aToolbox.Clear(); 243cdf0e10cSrcweir 244cdf0e10cSrcweir // Get the closer bitmap and set it as right most button. 245cdf0e10cSrcweir Image aImage( SfxResId( SFX_IMG_CLOSE_DOC ) ); 246cdf0e10cSrcweir Image aImageHC( SfxResId( SFX_IMG_CLOSE_DOC_HC ) ); 247cdf0e10cSrcweir m_aToolbox.InsertItem( 1, 248cdf0e10cSrcweir GetSettings().GetStyleSettings().GetHighContrastMode() 249cdf0e10cSrcweir ? aImageHC 250cdf0e10cSrcweir : aImage 251cdf0e10cSrcweir ); 252cdf0e10cSrcweir m_aToolbox.ShowItem( 1 ); 253cdf0e10cSrcweir } 254cdf0e10cSrcweir 255cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ impl_addDropDownToolBoxItem(const String & i_rItemText,const rtl::OString & i_nHelpId,const Link & i_rCallback)256cdf0e10cSrcweir sal_uInt16 TitledDockingWindow::impl_addDropDownToolBoxItem( const String& i_rItemText, const rtl::OString& i_nHelpId, const Link& i_rCallback ) 257cdf0e10cSrcweir { 258cdf0e10cSrcweir // Add the menu before the closer button. 259cdf0e10cSrcweir const sal_uInt16 nItemCount( m_aToolbox.GetItemCount() ); 260cdf0e10cSrcweir const sal_uInt16 nItemId( nItemCount + 1 ); 261cdf0e10cSrcweir m_aToolbox.InsertItem( nItemId, i_rItemText, TIB_DROPDOWNONLY, nItemCount > 0 ? nItemCount - 1 : TOOLBOX_APPEND ); 262cdf0e10cSrcweir m_aToolbox.SetHelpId( nItemId, i_nHelpId ); 263cdf0e10cSrcweir m_aToolbox.SetClickHdl( i_rCallback ); 264cdf0e10cSrcweir m_aToolbox.SetDropdownClickHdl( i_rCallback ); 265cdf0e10cSrcweir 266cdf0e10cSrcweir // The tool box has likely changed its size. The title bar has to be 267cdf0e10cSrcweir // resized. 268cdf0e10cSrcweir impl_scheduleLayout(); 269cdf0e10cSrcweir Invalidate(); 270cdf0e10cSrcweir 271cdf0e10cSrcweir return nItemId; 272cdf0e10cSrcweir } 273cdf0e10cSrcweir 274cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ IMPL_LINK(TitledDockingWindow,OnToolboxItemSelected,ToolBox *,pToolBox)275cdf0e10cSrcweir IMPL_LINK( TitledDockingWindow, OnToolboxItemSelected, ToolBox*, pToolBox ) 276cdf0e10cSrcweir { 277cdf0e10cSrcweir const sal_uInt16 nId = pToolBox->GetCurItemId(); 278cdf0e10cSrcweir 279cdf0e10cSrcweir if ( nId == 1 ) 280cdf0e10cSrcweir { 281cdf0e10cSrcweir // the closer 282cdf0e10cSrcweir EndTracking(); 283cdf0e10cSrcweir const sal_uInt16 nChildWindowId( GetChildWindow_Impl()->GetType() ); 284cdf0e10cSrcweir const SfxBoolItem aVisibility( nChildWindowId, sal_False ); 285cdf0e10cSrcweir GetBindings().GetDispatcher()->Execute( 286cdf0e10cSrcweir nChildWindowId, 287cdf0e10cSrcweir SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD, 288cdf0e10cSrcweir &aVisibility, 289cdf0e10cSrcweir NULL 290cdf0e10cSrcweir ); 291cdf0e10cSrcweir } 292cdf0e10cSrcweir 293cdf0e10cSrcweir return 0; 294cdf0e10cSrcweir } 295cdf0e10cSrcweir 296cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ StateChanged(StateChangedType i_nType)297cdf0e10cSrcweir void TitledDockingWindow::StateChanged( StateChangedType i_nType ) 298cdf0e10cSrcweir { 299cdf0e10cSrcweir switch ( i_nType ) 300cdf0e10cSrcweir { 301cdf0e10cSrcweir case STATE_CHANGE_INITSHOW: 302cdf0e10cSrcweir impl_scheduleLayout(); 303cdf0e10cSrcweir break; 304cdf0e10cSrcweir } 305cdf0e10cSrcweir SfxDockingWindow::StateChanged( i_nType ); 306cdf0e10cSrcweir } 307cdf0e10cSrcweir 308cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ EndDocking(const Rectangle & i_rRect,sal_Bool i_bFloatMode)309cdf0e10cSrcweir void TitledDockingWindow::EndDocking( const Rectangle& i_rRect, sal_Bool i_bFloatMode ) 310cdf0e10cSrcweir { 311cdf0e10cSrcweir SfxDockingWindow::EndDocking( i_rRect, i_bFloatMode ); 312cdf0e10cSrcweir 313cdf0e10cSrcweir if ( m_aEndDockingHdl.IsSet() ) 314cdf0e10cSrcweir m_aEndDockingHdl.Call( this ); 315cdf0e10cSrcweir } 316cdf0e10cSrcweir 317cdf0e10cSrcweir //------------------------------------------------------------------------------------------------------------------ DataChanged(const DataChangedEvent & i_rDataChangedEvent)318cdf0e10cSrcweir void TitledDockingWindow::DataChanged( const DataChangedEvent& i_rDataChangedEvent ) 319cdf0e10cSrcweir { 320cdf0e10cSrcweir SfxDockingWindow::DataChanged( i_rDataChangedEvent ); 321cdf0e10cSrcweir 322cdf0e10cSrcweir switch ( i_rDataChangedEvent.GetType() ) 323cdf0e10cSrcweir { 324cdf0e10cSrcweir case DATACHANGED_SETTINGS: 325cdf0e10cSrcweir if ( ( i_rDataChangedEvent.GetFlags() & SETTINGS_STYLE ) == 0) 326cdf0e10cSrcweir break; 327cdf0e10cSrcweir // else fall through. 328cdf0e10cSrcweir case DATACHANGED_FONTS: 329cdf0e10cSrcweir case DATACHANGED_FONTSUBSTITUTION: 330cdf0e10cSrcweir { 331cdf0e10cSrcweir const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); 332cdf0e10cSrcweir 333cdf0e10cSrcweir // Font. 334cdf0e10cSrcweir Font aFont = rStyleSettings.GetAppFont(); 335cdf0e10cSrcweir if ( IsControlFont() ) 336cdf0e10cSrcweir aFont.Merge( GetControlFont() ); 337cdf0e10cSrcweir SetZoomedPointFont( aFont ); 338cdf0e10cSrcweir 339cdf0e10cSrcweir // Color. 340cdf0e10cSrcweir Color aColor; 341cdf0e10cSrcweir if ( IsControlForeground() ) 342cdf0e10cSrcweir aColor = GetControlForeground(); 343cdf0e10cSrcweir else 344cdf0e10cSrcweir aColor = rStyleSettings.GetButtonTextColor(); 345cdf0e10cSrcweir SetTextColor( aColor ); 346cdf0e10cSrcweir SetTextFillColor(); 347cdf0e10cSrcweir 348cdf0e10cSrcweir impl_scheduleLayout(); 349cdf0e10cSrcweir Invalidate(); 350cdf0e10cSrcweir } 351cdf0e10cSrcweir break; 352cdf0e10cSrcweir } 353cdf0e10cSrcweir } 354cdf0e10cSrcweir 355cdf0e10cSrcweir //...................................................................................................................... 356cdf0e10cSrcweir } // namespace sfx2 357cdf0e10cSrcweir //...................................................................................................................... 358