diff options
author | Xisco Fauli <anistenis@gmail.com> | 2016-05-22 15:29:44 +0200 |
---|---|---|
committer | Noel Grandin <noelgrandin@gmail.com> | 2016-05-22 16:42:02 +0000 |
commit | 20d38addcdd6e4dccd78f2f7ee18ab45a26dd7ed (patch) | |
tree | 1abef35e97faf98ea15939885f6ebe9a804173c9 /sfx2/source | |
parent | d374786a67372e88a226ac5aa04898d538b04f7c (diff) |
tdf#89329: use unique_ptr for pImpl in frame
Change-Id: I34256941b366e0a3d7c78818b6e8576f4a5669a2
Reviewed-on: https://gerrit.libreoffice.org/25309
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'sfx2/source')
-rw-r--r-- | sfx2/source/view/frame.cxx | 118 | ||||
-rw-r--r-- | sfx2/source/view/frame2.cxx | 25 |
2 files changed, 70 insertions, 73 deletions
diff --git a/sfx2/source/view/frame.cxx b/sfx2/source/view/frame.cxx index 7d78539a3235..8ff9dda5cbfa 100644 --- a/sfx2/source/view/frame.cxx +++ b/sfx2/source/view/frame.cxx @@ -84,7 +84,7 @@ SfxPoolItem* SfxUnoFrameItem::CreateDefault() } void SfxFrame::Construct_Impl() { - pImp = new SfxFrame_Impl; + pImpl.reset(new SfxFrame_Impl); if ( !pFramesArr_Impl ) pFramesArr_Impl = new SfxFrameArr_Impl; pFramesArr_Impl->push_back( this ); @@ -106,36 +106,34 @@ SfxFrame::~SfxFrame() pParentFrame = nullptr; } - delete pImp->pDescr; + delete pImpl->pDescr; if ( pChildArr ) { DBG_ASSERT( pChildArr->empty(), "Children are not removed!" ); delete pChildArr; } - - delete pImp; } bool SfxFrame::DoClose() { // Actually, one more PrepareClose is still needed! bool bRet = false; - if ( !pImp->bClosing ) + if ( !pImpl->bClosing ) { - pImp->bClosing = true; + pImpl->bClosing = true; CancelTransfers(); // now close frame; it will be deleted if this call is successful, so don't use any members after that! bRet = true; try { - Reference< XCloseable > xCloseable ( pImp->xFrame, UNO_QUERY ); + Reference< XCloseable > xCloseable ( pImpl->xFrame, UNO_QUERY ); if ( (!GetCurrentDocument() || !GetCurrentDocument()->Get_Impl()->bDisposing ) && xCloseable.is()) xCloseable->close(true); - else if ( pImp->xFrame.is() ) + else if ( pImpl->xFrame.is() ) { - Reference < XFrame > xFrame = pImp->xFrame; + Reference < XFrame > xFrame = pImpl->xFrame; xFrame->setComponent( Reference < css::awt::XWindow >(), Reference < XController >() ); xFrame->dispose(); } @@ -144,7 +142,7 @@ bool SfxFrame::DoClose() } catch( css::util::CloseVetoException& ) { - pImp->bClosing = false; + pImpl->bClosing = false; bRet = false; } catch( css::lang::DisposedException& ) @@ -158,17 +156,17 @@ bool SfxFrame::DoClose() bool SfxFrame::DoClose_Impl() { SfxBindings* pBindings = nullptr; - if ( pImp->pCurrentViewFrame ) - pBindings = &pImp->pCurrentViewFrame->GetBindings(); + if ( pImpl->pCurrentViewFrame ) + pBindings = &pImpl->pCurrentViewFrame->GetBindings(); // For internal tasks Controllers and Tools must be cleared - if ( pImp->pWorkWin ) - pImp->pWorkWin->DeleteControllers_Impl(); + if ( pImpl->pWorkWin ) + pImpl->pWorkWin->DeleteControllers_Impl(); - if ( pImp->pCurrentViewFrame ) - pImp->pCurrentViewFrame->Close(); + if ( pImpl->pCurrentViewFrame ) + pImpl->pCurrentViewFrame->Close(); - if ( pImp->bOwnsBindings ) + if ( pImpl->bOwnsBindings ) DELETEZ( pBindings ); bool bRet = Close(); @@ -178,8 +176,8 @@ bool SfxFrame::DoClose_Impl() bool SfxFrame::DocIsModified_Impl() { - if ( pImp->pCurrentViewFrame && pImp->pCurrentViewFrame->GetObjectShell() && - pImp->pCurrentViewFrame->GetObjectShell()->IsModified() ) + if ( pImpl->pCurrentViewFrame && pImpl->pCurrentViewFrame->GetObjectShell() && + pImpl->pCurrentViewFrame->GetObjectShell()->IsModified() ) return true; for( sal_uInt16 nPos = GetChildFrameCount(); nPos--; ) if( (*pChildArr)[ nPos ]->DocIsModified_Impl() ) @@ -192,9 +190,9 @@ bool SfxFrame::PrepareClose_Impl( bool bUI ) bool bRet = true; // prevent recursive calls - if( !pImp->bPrepClosing ) + if( !pImpl->bPrepClosing ) { - pImp->bPrepClosing = true; + pImpl->bPrepClosing = true; SfxObjectShell* pCur = GetCurrentDocument() ; if( pCur ) @@ -225,12 +223,12 @@ bool SfxFrame::PrepareClose_Impl( bool bUI ) bRet = (*pChildArr)[ nPos ]->PrepareClose_Impl( bUI ); } - pImp->bPrepClosing = false; + pImpl->bPrepClosing = false; } - if ( bRet && pImp->pWorkWin ) + if ( bRet && pImpl->pWorkWin ) // if closing was accepted by the component the UI subframes must be asked also - bRet = pImp->pWorkWin->PrepareClose_Impl(); + bRet = pImpl->pWorkWin->PrepareClose_Impl(); return bRet; } @@ -265,12 +263,12 @@ SfxFrame& SfxFrame::GetTopFrame() const bool SfxFrame::IsClosing_Impl() const { - return pImp->bClosing; + return pImpl->bClosing; } void SfxFrame::SetIsClosing_Impl() { - pImp->bClosing = true; + pImpl->bClosing = true; } sal_uInt16 SfxFrame::GetChildFrameCount() const @@ -280,9 +278,9 @@ sal_uInt16 SfxFrame::GetChildFrameCount() const void SfxFrame::CancelTransfers() { - if( !pImp->bInCancelTransfers ) + if( !pImpl->bInCancelTransfers ) { - pImp->bInCancelTransfers = true; + pImpl->bInCancelTransfers = true; SfxObjectShell* pObj = GetCurrentDocument(); if( pObj ) //&& !( pObj->Get_Impl()->nLoadedFlags & SfxLoadedFlags::ALL )) { @@ -306,19 +304,19 @@ void SfxFrame::CancelTransfers() // Check if StarOne-Loader should be canceled SfxFrameWeakRef wFrame( this ); if (wFrame.Is()) - pImp->bInCancelTransfers = false; + pImpl->bInCancelTransfers = false; } } SfxViewFrame* SfxFrame::GetCurrentViewFrame() const { - return pImp->pCurrentViewFrame; + return pImpl->pCurrentViewFrame; } SfxDispatcher* SfxFrame::GetDispatcher_Impl() const { - if ( pImp->pCurrentViewFrame ) - return pImp->pCurrentViewFrame->GetDispatcher(); + if ( pImpl->pCurrentViewFrame ) + return pImpl->pCurrentViewFrame->GetDispatcher(); return GetParentFrame()->GetDispatcher_Impl(); } @@ -340,24 +338,24 @@ bool SfxFrame::IsAutoLoadLocked_Impl() const SfxObjectShell* SfxFrame::GetCurrentDocument() const { - return pImp->pCurrentViewFrame ? - pImp->pCurrentViewFrame->GetObjectShell() : + return pImpl->pCurrentViewFrame ? + pImpl->pCurrentViewFrame->GetObjectShell() : nullptr; } void SfxFrame::SetCurrentViewFrame_Impl( SfxViewFrame *pFrame ) { - pImp->pCurrentViewFrame = pFrame; + pImpl->pCurrentViewFrame = pFrame; } sal_uInt32 SfxFrame::GetFrameType() const { - return pImp->nType; + return pImpl->nType; } void SfxFrame::SetFrameType_Impl( sal_uInt32 n ) { - pImp->nType = n; + pImpl->nType = n; } void SfxFrame::GetViewData_Impl() @@ -458,14 +456,14 @@ SfxFrameDescriptor* SfxFrame::GetDescriptor() const // Create a FrameDescriptor On Demand; if there is no TopLevel-Frame // will result in an error, as no valid link is created. - if ( !pImp->pDescr ) + if ( !pImpl->pDescr ) { DBG_ASSERT( !GetParentFrame(), "No TopLevel-Frame, but no Descriptor!" ); - pImp->pDescr = new SfxFrameDescriptor; + pImpl->pDescr = new SfxFrameDescriptor; if ( GetCurrentDocument() ) - pImp->pDescr->SetURL( GetCurrentDocument()->GetMedium()->GetOrigURL() ); + pImpl->pDescr->SetURL( GetCurrentDocument()->GetMedium()->GetOrigURL() ); } - return pImp->pDescr; + return pImpl->pDescr; } void SfxFrame::GetDefaultTargetList(TargetList& rList) @@ -696,20 +694,20 @@ SfxFrame* SfxFrameIterator::NextSibling_Impl( SfxFrame& rPrev ) css::uno::Reference< css::frame::XController > SfxFrame::GetController() const { - if ( pImp->pCurrentViewFrame && pImp->pCurrentViewFrame->GetViewShell() ) - return pImp->pCurrentViewFrame->GetViewShell()->GetController(); + if ( pImpl->pCurrentViewFrame && pImpl->pCurrentViewFrame->GetViewShell() ) + return pImpl->pCurrentViewFrame->GetViewShell()->GetController(); else return css::uno::Reference< css::frame::XController > (); } const css::uno::Reference< css::frame::XFrame >& SfxFrame::GetFrameInterface() const { - return pImp->xFrame; + return pImpl->xFrame; } void SfxFrame::SetFrameInterface_Impl( const css::uno::Reference< css::frame::XFrame >& rFrame ) { - pImp->xFrame = rFrame; + pImpl->xFrame = rFrame; css::uno::Reference< css::frame::XDispatchRecorder > xRecorder; if ( !rFrame.is() && GetCurrentViewFrame() ) GetCurrentViewFrame()->GetBindings().SetRecorder_Impl( xRecorder ); @@ -721,10 +719,10 @@ void SfxFrame::Appear() { GetCurrentViewFrame()->Show(); GetWindow().Show(); - pImp->xFrame->getContainerWindow()->setVisible( true ); + pImpl->xFrame->getContainerWindow()->setVisible( true ); if ( pParentFrame ) pParentFrame->Appear(); - Reference < css::awt::XTopWindow > xTopWindow( pImp->xFrame->getContainerWindow(), UNO_QUERY ); + Reference < css::awt::XTopWindow > xTopWindow( pImpl->xFrame->getContainerWindow(), UNO_QUERY ); if ( xTopWindow.is() ) xTopWindow->toFront(); } @@ -739,17 +737,17 @@ void SfxFrame::AppearWithUpdate() void SfxFrame::SetOwnsBindings_Impl( bool bSet ) { - pImp->bOwnsBindings = bSet; + pImpl->bOwnsBindings = bSet; } bool SfxFrame::OwnsBindings_Impl() const { - return pImp->bOwnsBindings; + return pImpl->bOwnsBindings; } void SfxFrame::SetToolSpaceBorderPixel_Impl( const SvBorder& rBorder ) { - pImp->aBorder = rBorder; + pImpl->aBorder = rBorder; SfxViewFrame *pF = GetCurrentViewFrame(); if ( pF ) { @@ -786,8 +784,8 @@ Rectangle SfxFrame::GetTopOuterRectPixel_Impl() const SfxWorkWindow* SfxFrame::GetWorkWindow_Impl() const { - if ( pImp->pWorkWin ) - return pImp->pWorkWin; + if ( pImpl->pWorkWin ) + return pImpl->pWorkWin; else if ( pParentFrame ) return pParentFrame->GetWorkWindow_Impl(); else @@ -834,12 +832,12 @@ void SfxFrame::CreateWorkWindow_Impl() } } - pImp->pWorkWin = new SfxFrameWorkWin_Impl( &pFrame->GetWindow(), this, pFrame ); + pImpl->pWorkWin = new SfxFrameWorkWin_Impl( &pFrame->GetWindow(), this, pFrame ); } void SfxFrame::GrabFocusOnComponent_Impl() { - if ( pImp->bReleasingComponent ) + if ( pImpl->bReleasingComponent ) { GetWindow().GrabFocus(); return; @@ -855,17 +853,17 @@ void SfxFrame::GrabFocusOnComponent_Impl() void SfxFrame::ReleasingComponent_Impl() { - pImp->bReleasingComponent = true; + pImpl->bReleasingComponent = true; } bool SfxFrame::IsInPlace() const { - return pImp->bInPlace; + return pImpl->bInPlace; } void SfxFrame::SetInPlace_Impl( bool bSet ) { - pImp->bInPlace = bSet; + pImpl->bInPlace = bSet; } void SfxFrame::Resize() @@ -907,12 +905,12 @@ void SfxFrame::Resize() // remains the same, setting the toolspace border at the ContainerEnvironment doesn't force a // resize on the IPEnvironment; without that no resize is called for the SfxViewFrame. So always // set the window size of the SfxViewFrame explicit. - SetToolSpaceBorderPixel_Impl( pImp->aBorder ); + SetToolSpaceBorderPixel_Impl( pImpl->aBorder ); } } - else if ( pImp->pCurrentViewFrame ) + else if ( pImpl->pCurrentViewFrame ) { - pImp->pCurrentViewFrame->GetWindow().SetSizePixel( GetWindow().GetOutputSizePixel() ); + pImpl->pCurrentViewFrame->GetWindow().SetSizePixel( GetWindow().GetOutputSizePixel() ); } } diff --git a/sfx2/source/view/frame2.cxx b/sfx2/source/view/frame2.cxx index 8d80e6facc1e..6d00c6ffbd68 100644 --- a/sfx2/source/view/frame2.cxx +++ b/sfx2/source/view/frame2.cxx @@ -181,7 +181,7 @@ void SfxFrameWindow_Impl::StateChanged( StateChangedType nStateChange ) { if ( nStateChange == StateChangedType::InitShow ) { - pFrame->pImp->bHidden = false; + pFrame->pImpl->bHidden = false; if ( pFrame->IsInPlace() ) // TODO/MBA: workaround for bug in LayoutManager: the final resize does not get through because the // LayoutManager works asynchronously and between resize and time execution the DockingAcceptor was exchanged so that @@ -199,7 +199,7 @@ void SfxFrameWindow_Impl::StateChanged( StateChangedType nStateChange ) void SfxFrameWindow_Impl::DoResize() { - if ( !pFrame->pImp->bLockResize ) + if ( !pFrame->pImpl->bLockResize ) pFrame->Resize(); } @@ -292,14 +292,13 @@ SfxFrame::SfxFrame( vcl::Window& i_rContainerWindow ) :SvCompatWeakBase<SfxFrame>( this ) ,pParentFrame( nullptr ) ,pChildArr( nullptr ) - ,pImp( nullptr ) ,pWindow( nullptr ) { Construct_Impl(); - pImp->bHidden = false; + pImpl->bHidden = false; InsertTopFrame_Impl( this ); - pImp->pExternalContainerWindow = &i_rContainerWindow; + pImpl->pExternalContainerWindow = &i_rContainerWindow; pWindow = VclPtr<SfxFrameWindow_Impl>::Create( this, i_rContainerWindow ); @@ -341,8 +340,8 @@ SystemWindow* SfxFrame::GetSystemWindow() const SystemWindow* SfxFrame::GetTopWindow_Impl() const { - if ( pImp->pExternalContainerWindow->IsSystemWindow() ) - return static_cast<SystemWindow*>( pImp->pExternalContainerWindow.get() ); + if ( pImpl->pExternalContainerWindow->IsSystemWindow() ) + return static_cast<SystemWindow*>( pImpl->pExternalContainerWindow.get() ); else return nullptr; } @@ -356,12 +355,12 @@ bool SfxFrame::Close() void SfxFrame::LockResize_Impl( bool bLock ) { - pImp->bLockResize = bLock; + pImpl->bLockResize = bLock; } void SfxFrame::SetMenuBarOn_Impl( bool bOn ) { - pImp->bMenuBarOn = bOn; + pImpl->bMenuBarOn = bOn; Reference< css::beans::XPropertySet > xPropSet( GetFrameInterface(), UNO_QUERY ); Reference< css::frame::XLayoutManager > xLayoutManager; @@ -385,7 +384,7 @@ void SfxFrame::SetMenuBarOn_Impl( bool bOn ) bool SfxFrame::IsMenuBarOn_Impl() const { - return pImp->bMenuBarOn; + return pImpl->bMenuBarOn; } void SfxFrame::PrepareForDoc_Impl( SfxObjectShell& i_rDoc ) @@ -393,8 +392,8 @@ void SfxFrame::PrepareForDoc_Impl( SfxObjectShell& i_rDoc ) const ::comphelper::NamedValueCollection aDocumentArgs( i_rDoc.GetModel()->getArgs() ); // hidden? - OSL_ENSURE( !pImp->bHidden, "when does this happen?" ); - pImp->bHidden = aDocumentArgs.getOrDefault( "Hidden", pImp->bHidden ); + OSL_ENSURE( !pImpl->bHidden, "when does this happen?" ); + pImpl->bHidden = aDocumentArgs.getOrDefault( "Hidden", pImpl->bHidden ); // update our descriptor UpdateDescriptor( &i_rDoc ); @@ -407,7 +406,7 @@ void SfxFrame::PrepareForDoc_Impl( SfxObjectShell& i_rDoc ) bool SfxFrame::IsMarkedHidden_Impl() const { - return pImp->bHidden; + return pImpl->bHidden; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |