[Libreoffice-commits] core.git: 2 commits - sw/source

Noel Grandin noel at peralex.com
Mon Nov 24 04:21:28 PST 2014


 sw/source/core/inc/blink.hxx                                |    4 
 sw/source/core/layout/fly.cxx                               |   12 
 sw/source/core/layout/flycnt.cxx                            |   24 -
 sw/source/core/layout/flyincnt.cxx                          |   10 
 sw/source/core/layout/flylay.cxx                            |   44 +-
 sw/source/core/layout/frmtool.cxx                           |  186 +++++-----
 sw/source/core/layout/ftnfrm.cxx                            |  218 ++++++------
 sw/source/core/layout/hffrm.cxx                             |   32 -
 sw/source/core/layout/layact.cxx                            |  144 +++----
 sw/source/core/layout/laycache.cxx                          |   70 +--
 sw/source/core/layout/layouter.cxx                          |    6 
 sw/source/core/layout/newfrm.cxx                            |   14 
 sw/source/core/layout/pagechg.cxx                           |  148 ++++----
 sw/source/core/layout/pagedesc.cxx                          |   24 -
 sw/source/core/layout/paintfrm.cxx                          |   30 -
 sw/source/core/layout/sectfrm.cxx                           |  172 ++++-----
 sw/source/core/layout/ssfrm.cxx                             |   24 -
 sw/source/core/layout/tabfrm.cxx                            |  218 ++++++------
 sw/source/core/layout/trvlfrm.cxx                           |  120 +++---
 sw/source/core/layout/wsfrm.cxx                             |  212 +++++------
 sw/source/core/objectpositioning/anchoredobjectposition.cxx |    4 
 sw/source/core/ole/ndole.cxx                                |    2 
 sw/source/core/para/paratr.cxx                              |   14 
 sw/source/core/sw3io/swacorr.cxx                            |    2 
 sw/source/core/swg/SwXMLTextBlocks.cxx                      |   10 
 sw/source/core/table/swnewtable.cxx                         |    6 
 sw/source/core/table/swtable.cxx                            |   60 +--
 sw/source/core/text/EnhancedPDFExportHelper.cxx             |    4 
 sw/source/core/text/SwGrammarMarkUp.cxx                     |    4 
 sw/source/core/text/atrstck.cxx                             |  124 +++---
 sw/source/core/text/blink.cxx                               |    2 
 sw/source/core/text/frmcrsr.cxx                             |   32 -
 sw/source/core/text/frmform.cxx                             |   16 
 sw/source/core/text/guess.cxx                               |    2 
 sw/source/core/text/inftxt.cxx                              |   28 -
 sw/source/core/text/inftxt.hxx                              |    2 
 sw/source/core/text/itradj.cxx                              |   40 +-
 sw/source/core/text/itrcrsr.cxx                             |  132 +++----
 sw/source/core/text/itrform2.cxx                            |   60 +--
 sw/source/core/text/itrform2.hxx                            |    4 
 sw/source/core/text/itrpaint.cxx                            |   10 
 sw/source/core/text/itrpaint.hxx                            |    4 
 sw/source/core/text/itrtxt.cxx                              |    4 
 sw/source/core/text/itrtxt.hxx                              |    4 
 sw/source/core/text/porfld.cxx                              |   10 
 sw/source/core/text/porglue.cxx                             |    6 
 sw/source/core/text/porlay.cxx                              |   18 
 sw/source/core/text/porlin.cxx                              |    2 
 sw/source/core/text/pormulti.cxx                            |  120 +++---
 sw/source/core/text/pormulti.hxx                            |    2 
 sw/source/core/text/porrst.cxx                              |    4 
 sw/source/core/text/portxt.cxx                              |    8 
 sw/source/core/text/txtcache.cxx                            |   23 -
 sw/source/core/text/txtcache.hxx                            |    2 
 sw/source/core/text/txtdrop.cxx                             |    6 
 sw/source/core/text/txtfld.cxx                              |   32 -
 sw/source/core/text/txtfly.cxx                              |   12 
 sw/source/core/text/txtfrm.cxx                              |   48 +-
 sw/source/core/text/txtftn.cxx                              |   50 +-
 sw/source/core/text/txthyph.cxx                             |    4 
 sw/source/core/text/txttab.cxx                              |    6 
 sw/source/core/text/widorp.cxx                              |    2 
 sw/source/core/text/xmldump.cxx                             |    8 
 sw/source/core/tox/ToxTabStopTokenHandler.cxx               |    4 
 sw/source/core/tox/tox.cxx                                  |    2 
 sw/source/core/tox/txmsrt.cxx                               |   40 +-
 sw/source/core/txtnode/SwGrammarContact.cxx                 |    6 
 sw/source/core/txtnode/atrfld.cxx                           |   30 -
 68 files changed, 1364 insertions(+), 1363 deletions(-)

New commits:
commit 0df9e5e46b0df4a8cc9e7dc39b56b10f922a31e5
Author: Noel Grandin <noel at peralex.com>
Date:   Fri Nov 21 14:36:31 2014 +0200

    loplugin: cstylecast
    
    Change-Id: Ia3dc8efc8c8803597cbf226780bdb7e1c9681ee0

diff --git a/sw/source/core/objectpositioning/anchoredobjectposition.cxx b/sw/source/core/objectpositioning/anchoredobjectposition.cxx
index 79db538..7cf57d2 100644
--- a/sw/source/core/objectpositioning/anchoredobjectposition.cxx
+++ b/sw/source/core/objectpositioning/anchoredobjectposition.cxx
@@ -887,7 +887,7 @@ SwTwips SwAnchoredObjectPosition::_AdjustHoriRelPosForDrawAside(
     const SwFrm* pObjContext = ::FindKontext( &rAnchorTxtFrm, FRM_COLUMN );
     sal_uLong nObjIndex = rAnchorTxtFrm.GetTxtNode()->GetIndex();
     SwOrderIter aIter( pObjPage, true );
-    const SwFlyFrm* pFly = ((SwVirtFlyDrawObj*)aIter.Bottom())->GetFlyFrm();
+    const SwFlyFrm* pFly = static_cast<const SwVirtFlyDrawObj*>(aIter.Bottom())->GetFlyFrm();
     while ( pFly && nObjOrdNum > pFly->GetVirtDrawObj()->GetOrdNumDirect() )
     {
         if ( _DrawAsideFly( pFly, aTmpObjRect, pObjContext, nObjIndex,
@@ -967,7 +967,7 @@ SwTwips SwAnchoredObjectPosition::_AdjustHoriRelPosForDrawAside(
             } // end of <if (bVert)>
         } // end of <if _DrawAsideFly(..)>
 
-        pFly = ((SwVirtFlyDrawObj*)aIter.Next())->GetFlyFrm();
+        pFly = static_cast<const SwVirtFlyDrawObj*>(aIter.Next())->GetFlyFrm();
     } // end of <loop on fly frames
 
     return nAdjustedRelPosX;
diff --git a/sw/source/core/ole/ndole.cxx b/sw/source/core/ole/ndole.cxx
index 3136db5..a0740e3 100644
--- a/sw/source/core/ole/ndole.cxx
+++ b/sw/source/core/ole/ndole.cxx
@@ -485,7 +485,7 @@ bool SwOLENode::IsInGlobalDocSection() const
 
     // pAnchorNd contains the most recently found Section Node, which
     // now must fulfill the prerequesites for the GlobalDoc
-    pSectNd = (SwSectionNode*)pAnchorNd;
+    pSectNd = static_cast<const SwSectionNode*>(pAnchorNd);
     return FILE_LINK_SECTION == pSectNd->GetSection().GetType() &&
             pSectNd->GetIndex() > nEndExtraIdx;
 }
diff --git a/sw/source/core/para/paratr.cxx b/sw/source/core/para/paratr.cxx
index c5daf58..838e482 100644
--- a/sw/source/core/para/paratr.cxx
+++ b/sw/source/core/para/paratr.cxx
@@ -109,12 +109,12 @@ bool SwFmtDrop::GetInfo( SfxPoolItem& ) const
 bool SwFmtDrop::operator==( const SfxPoolItem& rAttr ) const
 {
     assert(SfxPoolItem::operator==(rAttr));
-    return ( nLines == ((SwFmtDrop&)rAttr).GetLines() &&
-             nChars == ((SwFmtDrop&)rAttr).GetChars() &&
-             nDistance ==  ((SwFmtDrop&)rAttr).GetDistance() &&
-             bWholeWord == ((SwFmtDrop&)rAttr).GetWholeWord() &&
-             GetCharFmt() == ((SwFmtDrop&)rAttr).GetCharFmt() &&
-             pDefinedIn == ((SwFmtDrop&)rAttr).pDefinedIn );
+    return ( nLines == static_cast<const SwFmtDrop&>(rAttr).GetLines() &&
+             nChars == static_cast<const SwFmtDrop&>(rAttr).GetChars() &&
+             nDistance ==  static_cast<const SwFmtDrop&>(rAttr).GetDistance() &&
+             bWholeWord == static_cast<const SwFmtDrop&>(rAttr).GetWholeWord() &&
+             GetCharFmt() == static_cast<const SwFmtDrop&>(rAttr).GetCharFmt() &&
+             pDefinedIn == static_cast<const SwFmtDrop&>(rAttr).pDefinedIn );
 }
 
 SfxPoolItem* SwFmtDrop::Clone( SfxItemPool* ) const
@@ -219,7 +219,7 @@ bool SwNumRuleItem::operator==( const SfxPoolItem& rAttr ) const
 {
     assert(SfxPoolItem::operator==(rAttr));
 
-    return GetValue() == ((SwNumRuleItem&)rAttr).GetValue();
+    return GetValue() == static_cast<const SwNumRuleItem&>(rAttr).GetValue();
 }
 
 bool    SwNumRuleItem::QueryValue( uno::Any& rVal, sal_uInt8 ) const
diff --git a/sw/source/core/sw3io/swacorr.cxx b/sw/source/core/sw3io/swacorr.cxx
index 0a08b01..b08866f 100644
--- a/sw/source/core/sw3io/swacorr.cxx
+++ b/sw/source/core/sw3io/swacorr.cxx
@@ -73,7 +73,7 @@ bool SwAutoCorrect::PutText( const uno::Reference < embed::XStorage >&  rStg,
     if( !rObjSh.IsA( TYPE(SwDocShell) ) )
         return false;
 
-    SwDocShell& rDShell = (SwDocShell&)rObjSh;
+    SwDocShell& rDShell = static_cast<SwDocShell&>(rObjSh);
     sal_uLong nRet = 0;
 
     // mba: relative URLs don't make sense here
diff --git a/sw/source/core/swg/SwXMLTextBlocks.cxx b/sw/source/core/swg/SwXMLTextBlocks.cxx
index 7f581c2..7311dd9 100644
--- a/sw/source/core/swg/SwXMLTextBlocks.cxx
+++ b/sw/source/core/swg/SwXMLTextBlocks.cxx
@@ -255,7 +255,7 @@ sal_uLong SwXMLTextBlocks::CopyBlock( SwImpBlocks& rDestImp, OUString& rShort,
     if(!xBlkRoot.is())
         return ERR_SWG_WRITE_ERROR;
 
-    uno::Reference < container::XNameAccess > xAccess( ((SwXMLTextBlocks&)rDestImp).xBlkRoot, uno::UNO_QUERY );
+    uno::Reference < container::XNameAccess > xAccess( static_cast<SwXMLTextBlocks&>(rDestImp).xBlkRoot, uno::UNO_QUERY );
     while ( xAccess->hasByName( sDestShortName ) )
     {
         ++nIdx;
@@ -272,7 +272,7 @@ sal_uLong SwXMLTextBlocks::CopyBlock( SwImpBlocks& rDestImp, OUString& rShort,
     try
     {
         uno::Reference < embed::XStorage > rSourceRoot = xBlkRoot->openStorageElement( aGroup, embed::ElementModes::READ );
-        uno::Reference < embed::XStorage > rDestRoot = ((SwXMLTextBlocks&)rDestImp).xBlkRoot->openStorageElement( sDestShortName, embed::ElementModes::READWRITE );
+        uno::Reference < embed::XStorage > rDestRoot = static_cast<SwXMLTextBlocks&>(rDestImp).xBlkRoot->openStorageElement( sDestShortName, embed::ElementModes::READWRITE );
         rSourceRoot->copyToStorage( rDestRoot );
     }
     catch (const uno::Exception&)
@@ -283,8 +283,8 @@ sal_uLong SwXMLTextBlocks::CopyBlock( SwImpBlocks& rDestImp, OUString& rShort,
     if(!nError)
     {
         rShort = sDestShortName;
-        ((SwXMLTextBlocks&)rDestImp).AddName( rShort, rLong, bTextOnly );
-        ((SwXMLTextBlocks&)rDestImp).MakeBlockList();
+        static_cast<SwXMLTextBlocks&>(rDestImp).AddName( rShort, rLong, bTextOnly );
+        static_cast<SwXMLTextBlocks&>(rDestImp).MakeBlockList();
     }
     CloseFile();
     rDestImp.CloseFile();
@@ -596,7 +596,7 @@ void SwXMLTextBlocks::MakeBlockText( const OUString& rText )
     {
         if ( nPos )
         {
-            pTxtNode = (SwTxtNode*)pTxtNode->AppendNode( SwPosition( *pTxtNode ) );
+            pTxtNode = static_cast<SwTxtNode*>(pTxtNode->AppendNode( SwPosition( *pTxtNode ) ));
         }
         SwIndex aIdx( pTxtNode );
         pTxtNode->InsertText( rText.getToken( 0, '\015', nPos ), aIdx );
diff --git a/sw/source/core/table/swnewtable.cxx b/sw/source/core/table/swnewtable.cxx
index d34f779..1f04887 100644
--- a/sw/source/core/table/swnewtable.cxx
+++ b/sw/source/core/table/swnewtable.cxx
@@ -705,7 +705,7 @@ bool SwTable::NewInsertCol( SwDoc* pDoc, const SwSelBoxes& rBoxes,
         SwTableBox* pBox = pLine->GetTabBoxes()[ nInsPos ];
         if( bBehind )
             ++nInsPos;
-        SwTableBoxFmt* pBoxFrmFmt = (SwTableBoxFmt*)pBox->GetFrmFmt();
+        SwTableBoxFmt* pBoxFrmFmt = static_cast<SwTableBoxFmt*>(pBox->GetFrmFmt());
         ::_InsTblBox( pDoc, pTblNd, pLine, pBoxFrmFmt, pBox, nInsPos, nCnt );
         long nRowSpan = pBox->getRowSpan();
         long nDiff = i - nLastLine;
@@ -757,7 +757,7 @@ bool SwTable::NewInsertCol( SwDoc* pDoc, const SwSelBoxes& rBoxes,
                 pFrmFmt->SetFmtAttr( aFrmSz );
                 if( pNoRightBorder && ( !bBehind || j+1 < nCnt ) )
                     pFrmFmt->SetFmtAttr( *pNoRightBorder );
-                aInsFormat[j] = (SwTableBoxFmt*)pFrmFmt;
+                aInsFormat[j] = static_cast<SwTableBoxFmt*>(pFrmFmt);
             }
             else
                 pCurrBox->ChgFrmFmt( aInsFormat[j] );
@@ -943,7 +943,7 @@ bool SwTable::PrepareMerge( const SwPaM& rPam, SwSelBoxes& rBoxes,
                     pFmt->SetFmtAttr( SwFmtFrmSize( ATT_VAR_SIZE, 0, 0 ) );
                 }
                 else
-                    pBox->ChgFrmFmt( (SwTableBoxFmt*)pNewFmt );
+                    pBox->ChgFrmFmt( static_cast<SwTableBoxFmt*>(pNewFmt) );
             }
         }
         if( pLastBox ) // Robust
diff --git a/sw/source/core/table/swtable.cxx b/sw/source/core/table/swtable.cxx
index 9a66c9b..c73b3c2 100644
--- a/sw/source/core/table/swtable.cxx
+++ b/sw/source/core/table/swtable.cxx
@@ -217,12 +217,12 @@ void _InsTblBox( SwDoc* pDoc, SwTableNode* pTblNd,
             else
                 aAttrSet.ClearItem( RES_CHRATR_COLOR );
             pDoc->GetNodes().InsBoxen( pTblNd, pLine, pBoxFrmFmt,
-                                    ((SwTxtNode*)pCNd)->GetTxtColl(),
+                                    static_cast<SwTxtNode*>(pCNd)->GetTxtColl(),
                                     &aAttrSet, nInsPos, nCnt );
         }
         else
             pDoc->GetNodes().InsBoxen( pTblNd, pLine, pBoxFrmFmt,
-                                    ((SwTxtNode*)pCNd)->GetTxtColl(),
+                                    static_cast<SwTxtNode*>(pCNd)->GetTxtColl(),
                                     pCNd->GetpSwAttrSet(),
                                     nInsPos, nCnt );
     }
@@ -288,7 +288,7 @@ SwTable::~SwTable()
     }
 
     // the table can be deleted if it's the last client of the FrameFormat
-    SwTableFmt* pFmt = (SwTableFmt*)GetFrmFmt();
+    SwTableFmt* pFmt = static_cast<SwTableFmt*>(GetFrmFmt());
     pFmt->Remove( this );               // remove
 
     if( !pFmt->GetDepends() )
@@ -386,16 +386,16 @@ void SwTable::Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew )
 
     if( RES_ATTRSET_CHG == nWhich )
     {
-        if (pOld && pNew && SfxItemState::SET == ((SwAttrSetChg*)pNew)->GetChgSet()->GetItemState(
+        if (pOld && pNew && SfxItemState::SET == static_cast<const SwAttrSetChg*>(pNew)->GetChgSet()->GetItemState(
             RES_FRM_SIZE, false, (const SfxPoolItem**)&pNewSize))
         {
-            pOldSize = &((SwAttrSetChg*)pOld)->GetChgSet()->GetFrmSize();
+            pOldSize = &static_cast<const SwAttrSetChg*>(pOld)->GetChgSet()->GetFrmSize();
         }
     }
     else if( RES_FRM_SIZE == nWhich )
     {
-        pOldSize = (const SwFmtFrmSize*)pOld;
-        pNewSize = (const SwFmtFrmSize*)pNew;
+        pOldSize = static_cast<const SwFmtFrmSize*>(pOld);
+        pNewSize = static_cast<const SwFmtFrmSize*>(pNew);
     }
     else
         CheckRegistration( pOld, pNew );
@@ -1479,7 +1479,7 @@ SwTableBox* SwTable::GetTblBox( sal_uLong nSttIdx )
         while ( pFrm && !pFrm->IsCellFrm() )
             pFrm = pFrm->GetUpper();
         if ( pFrm )
-            pRet = (SwTableBox*)((SwCellFrm*)pFrm)->GetTabBox();
+            pRet = (SwTableBox*)static_cast<SwCellFrm*>(pFrm)->GetTabBox();
     }
 
     // In case the layout doesn't exist yet or anything else goes wrong.
@@ -1539,7 +1539,7 @@ SwFrmFmt* SwTableLine::ClaimFrmFmt()
     // of an SwTableLineFmt object
     // If other SwTableLine objects currently listen to the same SwTableLineFmt as
     // this one, something needs to be done
-    SwTableLineFmt *pRet = (SwTableLineFmt*)GetFrmFmt();
+    SwTableLineFmt *pRet = static_cast<SwTableLineFmt*>(GetFrmFmt());
     SwIterator<SwTableLine,SwFmt> aIter( *pRet );
     for( SwTableLine* pLast = aIter.First(); pLast; pLast = aIter.Next() )
     {
@@ -1759,7 +1759,7 @@ SwFrmFmt* SwTableBox::ClaimFrmFmt()
     // of an SwTableBoxFmt object
     // If other SwTableBox objects currently listen to the same SwTableBoxFmt as
     // this one, something needs to be done
-    SwTableBoxFmt *pRet = (SwTableBoxFmt*)GetFrmFmt();
+    SwTableBoxFmt *pRet = static_cast<SwTableBoxFmt*>(GetFrmFmt());
     SwIterator<SwTableBox,SwFmt> aIter( *pRet );
     for( SwTableBox* pLast = aIter.First(); pLast; pLast = aIter.Next() )
     {
@@ -1911,12 +1911,12 @@ bool SwTable::GetInfo( SfxPoolItem& rInfo ) const
         case RES_AUTOFMT_DOCNODE:
         {
             const SwTableNode* pTblNode = GetTableNode();
-            if( pTblNode && &pTblNode->GetNodes() == ((SwAutoFmtGetDocNode&)rInfo).pNodes )
+            if( pTblNode && &pTblNode->GetNodes() == static_cast<SwAutoFmtGetDocNode&>(rInfo).pNodes )
             {
                 if (!m_TabSortContentBoxes.empty())
                 {
                     SwNodeIndex aIdx( *m_TabSortContentBoxes[0]->GetSttNd() );
-                    ((SwAutoFmtGetDocNode&)rInfo).pCntntNode =
+                    static_cast<SwAutoFmtGetDocNode&>(rInfo).pCntntNode =
                                     GetFrmFmt()->GetDoc()->GetNodes().GoNext( &aIdx );
                 }
                 return false;
@@ -1924,7 +1924,7 @@ bool SwTable::GetInfo( SfxPoolItem& rInfo ) const
             break;
         }
         case RES_FINDNEARESTNODE:
-            if( GetFrmFmt() && ((SwFmtPageDesc&)GetFrmFmt()->GetFmtAttr(
+            if( GetFrmFmt() && static_cast<const SwFmtPageDesc&>(GetFrmFmt()->GetFmtAttr(
                 RES_PAGEDESC )).GetPageDesc() &&
                 !m_TabSortContentBoxes.empty() &&
                 m_TabSortContentBoxes[0]->GetSttNd()->GetNodes().IsDocNodes() )
@@ -1933,7 +1933,7 @@ bool SwTable::GetInfo( SfxPoolItem& rInfo ) const
             break;
 
         case RES_CONTENT_VISIBLE:
-            ((SwPtrMsgPoolItem&)rInfo).pObject = SwIterator<SwFrm,SwFmt>::FirstElement( *GetFrmFmt() );
+            static_cast<SwPtrMsgPoolItem&>(rInfo).pObject = SwIterator<SwFrm,SwFmt>::FirstElement( *GetFrmFmt() );
             return false;
     }
     return true;
@@ -1987,10 +1987,10 @@ void ChgTextToNum( SwTableBox& rBox, const OUString& rTxt, const Color* pCol,
         if( bChgAlign )
         {
             pItem = &pTNd->SwCntntNode::GetAttr( RES_PARATR_ADJUST );
-            SvxAdjust eAdjust = ((SvxAdjustItem*)pItem)->GetAdjust();
+            SvxAdjust eAdjust = static_cast<const SvxAdjustItem*>(pItem)->GetAdjust();
             if( SVX_ADJUST_LEFT == eAdjust || SVX_ADJUST_BLOCK == eAdjust )
             {
-                SvxAdjustItem aAdjust( *(SvxAdjustItem*)pItem );
+                SvxAdjustItem aAdjust( *static_cast<const SvxAdjustItem*>(pItem) );
                 aAdjust.SetAdjust( SVX_ADJUST_RIGHT );
                 pTNd->SetAttr( aAdjust );
             }
@@ -2002,7 +2002,7 @@ void ChgTextToNum( SwTableBox& rBox, const OUString& rTxt, const Color* pCol,
             pItem = 0;
 
         const Color* pOldNumFmtColor = rBox.GetSaveNumFmtColor();
-        const Color* pNewUserColor = pItem ? &((SvxColorItem*)pItem)->GetValue() : 0;
+        const Color* pNewUserColor = pItem ? &static_cast<const SvxColorItem*>(pItem)->GetValue() : 0;
 
         if( ( pNewUserColor && pOldNumFmtColor &&
                 *pNewUserColor == *pOldNumFmtColor ) ||
@@ -2076,7 +2076,7 @@ void ChgTextToNum( SwTableBox& rBox, const OUString& rTxt, const Color* pCol,
         if( bChgAlign &&
             ( SfxItemState::SET != rBox.GetFrmFmt()->GetItemState(
                 RES_VERT_ORIENT, true, &pItem ) ||
-                text::VertOrientation::TOP == ((SwFmtVertOrient*)pItem)->GetVertOrient() ))
+                text::VertOrientation::TOP == static_cast<const SwFmtVertOrient*>(pItem)->GetVertOrient() ))
         {
             rBox.GetFrmFmt()->SetFmtAttr( SwFmtVertOrient( 0, text::VertOrientation::BOTTOM ));
         }
@@ -2119,7 +2119,7 @@ void ChgNumToText( SwTableBox& rBox, sal_uLong nFmt )
         // assign adjustment
         if( bChgAlign && pAttrSet && SfxItemState::SET == pAttrSet->GetItemState(
             RES_PARATR_ADJUST, false, &pItem ) &&
-                SVX_ADJUST_RIGHT == ((SvxAdjustItem*)pItem)->GetAdjust() )
+                SVX_ADJUST_RIGHT == static_cast<const SvxAdjustItem*>(pItem)->GetAdjust() )
         {
             pTNd->SetAttr( SvxAdjustItem( SVX_ADJUST_LEFT, RES_PARATR_ADJUST ) );
         }
@@ -2130,7 +2130,7 @@ void ChgNumToText( SwTableBox& rBox, sal_uLong nFmt )
             pItem = 0;
 
         const Color* pOldNumFmtColor = rBox.GetSaveNumFmtColor();
-        const Color* pNewUserColor = pItem ? &((SvxColorItem*)pItem)->GetValue() : 0;
+        const Color* pNewUserColor = pItem ? &static_cast<const SvxColorItem*>(pItem)->GetValue() : 0;
 
         if( ( pNewUserColor && pOldNumFmtColor &&
                 *pNewUserColor == *pOldNumFmtColor ) ||
@@ -2165,7 +2165,7 @@ void ChgNumToText( SwTableBox& rBox, sal_uLong nFmt )
         if( bChgAlign &&
             SfxItemState::SET == rBox.GetFrmFmt()->GetItemState(
             RES_VERT_ORIENT, false, &pItem ) &&
-            text::VertOrientation::BOTTOM == ((SwFmtVertOrient*)pItem)->GetVertOrient() )
+            text::VertOrientation::BOTTOM == static_cast<const SwFmtVertOrient*>(pItem)->GetVertOrient() )
         {
             rBox.GetFrmFmt()->SetFmtAttr( SwFmtVertOrient( 0, text::VertOrientation::TOP ));
         }
@@ -2186,10 +2186,10 @@ void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
         {
             case RES_ATTRSET_CHG:
             {
-                const SfxItemSet& rSet = *((SwAttrSetChg*)pNew)->GetChgSet();
+                const SfxItemSet& rSet = *static_cast<const SwAttrSetChg*>(pNew)->GetChgSet();
                 if( SfxItemState::SET == rSet.GetItemState( RES_BOXATR_FORMAT,
                                     false, (const SfxPoolItem**)&pNewFmt ) )
-                    nOldFmt = ((SwTblBoxNumFormat&)((SwAttrSetChg*)pOld)->
+                    nOldFmt = static_cast<const SwTblBoxNumFormat&>(static_cast<const SwAttrSetChg*>(pOld)->
                             GetChgSet()->Get( RES_BOXATR_FORMAT )).GetValue();
                 rSet.GetItemState( RES_BOXATR_FORMULA, false,
                                     (const SfxPoolItem**)&pNewFml );
@@ -2198,14 +2198,14 @@ void SwTableBoxFmt::Modify( const SfxPoolItem* pOld, const SfxPoolItem* pNew )
                 break;
             }
             case RES_BOXATR_FORMAT:
-                pNewFmt = (SwTblBoxNumFormat*)pNew;
-                nOldFmt = ((SwTblBoxNumFormat*)pOld)->GetValue();
+                pNewFmt = static_cast<const SwTblBoxNumFormat*>(pNew);
+                nOldFmt = static_cast<const SwTblBoxNumFormat*>(pOld)->GetValue();
                 break;
             case RES_BOXATR_FORMULA:
-                pNewFml = (SwTblBoxFormula*)pNew;
+                pNewFml = static_cast<const SwTblBoxFormula*>(pNew);
                 break;
             case RES_BOXATR_VALUE:
-                pNewVal = (SwTblBoxValue*)pNew;
+                pNewVal = static_cast<const SwTblBoxValue*>(pNew);
                 break;
         }
 
@@ -2394,7 +2394,7 @@ bool SwTableBox::HasNumCntnt( double& rNum, sal_uInt32& rFmtIndex,
         const SfxPoolItem* pItem;
         if( SfxItemState::SET == GetFrmFmt()->GetItemState( RES_BOXATR_FORMAT, false, &pItem ))
         {
-            rFmtIndex = ((SwTblBoxNumFormat*)pItem)->GetValue();
+            rFmtIndex = static_cast<const SwTblBoxNumFormat*>(pItem)->GetValue();
             // Special casing for percent
             if( !rIsEmptyTxtNd && NUMBERFORMAT_PERCENT == pNumFmtr->GetType( rFmtIndex ))
             {
@@ -2554,14 +2554,14 @@ void SwTableBox::ActualiseValueBox()
     if( SfxItemState::SET == pFmt->GetItemState( RES_BOXATR_FORMAT, true, &pFmtItem )
         && SfxItemState::SET == pFmt->GetItemState( RES_BOXATR_VALUE, true, &pValItem ))
     {
-        const sal_uLong nFmtId = ((SwTblBoxNumFormat*)pFmtItem)->GetValue();
+        const sal_uLong nFmtId = static_cast<const SwTblBoxNumFormat*>(pFmtItem)->GetValue();
         sal_uLong nNdPos = ULONG_MAX;
         SvNumberFormatter* pNumFmtr = pFmt->GetDoc()->GetNumberFormatter();
 
         if( !pNumFmtr->IsTextFormat( nFmtId ) &&
             ULONG_MAX != (nNdPos = IsValidNumTxtNd( true )) )
         {
-            double fVal = ((SwTblBoxValue*)pValItem)->GetValue();
+            double fVal = static_cast<const SwTblBoxValue*>(pValItem)->GetValue();
             Color* pCol = 0;
             OUString sNewTxt;
             pNumFmtr->GetOutputString( fVal, nFmtId, sNewTxt, &pCol );
diff --git a/sw/source/core/text/EnhancedPDFExportHelper.cxx b/sw/source/core/text/EnhancedPDFExportHelper.cxx
index a9e174e..d5935f4 100644
--- a/sw/source/core/text/EnhancedPDFExportHelper.cxx
+++ b/sw/source/core/text/EnhancedPDFExportHelper.cxx
@@ -1595,7 +1595,7 @@ void SwEnhancedPDFExportHelper::EnhancedPDFExport()
                             vcl::PDFNote aNote;
 
                             // Use the NumberFormatter to get the date string:
-                            const SwPostItField* pField = (SwPostItField*)pFirst->GetField();
+                            const SwPostItField* pField = static_cast<SwPostItField*>(pFirst->GetField());
                             SvNumberFormatter* pNumFormatter = pDoc->GetNumberFormatter();
                             const Date aDateDiff( pField->GetDate() -
                                                  *pNumFormatter->GetNullDate() );
@@ -1847,7 +1847,7 @@ void SwEnhancedPDFExportHelper::EnhancedPDFExport()
 
                     // Destination Rectangle
                     const SwGetRefField* pField =
-                        (SwGetRefField*)pFirst->GetField();
+                        static_cast<SwGetRefField*>(pFirst->GetField());
                     const OUString& rRefName = pField->GetSetRefName();
                     mrSh.GotoRefMark( rRefName, pField->GetSubType(), pField->GetSeqNo() );
                     const SwRect& rDestRect = mrSh.GetCharRect();
diff --git a/sw/source/core/text/SwGrammarMarkUp.cxx b/sw/source/core/text/SwGrammarMarkUp.cxx
index 1d34f00..d25ac88 100644
--- a/sw/source/core/text/SwGrammarMarkUp.cxx
+++ b/sw/source/core/text/SwGrammarMarkUp.cxx
@@ -32,7 +32,7 @@ SwWrongList* SwGrammarMarkUp::Clone()
 
 void SwGrammarMarkUp::CopyFrom( const SwWrongList& rCopy )
 {
-    maSentence = ((const SwGrammarMarkUp&)rCopy).maSentence;
+    maSentence = static_cast<const SwGrammarMarkUp&>(rCopy).maSentence;
     SwWrongList::CopyFrom( rCopy );
 }
 
@@ -57,7 +57,7 @@ void SwGrammarMarkUp::MoveGrammar( sal_Int32 nPos, sal_Int32 nDiff )
 
 SwGrammarMarkUp* SwGrammarMarkUp::SplitGrammarList( sal_Int32 nSplitPos )
 {
-    SwGrammarMarkUp* pNew = (SwGrammarMarkUp*)SplitList( nSplitPos );
+    SwGrammarMarkUp* pNew = static_cast<SwGrammarMarkUp*>(SplitList( nSplitPos ));
     if( !maSentence.size() )
         return pNew;
     std::vector< sal_Int32 >::iterator pIter = maSentence.begin();
diff --git a/sw/source/core/text/atrstck.cxx b/sw/source/core/text/atrstck.cxx
index 0f12f74..55a6f98 100644
--- a/sw/source/core/text/atrstck.cxx
+++ b/sw/source/core/text/atrstck.cxx
@@ -143,9 +143,9 @@ const SfxItemSet* GetItemSet( const SfxPoolItem& rAttr )
     else
     {
         // Get the attributes from the template
-        SwCharFmt* pFmt = RES_TXTATR_INETFMT == rAttr.Which() ?
-                        ((SwFmtINetFmt&)rAttr).GetTxtINetFmt()->GetCharFmt() :
-                        ((SwFmtCharFmt&)rAttr).GetCharFmt();
+        const SwCharFmt* pFmt = RES_TXTATR_INETFMT == rAttr.Which() ?
+                        static_cast<const SwFmtINetFmt&>(rAttr).GetTxtINetFmt()->GetCharFmt() :
+                        static_cast<const SwFmtCharFmt&>(rAttr).GetCharFmt();
         if( pFmt )
         {
             pSet = &pFmt->GetAttrSet();
@@ -225,7 +225,7 @@ static bool lcl_ChgHyperLinkColor( const SwTxtAttr& rAttr,
                 const SwCharFmt* pTmpFmt = rINetAttr.GetCharFmt();
                 const SfxPoolItem* pItem;
                 if (SfxItemState::SET == pTmpFmt->GetItemState(RES_CHRATR_COLOR, true, &pItem))
-                    *pColor = ((SvxColorItem*)pItem)->GetValue();
+                    *pColor = static_cast<const SvxColorItem*>(pItem)->GetValue();
                 rINetAttr.SetVisited(true);
             }
             return true;
@@ -598,11 +598,11 @@ void SwAttrHandler::ActivateTop( SwFont& rFnt, const sal_uInt16 nAttr )
         if ( pTwoLineAttr )
         {
              const SfxPoolItem* pTwoLineItem = CharFmt::GetItem( *pTwoLineAttr, RES_CHRATR_TWO_LINES );
-             bTwoLineAct = ((SvxTwoLinesItem*)pTwoLineItem)->GetValue();
+             bTwoLineAct = static_cast<const SvxTwoLinesItem*>(pTwoLineItem)->GetValue();
         }
         else
             bTwoLineAct =
-                ((SvxTwoLinesItem*)pDefaultArray[ nTwoLineStack ])->GetValue();
+                static_cast<const SvxTwoLinesItem*>(pDefaultArray[ nTwoLineStack ])->GetValue();
 
         if ( bTwoLineAct )
             return;
@@ -614,12 +614,12 @@ void SwAttrHandler::ActivateTop( SwFont& rFnt, const sal_uInt16 nAttr )
         if ( pRotateAttr )
         {
             const SfxPoolItem* pRotateItem = CharFmt::GetItem( *pRotateAttr, RES_CHRATR_ROTATE );
-            rFnt.SetVertical( ((SvxCharRotateItem*)pRotateItem)->GetValue(),
+            rFnt.SetVertical( static_cast<const SvxCharRotateItem*>(pRotateItem)->GetValue(),
                                bVertLayout );
         }
         else
             rFnt.SetVertical(
-                ((SvxCharRotateItem*)pDefaultArray[ nRotateStack ])->GetValue(),
+                static_cast<const SvxCharRotateItem*>(pDefaultArray[ nRotateStack ])->GetValue(),
                  bVertLayout
             );
     }
@@ -637,42 +637,42 @@ void SwAttrHandler::FontChg(const SfxPoolItem& rItem, SwFont& rFnt, bool bPush )
     switch ( rItem.Which() )
     {
         case RES_CHRATR_CASEMAP :
-            rFnt.SetCaseMap( ((SvxCaseMapItem&)rItem).GetCaseMap() );
+            rFnt.SetCaseMap( static_cast<const SvxCaseMapItem&>(rItem).GetCaseMap() );
             break;
         case RES_CHRATR_COLOR :
-            rFnt.SetColor( ((SvxColorItem&)rItem).GetValue() );
+            rFnt.SetColor( static_cast<const SvxColorItem&>(rItem).GetValue() );
             break;
         case RES_CHRATR_CONTOUR :
-            rFnt.SetOutline( ((SvxContourItem&)rItem).GetValue() );
+            rFnt.SetOutline( static_cast<const SvxContourItem&>(rItem).GetValue() );
             break;
         case RES_CHRATR_CROSSEDOUT :
-            rFnt.SetStrikeout( ((SvxCrossedOutItem&)rItem).GetStrikeout() );
+            rFnt.SetStrikeout( static_cast<const SvxCrossedOutItem&>(rItem).GetStrikeout() );
             break;
         case RES_CHRATR_ESCAPEMENT :
-            rFnt.SetEscapement( ((SvxEscapementItem&)rItem).GetEsc() );
-            rFnt.SetProportion( ((SvxEscapementItem&)rItem).GetProp() );
+            rFnt.SetEscapement( static_cast<const SvxEscapementItem&>(rItem).GetEsc() );
+            rFnt.SetProportion( static_cast<const SvxEscapementItem&>(rItem).GetProp() );
             break;
         case RES_CHRATR_FONT :
-            rFnt.SetName( ((SvxFontItem&)rItem).GetFamilyName(), SW_LATIN );
-            rFnt.SetStyleName( ((SvxFontItem&)rItem).GetStyleName(), SW_LATIN );
-            rFnt.SetFamily( ((SvxFontItem&)rItem).GetFamily(), SW_LATIN );
-            rFnt.SetPitch( ((SvxFontItem&)rItem).GetPitch(), SW_LATIN );
-            rFnt.SetCharSet( ((SvxFontItem&)rItem).GetCharSet(), SW_LATIN );
+            rFnt.SetName( static_cast<const SvxFontItem&>(rItem).GetFamilyName(), SW_LATIN );
+            rFnt.SetStyleName( static_cast<const SvxFontItem&>(rItem).GetStyleName(), SW_LATIN );
+            rFnt.SetFamily( static_cast<const SvxFontItem&>(rItem).GetFamily(), SW_LATIN );
+            rFnt.SetPitch( static_cast<const SvxFontItem&>(rItem).GetPitch(), SW_LATIN );
+            rFnt.SetCharSet( static_cast<const SvxFontItem&>(rItem).GetCharSet(), SW_LATIN );
             break;
         case RES_CHRATR_FONTSIZE :
-            rFnt.SetSize(Size(0,((SvxFontHeightItem&)rItem).GetHeight() ), SW_LATIN );
+            rFnt.SetSize(Size(0,static_cast<const SvxFontHeightItem&>(rItem).GetHeight() ), SW_LATIN );
             break;
         case RES_CHRATR_KERNING :
-            rFnt.SetFixKerning( ((SvxKerningItem&)rItem).GetValue() );
+            rFnt.SetFixKerning( static_cast<const SvxKerningItem&>(rItem).GetValue() );
             break;
         case RES_CHRATR_LANGUAGE :
-            rFnt.SetLanguage( ((SvxLanguageItem&)rItem).GetLanguage(), SW_LATIN );
+            rFnt.SetLanguage( static_cast<const SvxLanguageItem&>(rItem).GetLanguage(), SW_LATIN );
             break;
         case RES_CHRATR_POSTURE :
-            rFnt.SetItalic( ((SvxPostureItem&)rItem).GetPosture(), SW_LATIN );
+            rFnt.SetItalic( static_cast<const SvxPostureItem&>(rItem).GetPosture(), SW_LATIN );
             break;
         case RES_CHRATR_SHADOWED :
-            rFnt.SetShadow( ((SvxShadowedItem&)rItem).GetValue() );
+            rFnt.SetShadow( static_cast<const SvxShadowedItem&>(rItem).GetValue() );
             break;
         case RES_CHRATR_UNDERLINE :
         {
@@ -686,8 +686,8 @@ void SwAttrHandler::FontChg(const SfxPoolItem& rItem, SwFont& rFnt, bool bPush )
             if( (mpShell && !mpShell->GetWin()) ||
                 (pTmpItem && !static_cast<const SvxCharHiddenItem*>(pTmpItem)->GetValue()) )
             {
-                rFnt.SetUnderline( ((SvxUnderlineItem&)rItem).GetLineStyle() );
-                rFnt.SetUnderColor( ((SvxUnderlineItem&)rItem).GetColor() );
+                rFnt.SetUnderline( static_cast<const SvxUnderlineItem&>(rItem).GetLineStyle() );
+                rFnt.SetUnderColor( static_cast<const SvxUnderlineItem&>(rItem).GetColor() );
             }
             break;
         }
@@ -713,17 +713,17 @@ void SwAttrHandler::FontChg(const SfxPoolItem& rItem, SwFont& rFnt, bool bPush )
             break;
         }
         case RES_CHRATR_OVERLINE :
-            rFnt.SetOverline( ((SvxOverlineItem&)rItem).GetLineStyle() );
-            rFnt.SetOverColor( ((SvxOverlineItem&)rItem).GetColor() );
+            rFnt.SetOverline( static_cast<const SvxOverlineItem&>(rItem).GetLineStyle() );
+            rFnt.SetOverColor( static_cast<const SvxOverlineItem&>(rItem).GetColor() );
             break;
         case RES_CHRATR_WEIGHT :
-            rFnt.SetWeight( ((SvxWeightItem&)rItem).GetWeight(), SW_LATIN );
+            rFnt.SetWeight( static_cast<const SvxWeightItem&>(rItem).GetWeight(), SW_LATIN );
             break;
         case RES_CHRATR_WORDLINEMODE :
-            rFnt.SetWordLineMode( ((SvxWordLineModeItem&)rItem).GetValue() );
+            rFnt.SetWordLineMode( static_cast<const SvxWordLineModeItem&>(rItem).GetValue() );
             break;
         case RES_CHRATR_AUTOKERN :
-            if( ((SvxAutoKernItem&)rItem).GetValue() )
+            if( static_cast<const SvxAutoKernItem&>(rItem).GetValue() )
             {
                 rFnt.SetAutoKern( ( !mpIDocumentSettingAccess ||
                                     !mpIDocumentSettingAccess->get(IDocumentSettingAccess::KERN_ASIAN_PUNCTUATION) ) ?
@@ -734,67 +734,67 @@ void SwAttrHandler::FontChg(const SfxPoolItem& rItem, SwFont& rFnt, bool bPush )
                 rFnt.SetAutoKern( 0 );
             break;
         case RES_CHRATR_BLINK :
-            rFnt.SetBlink( ((SvxBlinkItem&)rItem).GetValue() );
+            rFnt.SetBlink( static_cast<const SvxBlinkItem&>(rItem).GetValue() );
             break;
         case RES_CHRATR_BACKGROUND :
-            rFnt.SetBackColor(new Color( ((SvxBrushItem&)rItem).GetColor() ) );
+            rFnt.SetBackColor(new Color( static_cast<const SvxBrushItem&>(rItem).GetColor() ) );
             break;
         case RES_CHRATR_HIGHLIGHT :
-            rFnt.SetHighlightColor( ((SvxBrushItem&)rItem).GetColor() );
+            rFnt.SetHighlightColor( static_cast<const SvxBrushItem&>(rItem).GetColor() );
             break;
         case RES_CHRATR_CJK_FONT :
-            rFnt.SetName( ((SvxFontItem&)rItem).GetFamilyName(), SW_CJK );
-            rFnt.SetStyleName( ((SvxFontItem&)rItem).GetStyleName(), SW_CJK );
-            rFnt.SetFamily( ((SvxFontItem&)rItem).GetFamily(), SW_CJK );
-            rFnt.SetPitch( ((SvxFontItem&)rItem).GetPitch(), SW_CJK );
-            rFnt.SetCharSet( ((SvxFontItem&)rItem).GetCharSet(), SW_CJK );
+            rFnt.SetName( static_cast<const SvxFontItem&>(rItem).GetFamilyName(), SW_CJK );
+            rFnt.SetStyleName( static_cast<const SvxFontItem&>(rItem).GetStyleName(), SW_CJK );
+            rFnt.SetFamily( static_cast<const SvxFontItem&>(rItem).GetFamily(), SW_CJK );
+            rFnt.SetPitch( static_cast<const SvxFontItem&>(rItem).GetPitch(), SW_CJK );
+            rFnt.SetCharSet( static_cast<const SvxFontItem&>(rItem).GetCharSet(), SW_CJK );
             break;
         case RES_CHRATR_CJK_FONTSIZE :
-            rFnt.SetSize(Size( 0, ((SvxFontHeightItem&)rItem).GetHeight()), SW_CJK);
+            rFnt.SetSize(Size( 0, static_cast<const SvxFontHeightItem&>(rItem).GetHeight()), SW_CJK);
             break;
         case RES_CHRATR_CJK_LANGUAGE :
-            rFnt.SetLanguage( ((SvxLanguageItem&)rItem).GetLanguage(), SW_CJK );
+            rFnt.SetLanguage( static_cast<const SvxLanguageItem&>(rItem).GetLanguage(), SW_CJK );
             break;
         case RES_CHRATR_CJK_POSTURE :
-            rFnt.SetItalic( ((SvxPostureItem&)rItem).GetPosture(), SW_CJK );
+            rFnt.SetItalic( static_cast<const SvxPostureItem&>(rItem).GetPosture(), SW_CJK );
             break;
         case RES_CHRATR_CJK_WEIGHT :
-            rFnt.SetWeight( ((SvxWeightItem&)rItem).GetWeight(), SW_CJK );
+            rFnt.SetWeight( static_cast<const SvxWeightItem&>(rItem).GetWeight(), SW_CJK );
             break;
         case RES_CHRATR_CTL_FONT :
-            rFnt.SetName( ((SvxFontItem&)rItem).GetFamilyName(), SW_CTL );
-            rFnt.SetStyleName( ((SvxFontItem&)rItem).GetStyleName(), SW_CTL );
-            rFnt.SetFamily( ((SvxFontItem&)rItem).GetFamily(), SW_CTL );
-            rFnt.SetPitch( ((SvxFontItem&)rItem).GetPitch(), SW_CTL );
-            rFnt.SetCharSet( ((SvxFontItem&)rItem).GetCharSet(), SW_CTL );
+            rFnt.SetName( static_cast<const SvxFontItem&>(rItem).GetFamilyName(), SW_CTL );
+            rFnt.SetStyleName( static_cast<const SvxFontItem&>(rItem).GetStyleName(), SW_CTL );
+            rFnt.SetFamily( static_cast<const SvxFontItem&>(rItem).GetFamily(), SW_CTL );
+            rFnt.SetPitch( static_cast<const SvxFontItem&>(rItem).GetPitch(), SW_CTL );
+            rFnt.SetCharSet( static_cast<const SvxFontItem&>(rItem).GetCharSet(), SW_CTL );
             break;
         case RES_CHRATR_CTL_FONTSIZE :
-            rFnt.SetSize(Size(0, ((SvxFontHeightItem&)rItem).GetHeight() ), SW_CTL);
+            rFnt.SetSize(Size(0, static_cast<const SvxFontHeightItem&>(rItem).GetHeight() ), SW_CTL);
             break;
         case RES_CHRATR_CTL_LANGUAGE :
-            rFnt.SetLanguage( ((SvxLanguageItem&)rItem).GetLanguage(), SW_CTL );
+            rFnt.SetLanguage( static_cast<const SvxLanguageItem&>(rItem).GetLanguage(), SW_CTL );
             break;
         case RES_CHRATR_CTL_POSTURE :
-            rFnt.SetItalic( ((SvxPostureItem&)rItem).GetPosture(), SW_CTL );
+            rFnt.SetItalic( static_cast<const SvxPostureItem&>(rItem).GetPosture(), SW_CTL );
             break;
         case RES_CHRATR_CTL_WEIGHT :
-            rFnt.SetWeight( ((SvxWeightItem&)rItem).GetWeight(), SW_CTL );
+            rFnt.SetWeight( static_cast<const SvxWeightItem&>(rItem).GetWeight(), SW_CTL );
             break;
         case RES_CHRATR_EMPHASIS_MARK :
             rFnt.SetEmphasisMark(
-                     ((SvxEmphasisMarkItem&)rItem).GetEmphasisMark()
+                     static_cast<const SvxEmphasisMarkItem&>(rItem).GetEmphasisMark()
                      );
             break;
         case RES_CHRATR_SCALEW :
-            rFnt.SetPropWidth( ((SvxCharScaleWidthItem&)rItem).GetValue() );
+            rFnt.SetPropWidth( static_cast<const SvxCharScaleWidthItem&>(rItem).GetValue() );
             break;
         case RES_CHRATR_RELIEF :
-            rFnt.SetRelief( (FontRelief)((SvxCharReliefItem&)rItem).GetValue() );
+            rFnt.SetRelief( (FontRelief)static_cast<const SvxCharReliefItem&>(rItem).GetValue() );
             break;
         case RES_CHRATR_HIDDEN :
             if( mpShell && mpShell->GetWin())
             {
-                if ( ((SvxCharHiddenItem&)rItem).GetValue() )
+                if ( static_cast<const SvxCharHiddenItem&>(rItem).GetValue() )
                     rFnt.SetUnderline( UNDERLINE_DOTTED );
                 else
                     ActivateTop( rFnt, RES_CHRATR_UNDERLINE );
@@ -819,14 +819,14 @@ void SwAttrHandler::FontChg(const SfxPoolItem& rItem, SwFont& rFnt, bool bPush )
             if ( pTwoLineAttr )
             {
                 const SfxPoolItem* pTwoLineItem = CharFmt::GetItem( *pTwoLineAttr, RES_CHRATR_TWO_LINES );
-                bTwoLineAct = ((SvxTwoLinesItem*)pTwoLineItem)->GetValue();
+                bTwoLineAct = static_cast<const SvxTwoLinesItem*>(pTwoLineItem)->GetValue();
             }
             else
                 bTwoLineAct =
-                    ((SvxTwoLinesItem*)pDefaultArray[ nTwoLineStack ])->GetValue();
+                    static_cast<const SvxTwoLinesItem*>(pDefaultArray[ nTwoLineStack ])->GetValue();
 
             if ( !bTwoLineAct )
-                rFnt.SetVertical( ((SvxCharRotateItem&)rItem).GetValue(),
+                rFnt.SetVertical( static_cast<const SvxCharRotateItem&>(rItem).GetValue(),
                                    bVertLayout );
 
             break;
@@ -839,7 +839,7 @@ void SwAttrHandler::FontChg(const SfxPoolItem& rItem, SwFont& rFnt, bool bPush )
             // two line is activated, if
             // 1. no ruby attribute is set and
             // 2. attribute is active
-            if ( !bRuby && ((SvxTwoLinesItem&)rItem).GetValue() )
+            if ( !bRuby && static_cast<const SvxTwoLinesItem&>(rItem).GetValue() )
             {
                 rFnt.SetVertical( 0, bVertLayout );
                 break;
@@ -856,12 +856,12 @@ void SwAttrHandler::FontChg(const SfxPoolItem& rItem, SwFont& rFnt, bool bPush )
             if ( pRotateAttr )
             {
                 const SfxPoolItem* pRotateItem = CharFmt::GetItem( *pRotateAttr, RES_CHRATR_ROTATE );
-                rFnt.SetVertical( ((SvxCharRotateItem*)pRotateItem)->GetValue(),
+                rFnt.SetVertical( static_cast<const SvxCharRotateItem*>(pRotateItem)->GetValue(),
                                    bVertLayout );
             }
             else
                 rFnt.SetVertical(
-                    ((SvxCharRotateItem*)pDefaultArray[ nRotateStack ])->GetValue(),
+                    static_cast<const SvxCharRotateItem*>(pDefaultArray[ nRotateStack ])->GetValue(),
                      bVertLayout
                 );
             break;
diff --git a/sw/source/core/text/blink.cxx b/sw/source/core/text/blink.cxx
index 9fb4bae..3323d22 100644
--- a/sw/source/core/text/blink.cxx
+++ b/sw/source/core/text/blink.cxx
@@ -134,7 +134,7 @@ void SwBlink::Insert( const Point& rPoint, const SwLinePortion* pPor,
         aList.insert( pBlinkPor );
         pTxtFrm->SetBlinkPor();
         if( pPor->IsLayPortion() || pPor->IsParaPortion() )
-            ((SwLineLayout*)pPor)->SetBlinking();
+            const_cast<SwLineLayout*>(static_cast<const SwLineLayout*>(pPor))->SetBlinking();
 
         if( !aTimer.IsActive() )
             aTimer.Start();
diff --git a/sw/source/core/text/frmcrsr.cxx b/sw/source/core/text/frmcrsr.cxx
index 445720f..c5dead7 100644
--- a/sw/source/core/text/frmcrsr.cxx
+++ b/sw/source/core/text/frmcrsr.cxx
@@ -908,7 +908,7 @@ static void lcl_VisualMoveRecursion( const SwLineLayout& rCurrLine, sal_Int32 nI
     if ( bRight )
     {
         bool bRecurse = pPor && pPor->IsMultiPortion() &&
-                           ((SwMultiPortion*)pPor)->IsBidi();
+                           static_cast<const SwMultiPortion*>(pPor)->IsBidi();
 
         // 1. special case: at beginning of bidi portion
         if ( bRecurse && nIdx == nPos )
@@ -930,7 +930,7 @@ static void lcl_VisualMoveRecursion( const SwLineLayout& rCurrLine, sal_Int32 nI
 
         // 2. special case: at beginning of portion after bidi portion
         else if ( pLast && pLast->IsMultiPortion() &&
-                 ((SwMultiPortion*)pLast)->IsBidi() && nIdx == nPos )
+                 static_cast<const SwMultiPortion*>(pLast)->IsBidi() && nIdx == nPos )
         {
             // enter bidi portion
             if ( nCrsrLevel != nDefaultDir )
@@ -944,7 +944,7 @@ static void lcl_VisualMoveRecursion( const SwLineLayout& rCurrLine, sal_Int32 nI
         // Recursion
         if ( bRecurse )
         {
-            const SwLineLayout& rLine = ((SwMultiPortion*)pPor)->GetRoot();
+            const SwLineLayout& rLine = static_cast<const SwMultiPortion*>(pPor)->GetRoot();
             sal_Int32 nTmpPos = nPos - nIdx;
             bool bTmpForward = ! bRight;
             sal_uInt8 nTmpCrsrLevel = nCrsrLevel;
@@ -966,7 +966,7 @@ static void lcl_VisualMoveRecursion( const SwLineLayout& rCurrLine, sal_Int32 nI
     }
     else
     {
-        bool bRecurse = pPor && pPor->IsMultiPortion() && ((SwMultiPortion*)pPor)->IsBidi();
+        bool bRecurse = pPor && pPor->IsMultiPortion() && static_cast<const SwMultiPortion*>(pPor)->IsBidi();
 
         // 1. special case: at beginning of bidi portion
         if ( bRecurse && nIdx == nPos )
@@ -980,7 +980,7 @@ static void lcl_VisualMoveRecursion( const SwLineLayout& rCurrLine, sal_Int32 nI
 
         // 2. special case: at beginning of portion after bidi portion
         else if ( pLast && pLast->IsMultiPortion() &&
-                 ((SwMultiPortion*)pLast)->IsBidi() && nIdx == nPos )
+                 static_cast<const SwMultiPortion*>(pLast)->IsBidi() && nIdx == nPos )
         {
             nPos = nPos - pLast->GetLen();
 
@@ -1003,7 +1003,7 @@ static void lcl_VisualMoveRecursion( const SwLineLayout& rCurrLine, sal_Int32 nI
         // go forward
         if ( bRecurse )
         {
-            const SwLineLayout& rLine = ((SwMultiPortion*)pPor)->GetRoot();
+            const SwLineLayout& rLine = static_cast<const SwMultiPortion*>(pPor)->GetRoot();
             sal_Int32 nTmpPos = nPos - nIdx;
             bool bTmpForward = ! bRight;
             sal_uInt8 nTmpCrsrLevel = nCrsrLevel;
@@ -1257,7 +1257,7 @@ bool SwTxtFrm::_UnitDown(SwPaM *pPam, const SwTwips nOffset,
     if( pTmpFollow )
     {
         aCharBox.Pos().Y() = pTmpFollow->Frm().Top() + 1;
-        return ((SwTxtFrm*)pTmpFollow)->GetKeyCrsrOfst( pPam->GetPoint(),
+        return static_cast<const SwTxtFrm*>(pTmpFollow)->GetKeyCrsrOfst( pPam->GetPoint(),
                                                      aCharBox.Pos() );
     }
     return SwCntntFrm::UnitDown( pPam, nOffset, bSetInReadOnly );
@@ -1297,17 +1297,17 @@ void SwTxtFrm::FillCrsrPos( SwFillData& rFill ) const
     if( !rFill.bColumn && GetUpper()->IsColBodyFrm() ) // ColumnFrms now with BodyFrm
     {
         const SwColumnFrm* pTmp =
-            (SwColumnFrm*)GetUpper()->GetUpper()->GetUpper()->Lower(); // The 1st column
+            static_cast<const SwColumnFrm*>(GetUpper()->GetUpper()->GetUpper()->Lower()); // The 1st column
         // The first SwFrm in BodyFrm of the first column
-        const SwFrm* pFrm = ((SwLayoutFrm*)pTmp->Lower())->Lower();
+        const SwFrm* pFrm = static_cast<const SwLayoutFrm*>(pTmp->Lower())->Lower();
         sal_uInt16 nNextCol = 0;
         // In which column do we end up in?
         while( rFill.X() > pTmp->Frm().Right() && pTmp->GetNext() )
         {
-            pTmp = (SwColumnFrm*)pTmp->GetNext();
-            if( ((SwLayoutFrm*)pTmp->Lower())->Lower() ) // ColumnFrms now with BodyFrm
+            pTmp = static_cast<const SwColumnFrm*>(pTmp->GetNext());
+            if( static_cast<const SwLayoutFrm*>(pTmp->Lower())->Lower() ) // ColumnFrms now with BodyFrm
             {
-                pFrm = ((SwLayoutFrm*)pTmp->Lower())->Lower();
+                pFrm = static_cast<const SwLayoutFrm*>(pTmp->Lower())->Lower();
                 nNextCol = 0;
             }
             else
@@ -1335,7 +1335,7 @@ void SwTxtFrm::FillCrsrPos( SwFillData& rFill ) const
                 rFill.bColumn = true;
                 if( rFill.pPos )
                 {
-                    SwTxtNode* pTxtNd = ((SwTxtFrm*)pFrm)->GetTxtNode();
+                    SwTxtNode* pTxtNd = const_cast<SwTxtFrm*>(static_cast<const SwTxtFrm*>(pFrm))->GetTxtNode();
                     rFill.pPos->nNode = *pTxtNd;
                     rFill.pPos->nContent.Assign(
                             pTxtNd, pTxtNd->GetTxt().getLength());
@@ -1347,7 +1347,7 @@ void SwTxtFrm::FillCrsrPos( SwFillData& rFill ) const
                 }
                 else
                     rFill.aFrm = pFrm->Frm();
-                ((SwTxtFrm*)pFrm)->FillCrsrPos( rFill );
+                static_cast<const SwTxtFrm*>(pFrm)->FillCrsrPos( rFill );
             }
             return;
         }
@@ -1526,8 +1526,8 @@ void SwTxtFrm::FillCrsrPos( SwFillData& rFill ) const
                         else
                         {
                             const SvxTabStopItem& rTab =
-                                (const SvxTabStopItem &)pSet->
-                                GetPool()->GetDefaultItem( RES_PARATR_TABSTOP );
+                                static_cast<const SvxTabStopItem &>(pSet->
+                                GetPool()->GetDefaultItem( RES_PARATR_TABSTOP ));
                             const SwTwips nDefTabDist = rTab[0].GetTabPos();
                             nRightTab = nLeftTab - nTxtLeft;
                             nRightTab /= nDefTabDist;
diff --git a/sw/source/core/text/frmform.cxx b/sw/source/core/text/frmform.cxx
index 14bc83e..3fe5aa8 100644
--- a/sw/source/core/text/frmform.cxx
+++ b/sw/source/core/text/frmform.cxx
@@ -120,11 +120,11 @@ void _ValidateBodyFrm( SwFrm *pFrm )
             pFrm->Calc();
         else
         {
-            const bool bOld = ((SwSectionFrm*)pFrm)->IsCntntLocked();
-            ((SwSectionFrm*)pFrm)->SetCntntLock( true );
+            const bool bOld = static_cast<SwSectionFrm*>(pFrm)->IsCntntLocked();
+            static_cast<SwSectionFrm*>(pFrm)->SetCntntLock( true );
             pFrm->Calc();
             if( !bOld )
-                ((SwSectionFrm*)pFrm)->SetCntntLock( false );
+                static_cast<SwSectionFrm*>(pFrm)->SetCntntLock( false );
         }
     }
 }
@@ -621,13 +621,13 @@ SwCntntFrm *SwTxtFrm::JoinFrm()
                     {
                         if( !pEndBoss )
                             pEndBoss = pFoll->FindFtnBossFrm();
-                        pEndBoss->ChangeFtnRef( pFoll, (SwTxtFtn*)pHt, this );
+                        pEndBoss->ChangeFtnRef( pFoll, static_cast<const SwTxtFtn*>(pHt), this );
                     }
                     else
                     {
                         if( !pFtnBoss )
                             pFtnBoss = pFoll->FindFtnBossFrm( true );
-                        pFtnBoss->ChangeFtnRef( pFoll, (SwTxtFtn*)pHt, this );
+                        pFtnBoss->ChangeFtnRef( pFoll, static_cast<const SwTxtFtn*>(pHt), this );
                     }
                     SetFtn( true );
                 }
@@ -674,7 +674,7 @@ SwCntntFrm *SwTxtFrm::SplitFrm( const sal_Int32 nTxtPos )
     // The Paste sends a Modify() to me
     // I lock myself, so that my data does not disappear
     SwTxtFrmLocker aLock( this );
-    SwTxtFrm *pNew = (SwTxtFrm *)(GetTxtNode()->MakeFrm( this ));
+    SwTxtFrm *pNew = static_cast<SwTxtFrm *>(GetTxtNode()->MakeFrm( this ));
 
     pNew->SetFollow( GetFollow() );
     SetFollow( pNew );
@@ -714,13 +714,13 @@ SwCntntFrm *SwTxtFrm::SplitFrm( const sal_Int32 nTxtPos )
                     {
                         if( !pEndBoss )
                             pEndBoss = FindFtnBossFrm();
-                        pEndBoss->ChangeFtnRef( this, (SwTxtFtn*)pHt, pNew );
+                        pEndBoss->ChangeFtnRef( this, static_cast<const SwTxtFtn*>(pHt), pNew );
                     }
                     else
                     {
                         if( !pFtnBoss )
                             pFtnBoss = FindFtnBossFrm( true );
-                        pFtnBoss->ChangeFtnRef( this, (SwTxtFtn*)pHt, pNew );
+                        pFtnBoss->ChangeFtnRef( this, static_cast<const SwTxtFtn*>(pHt), pNew );
                     }
                     pNew->SetFtn( true );
                 }
diff --git a/sw/source/core/text/guess.cxx b/sw/source/core/text/guess.cxx
index 95feb44..861c7ed 100644
--- a/sw/source/core/text/guess.cxx
+++ b/sw/source/core/text/guess.cxx
@@ -262,7 +262,7 @@ bool SwTxtGuess::Guess( const SwTxtPortion& rPor, SwTxtFormatInfo &rInf,
              CH_TXTATR_BREAKWORD ==
                 ( cFldChr = rInf.GetTxt()[ rInf.GetIdx() - 1 ] ) )
         {
-            SwFldPortion* pFld = (SwFldPortion*)rInf.GetLast();
+            SwFldPortion* pFld = static_cast<SwFldPortion*>(rInf.GetLast());
             OUString aTxt;
             pFld->GetExpTxt( rInf, aTxt );
 
diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx
index a03a0be..83c9fbe 100644
--- a/sw/source/core/text/inftxt.cxx
+++ b/sw/source/core/text/inftxt.cxx
@@ -695,7 +695,7 @@ void SwTxtPaintInfo::CalcRect( const SwLinePortion& rPor,
 {
     Size aSize( rPor.Width(), rPor.Height() );
     if( rPor.IsHangingPortion() )
-        aSize.Width() = ((SwHangingPortion&)rPor).GetInnerWidth();
+        aSize.Width() = static_cast<const SwHangingPortion&>(rPor).GetInnerWidth();
     if( rPor.InSpaceGrp() && GetSpaceAdd() )
     {
         SwTwips nAdd = rPor.CalcSpacing( GetSpaceAdd(), *this );
@@ -907,7 +907,7 @@ void SwTxtPaintInfo::DrawRect( const SwRect &rRect, bool bNoGraphic,
             m_pOut->DrawRect( rRect.SVRect() );
         else
         {
-            if(pBrushItem != ((SvxBrushItem*)-1))
+            if(pBrushItem != reinterpret_cast<SvxBrushItem*>(-1))
             {
                 ::DrawGraphic( pBrushItem, m_pOut, aItemRect, rRect );
             }
@@ -962,9 +962,9 @@ void SwTxtPaintInfo::DrawLineBreak( const SwLinePortion &rPor ) const
 void SwTxtPaintInfo::DrawRedArrow( const SwLinePortion &rPor ) const
 {
     Size aSize( SPECIAL_FONT_HEIGHT, SPECIAL_FONT_HEIGHT );
-    SwRect aRect( ((SwArrowPortion&)rPor).GetPos(), aSize );
+    SwRect aRect( static_cast<const SwArrowPortion&>(rPor).GetPos(), aSize );
     sal_Unicode cChar;
-    if( ((SwArrowPortion&)rPor).IsLeft() )
+    if( static_cast<const SwArrowPortion&>(rPor).IsLeft() )
     {
         aRect.Pos().Y() += 20 - GetAscent();
         aRect.Pos().X() += 20;
@@ -1394,7 +1394,7 @@ void SwTxtFormatInfo::Init()
         // there is a master for this follow and the master does not have
         // any contents (especially it does not have a number portion)
         bNumDone = ! pTmpPara ||
-                   ! ((SwParaPortion*)pTmpPara)->GetFirstPortion()->IsFlyPortion();
+                   ! static_cast<const SwParaPortion*>(pTmpPara)->GetFirstPortion()->IsFlyPortion();
     }
 
     pRoot = 0;
@@ -1480,7 +1480,7 @@ bool SwTxtFormatInfo::_CheckFtnPortion( SwLineLayout* pCurr )
     const sal_uInt16 nHeight = pCurr->GetRealHeight();
     for( SwLinePortion *pPor = pCurr->GetPortion(); pPor; pPor = pPor->GetPortion() )
     {
-        if( pPor->IsFtnPortion() && nHeight > ((SwFtnPortion*)pPor)->Orig() )
+        if( pPor->IsFtnPortion() && nHeight > static_cast<SwFtnPortion*>(pPor)->Orig() )
         {
             SetLineHeight( nHeight );
             SetLineNetHeight( pCurr->Height() );
@@ -1655,15 +1655,15 @@ SwTxtSlot::SwTxtSlot(
                 const sal_uInt16 nPos = pOldSmartTagList->GetWrongPos(nIdx);
                 const sal_Int32 nListPos = pOldSmartTagList->Pos(nPos);
                 if( nListPos == nIdx )
-                    ((SwTxtPaintInfo*)pInf)->SetSmartTags( pOldSmartTagList->SubList( nPos ) );
+                    static_cast<SwTxtPaintInfo*>(pInf)->SetSmartTags( pOldSmartTagList->SubList( nPos ) );
                 else if( !pTempList && nPos < pOldSmartTagList->Count() && nListPos < nIdx && !aTxt.isEmpty() )
                 {
                     pTempList = new SwWrongList( WRONGLIST_SMARTTAG );
                     pTempList->Insert( OUString(), 0, 0, aTxt.getLength(), 0 );
-                    ((SwTxtPaintInfo*)pInf)->SetSmartTags( pTempList );
+                    static_cast<SwTxtPaintInfo*>(pInf)->SetSmartTags( pTempList );
                 }
                 else
-                    ((SwTxtPaintInfo*)pInf)->SetSmartTags( 0);
+                    static_cast<SwTxtPaintInfo*>(pInf)->SetSmartTags( 0);
             }
             pOldGrammarCheckList = static_cast<SwTxtPaintInfo*>(pInf)->GetGrammarCheckList();
             if ( pOldGrammarCheckList )
@@ -1671,15 +1671,15 @@ SwTxtSlot::SwTxtSlot(
                 const sal_uInt16 nPos = pOldGrammarCheckList->GetWrongPos(nIdx);
                 const sal_Int32 nListPos = pOldGrammarCheckList->Pos(nPos);
                 if( nListPos == nIdx )
-                    ((SwTxtPaintInfo*)pInf)->SetGrammarCheckList( pOldGrammarCheckList->SubList( nPos ) );
+                    static_cast<SwTxtPaintInfo*>(pInf)->SetGrammarCheckList( pOldGrammarCheckList->SubList( nPos ) );
                 else if( !pTempList && nPos < pOldGrammarCheckList->Count() && nListPos < nIdx && !aTxt.isEmpty() )
                 {
                     pTempList = new SwWrongList( WRONGLIST_GRAMMAR );
                     pTempList->Insert( OUString(), 0, 0, aTxt.getLength(), 0 );
-                    ((SwTxtPaintInfo*)pInf)->SetGrammarCheckList( pTempList );
+                    static_cast<SwTxtPaintInfo*>(pInf)->SetGrammarCheckList( pTempList );
                 }
                 else
-                    ((SwTxtPaintInfo*)pInf)->SetGrammarCheckList( 0);
+                    static_cast<SwTxtPaintInfo*>(pInf)->SetGrammarCheckList( 0);
             }
         }
     }
@@ -1696,9 +1696,9 @@ SwTxtSlot::~SwTxtSlot()
         // ST2
         // Restore old smart tag list
         if ( pOldSmartTagList )
-            ((SwTxtPaintInfo*)pInf)->SetSmartTags( pOldSmartTagList );
+            static_cast<SwTxtPaintInfo*>(pInf)->SetSmartTags( pOldSmartTagList );
         if ( pOldGrammarCheckList )
-            ((SwTxtPaintInfo*)pInf)->SetGrammarCheckList( pOldGrammarCheckList );
+            static_cast<SwTxtPaintInfo*>(pInf)->SetGrammarCheckList( pOldGrammarCheckList );
         delete pTempList;
     }
 }
diff --git a/sw/source/core/text/inftxt.hxx b/sw/source/core/text/inftxt.hxx
index 301a815..28d3495 100644
--- a/sw/source/core/text/inftxt.hxx
+++ b/sw/source/core/text/inftxt.hxx
@@ -407,7 +407,7 @@ protected:
         , pSmartTags(0)
         , pSpaceAdd(0)
 #ifdef DBG_UTIL
-        , pBrushItem((SvxBrushItem*)-1)
+        , pBrushItem(reinterpret_cast<SvxBrushItem*>(-1))
 #else
         , pBrushItem(0)
 #endif
diff --git a/sw/source/core/text/itradj.cxx b/sw/source/core/text/itradj.cxx
index e86d904..56302ea 100644
--- a/sw/source/core/text/itradj.cxx
+++ b/sw/source/core/text/itradj.cxx
@@ -301,10 +301,10 @@ void SwTxtAdjuster::CalcNewBlock( SwLineLayout *pCurrent,
         }
 
         if ( pPos->InTxtGrp() )
-            nGluePortion = nGluePortion + ((SwTxtPortion*)pPos)->GetSpaceCnt( GetInfo(), nCharCnt );
+            nGluePortion = nGluePortion + static_cast<SwTxtPortion*>(pPos)->GetSpaceCnt( GetInfo(), nCharCnt );
         else if( pPos->IsMultiPortion() )
         {
-            SwMultiPortion* pMulti = (SwMultiPortion*)pPos;
+            SwMultiPortion* pMulti = static_cast<SwMultiPortion*>(pPos);
             // a multiportion with a tabulator inside breaks the text adjustment
             // a ruby portion will not be stretched by text adjustment
             // a double line portion takes additional space for each blank
@@ -319,9 +319,9 @@ void SwTxtAdjuster::CalcNewBlock( SwLineLayout *pCurrent,
                 nCharCnt = 0;
             }
             else if( pMulti->IsDouble() )
-                nGluePortion = nGluePortion + ((SwDoubleLinePortion*)pMulti)->GetSpaceCnt();
+                nGluePortion = nGluePortion + static_cast<SwDoubleLinePortion*>(pMulti)->GetSpaceCnt();
             else if ( pMulti->IsBidi() )
-                nGluePortion = nGluePortion + ((SwBidiPortion*)pMulti)->GetSpaceCnt( GetInfo() );  // i60594
+                nGluePortion = nGluePortion + static_cast<SwBidiPortion*>(pMulti)->GetSpaceCnt( GetInfo() );  // i60594
         }
 
         if( pPos->InGlueGrp() )
@@ -369,13 +369,13 @@ void SwTxtAdjuster::CalcNewBlock( SwLineLayout *pCurrent,
                     }
 
                     pCurrent->SetLLSpaceAdd( nSpaceAdd , nSpaceIdx );
-                    pPos->Width( ( (SwGluePortion*)pPos )->GetFixWidth() );
+                    pPos->Width( static_cast<SwGluePortion*>(pPos)->GetFixWidth() );
                 }
                 else if ( IsOneBlock() && nCharCnt > 1 )
                 {
                     const long nSpaceAdd = - nGluePortionWidth / ( nCharCnt - 1 );
                     pCurrent->SetLLSpaceAdd( nSpaceAdd, nSpaceIdx );
-                    pPos->Width( ( (SwGluePortion*)pPos )->GetFixWidth() );
+                    pPos->Width( static_cast<SwGluePortion*>(pPos)->GetFixWidth() );
                 }
 
                 nSpaceIdx++;
@@ -457,7 +457,7 @@ SwTwips SwTxtAdjuster::CalcKanaAdj( SwLineLayout* pCurrent )
             else
             {
                 nRest = ! bNoCompression ?
-                        ((SwGluePortion*)pPos)->GetPrtGlue() :
+                        static_cast<SwGluePortion*>(pPos)->GetPrtGlue() :
                         0;
 
                 bNoCompression = false;
@@ -517,7 +517,7 @@ SwTwips SwTxtAdjuster::CalcKanaAdj( SwLineLayout* pCurrent )
 
             if ( pPos->InTabGrp() )
                 // set fix width to width
-                ((SwTabPortion*)pPos)->SetFixWidth( pPos->Width() );
+                static_cast<SwTabPortion*>(pPos)->SetFixWidth( pPos->Width() );
 
             if ( ++nKanaIdx < pCurrent->GetKanaComp().size() )
                 nCompress = ( pCurrent->GetKanaComp() )[ nKanaIdx ];
@@ -602,7 +602,7 @@ void SwTxtAdjuster::CalcFlyAdjust( SwLineLayout *pCurrent )
 
     while( pPos )
     {
-        if ( pPos->IsMultiPortion() && ((SwMultiPortion*)pPos)->HasTabulator() )
+        if ( pPos->IsMultiPortion() && static_cast<SwMultiPortion*>(pPos)->HasTabulator() )
             bMultiTab = true;
         else if( pPos->InFixMargGrp() &&
                ( bTabCompat ? ! pPos->InTabGrp() : ! bMultiTab ) )
@@ -611,7 +611,7 @@ void SwTxtAdjuster::CalcFlyAdjust( SwLineLayout *pCurrent )
             // in non tab compat mode we do not want to change margins if we
             // found a multi portion with tabs
             if( SVX_ADJUST_RIGHT == GetAdjust() )
-                ((SwGluePortion*)pPos)->MoveAllGlue( pGlue );
+                static_cast<SwGluePortion*>(pPos)->MoveAllGlue( pGlue );
             else
             {
                 // We set the first text portion to right-aligned and the last one
@@ -619,7 +619,7 @@ void SwTxtAdjuster::CalcFlyAdjust( SwLineLayout *pCurrent )
                 // The first text portion gets the whole Glue, but only if we have
                 // more than one line.
                 if( bComplete && GetInfo().GetTxt().getLength() == nLen )
-                    ((SwGluePortion*)pPos)->MoveHalfGlue( pGlue );
+                    static_cast<SwGluePortion*>(pPos)->MoveHalfGlue( pGlue );
                 else
                 {
                     if ( ! bTabCompat )
@@ -629,23 +629,23 @@ void SwTxtAdjuster::CalcFlyAdjust( SwLineLayout *pCurrent )
                             // If we only have a left and right margin, the
                             // margins share the Glue.
                             if( nLen + pPos->GetLen() >= pCurrent->GetLen() )
-                                ((SwGluePortion*)pPos)->MoveHalfGlue( pGlue );
+                                static_cast<SwGluePortion*>(pPos)->MoveHalfGlue( pGlue );
                             else
-                                ((SwGluePortion*)pPos)->MoveAllGlue( pGlue );
+                                static_cast<SwGluePortion*>(pPos)->MoveAllGlue( pGlue );
                         }
                         else
                         {
                          // The last text portion retains its Glue.
                          if( !pPos->IsMarginPortion() )
-                              ((SwGluePortion*)pPos)->MoveHalfGlue( pGlue );
+                              static_cast<SwGluePortion*>(pPos)->MoveHalfGlue( pGlue );
                          }
                      }
                      else
-                        ((SwGluePortion*)pPos)->MoveHalfGlue( pGlue );
+                        static_cast<SwGluePortion*>(pPos)->MoveHalfGlue( pGlue );
                 }
             }
 
-            pGlue = (SwGluePortion*)pPos;
+            pGlue = static_cast<SwGluePortion*>(pPos);
             bComplete = false;
         }
         nLen = nLen + pPos->GetLen();
@@ -754,8 +754,8 @@ void SwTxtAdjuster::CalcDropAdjust()
         if( pPor->InGlueGrp() && pPor->GetPortion()
               && pPor->GetPortion()->IsDropPortion() )
         {
-            const SwLinePortion *pDropPor = (SwDropPortion*) pPor->GetPortion();
-            SwGluePortion *pLeft = (SwGluePortion*) pPor;
+            const SwLinePortion *pDropPor = static_cast<SwDropPortion*>( pPor->GetPortion() );
+            SwGluePortion *pLeft = static_cast<SwGluePortion*>( pPor );
 
             // 4) pRight: Find the GluePor coming after the DropPor
             pPor = pPor->GetPortion();
@@ -763,7 +763,7 @@ void SwTxtAdjuster::CalcDropAdjust()
                 pPor = pPor->GetPortion();
 
             SwGluePortion *pRight = ( pPor && pPor->InGlueGrp() ) ?
-                                    (SwGluePortion*) pPor : 0;
+                                    static_cast<SwGluePortion*>(pPor) : 0;
             if( pRight && pRight != pLeft )
             {
                 // 5) Calculate nMinLeft. Who is the most to left?
@@ -779,7 +779,7 @@ void SwTxtAdjuster::CalcDropAdjust()
 
                         pPor = pCurr->GetFirstPortion();
                         const SwMarginPortion *pMar = pPor->IsMarginPortion() ?
-                                                      (SwMarginPortion*)pPor : 0;
+                                                      static_cast<SwMarginPortion*>(pPor) : 0;
                         if( !pMar )
                             nMinLeft = 0;
                         else
diff --git a/sw/source/core/text/itrcrsr.cxx b/sw/source/core/text/itrcrsr.cxx
index 1a3affd..1366d59 100644
--- a/sw/source/core/text/itrcrsr.cxx
+++ b/sw/source/core/text/itrcrsr.cxx
@@ -60,7 +60,7 @@ static void lcl_GetCharRectInsideField( SwTxtSizeInfo& rInf, SwRect& rOrig,
 {
     OSL_ENSURE( rCMS.pSpecialPos, "Information about special pos missing" );
 
-    if ( rPor.InFldGrp() && !((SwFldPortion&)rPor).GetExp().isEmpty() )
+    if ( rPor.InFldGrp() && !static_cast<const SwFldPortion&>(rPor).GetExp().isEmpty() )
     {
         const sal_Int32 nCharOfst = rCMS.pSpecialPos->nCharOfst;
         sal_Int32 nFldIdx = 0;
@@ -73,7 +73,7 @@ static void lcl_GetCharRectInsideField( SwTxtSizeInfo& rInf, SwRect& rOrig,
         {
             if ( pPor->InFldGrp() )
             {
-                sString = ((SwFldPortion*)pPor)->GetExp();
+                sString = static_cast<const SwFldPortion*>(pPor)->GetExp();
                 pString = &sString;
                 nFldLen = pString->getLength();
             }
@@ -532,7 +532,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                 bNoTxt = false;
                 nTmpFirst = nX;
             }
-            if( pPor->IsMultiPortion() && ((SwMultiPortion*)pPor)->HasTabulator() )
+            if( pPor->IsMultiPortion() && static_cast<SwMultiPortion*>(pPor)->HasTabulator() )
             {
                 if ( pCurr->IsSpaceAdd() )
                 {
@@ -596,7 +596,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                 // the portion width to nX. For MultiPortions, nExtra = 0,
                 // therefore we go to the 'else' branch and start a recursion.
                 const sal_Int32 nExtra = pPor->IsMultiPortion() &&
-                                    ! ((SwMultiPortion*)pPor)->IsBidi() &&
+                                    ! static_cast<SwMultiPortion*>(pPor)->IsBidi() &&
                                     ! bWidth ? 0 : 1;
                 if ( aInf.GetIdx() + pPor->GetLen() < nOfst + nExtra )
                 {
@@ -627,7 +627,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                     }
                     if( pPor->IsMultiPortion() )
                     {
-                        if ( ((SwMultiPortion*)pPor)->HasTabulator() )
+                        if ( static_cast<SwMultiPortion*>(pPor)->HasTabulator() )
                         {
                             if ( pCurr->IsSpaceAdd() )
                             {
@@ -645,10 +645,10 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                         // hold a pointer to the BidiPortion in order to
                         // find the correct cursor position, depending on the
                         // cursor level
-                        if ( ((SwMultiPortion*)pPor)->IsBidi() &&
+                        if ( static_cast<SwMultiPortion*>(pPor)->IsBidi() &&
                              aInf.GetIdx() + pPor->GetLen() == nOfst )
                         {
-                             pLastBidiPor = (SwBidiPortion*)pPor;
+                             pLastBidiPor = static_cast<SwBidiPortion*>(pPor);
                              nLastBidiPorWidth = pLastBidiPor->Width() +
                                                  pLastBidiPor->CalcSpacing( nSpaceAdd, aInf );;
                         }
@@ -674,16 +674,16 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                                 pCMS->p2Lines->aLine = SwRect(aCharPos, aCharSize);
                             }
 
-                            if( ((SwMultiPortion*)pPor)->HasRotation() )
+                            if( static_cast<SwMultiPortion*>(pPor)->HasRotation() )
                             {
-                                if( ((SwMultiPortion*)pPor)->IsRevers() )
+                                if( static_cast<SwMultiPortion*>(pPor)->IsRevers() )
                                     pCMS->p2Lines->nMultiType = MT_ROT_270;
                                 else
                                     pCMS->p2Lines->nMultiType = MT_ROT_90;
                             }
-                            else if( ((SwMultiPortion*)pPor)->IsDouble() )
+                            else if( static_cast<SwMultiPortion*>(pPor)->IsDouble() )
                                 pCMS->p2Lines->nMultiType = MT_TWOLINE;
-                            else if( ((SwMultiPortion*)pPor)->IsBidi() )
+                            else if( static_cast<SwMultiPortion*>(pPor)->IsBidi() )
                                 pCMS->p2Lines->nMultiType = MT_BIDI;
                             else
                                 pCMS->p2Lines->nMultiType = MT_RUBY;
@@ -709,8 +709,8 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                         sal_uInt8 nOldProp = GetPropFont();
                         nStart = aInf.GetIdx();
                         SwLineLayout* pOldCurr = pCurr;
-                        pCurr = &((SwMultiPortion*)pPor)->GetRoot();
-                        if( ((SwMultiPortion*)pPor)->IsDouble() )
+                        pCurr = &static_cast<SwMultiPortion*>(pPor)->GetRoot();
+                        if( static_cast<SwMultiPortion*>(pPor)->IsDouble() )
                             SetPropFont( 50 );
 
                         SwTextGridItem const*const pGrid(
@@ -720,15 +720,15 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                                                    pGrid->GetRubyHeight() : 0;
 
                         if( nStart + pCurr->GetLen() <= nOfst && GetNext() &&
-                            ( ! ((SwMultiPortion*)pPor)->IsRuby() ||
-                                ((SwMultiPortion*)pPor)->OnTop() ) )
+                            ( ! static_cast<SwMultiPortion*>(pPor)->IsRuby() ||
+                                static_cast<SwMultiPortion*>(pPor)->OnTop() ) )
                         {
                             sal_uInt16 nOffset;
                             // in grid mode we may only add the height of the
                             // ruby line if ruby line is on top
                             if ( bHasGrid &&
-                                ((SwMultiPortion*)pPor)->IsRuby() &&
-                                ((SwMultiPortion*)pPor)->OnTop() )
+                                static_cast<SwMultiPortion*>(pPor)->IsRuby() &&
+                                static_cast<SwMultiPortion*>(pPor)->OnTop() )
                                 nOffset = nRubyHeight;
                             else
                                 nOffset = GetLineHeight();
@@ -737,7 +737,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                             Next();
                         }
 
-                        const bool bSpaceChg = ((SwMultiPortion*)pPor)->
+                        const bool bSpaceChg = static_cast<SwMultiPortion*>(pPor)->
                                                 ChgSpaceAdd( pCurr, nSpaceAdd );
                         Point aOldPos = pOrig->Pos();
 
@@ -748,7 +748,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                         const sal_uInt16 nOldRubyHeight = pCurr->Height();
                         const sal_uInt16 nOldRubyRealHeight = pCurr->GetRealHeight();
                         const bool bChgHeight =
-                                ((SwMultiPortion*)pPor)->IsRuby() && bHasGrid;
+                                static_cast<SwMultiPortion*>(pPor)->IsRuby() && bHasGrid;
 
                         if ( bChgHeight )
                         {
@@ -758,10 +758,10 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                         }
 
                         SwLayoutModeModifier aLayoutModeModifier( *GetInfo().GetOut() );
-                        if ( ((SwMultiPortion*)pPor)->IsBidi() )
+                        if ( static_cast<SwMultiPortion*>(pPor)->IsBidi() )
                         {
                             aLayoutModeModifier.Modify(
-                                ((SwBidiPortion*)pPor)->GetLevel() % 2 );
+                                static_cast<SwBidiPortion*>(pPor)->GetLevel() % 2 );
                         }
 
                         _GetCharRect( pOrig, nOfst, pCMS );
@@ -775,7 +775,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                         // if we are still in the first row of
                         // our 2 line multiportion, we use the FirstMulti flag
                         // to indicate this
-                        if ( ((SwMultiPortion*)pPor)->IsDouble() )
+                        if ( static_cast<SwMultiPortion*>(pPor)->IsDouble() )
                         {
                             // the recursion may have damaged our font size
                             SetPropFont( nOldProp );
@@ -783,7 +783,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                                 nOldProp = 100;
                             GetInfo().GetFont()->SetProportion( 100 );
 
-                            if ( pCurr == &((SwMultiPortion*)pPor)->GetRoot() )
+                            if ( pCurr == &static_cast<SwMultiPortion*>(pPor)->GetRoot() )
                             {
                                 GetInfo().SetFirstMulti( true );
 
@@ -796,12 +796,12 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                             }
                         }
                         // ruby portions are treated like single line portions
-                        else if( ((SwMultiPortion*)pPor)->IsRuby() ||
-                                 ((SwMultiPortion*)pPor)->IsBidi() )
+                        else if( static_cast<SwMultiPortion*>(pPor)->IsRuby() ||
+                                 static_cast<SwMultiPortion*>(pPor)->IsBidi() )
                             GetInfo().SetMulti( false );
 
                         // calculate cursor values
-                        if( ((SwMultiPortion*)pPor)->HasRotation() )
+                        if( static_cast<SwMultiPortion*>(pPor)->HasRotation() )
                         {
                             GetInfo().SetMulti( false );
                             long nTmp = pOrig->Width();
@@ -816,7 +816,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                                 nTmp--;
 
                             pOrig->Pos().X() = nX + aOldPos.X();
-                            if( ((SwMultiPortion*)pPor)->IsRevers() )
+                            if( static_cast<SwMultiPortion*>(pPor)->IsRevers() )
                                 pOrig->Pos().Y() = aOldPos.Y() + nTmp;
                             else
                                 pOrig->Pos().Y() = aOldPos.Y()
@@ -826,7 +826,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                                 pCMS->aRealHeight.Y() = -pCMS->aRealHeight.Y();
                                 // result for rotated multi portion is not
                                 // correct for reverse (270 degree) portions
-                                if( ((SwMultiPortion*)pPor)->IsRevers() )
+                                if( static_cast<SwMultiPortion*>(pPor)->IsRevers() )
                                 {
                                     if ( SvxParaVertAlignItem::AUTOMATIC ==
                                          GetLineInfo().GetVertAlign() )
@@ -847,7 +847,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                         else
                         {
                             pOrig->Pos().Y() += aOldPos.Y();
-                            if ( ((SwMultiPortion*)pPor)->IsBidi() )
+                            if ( static_cast<SwMultiPortion*>(pPor)->IsBidi() )
                             {
                                 const SwTwips nPorWidth = pPor->Width() +
                                                          pPor->CalcSpacing( nSpaceAdd, aInf );
@@ -858,9 +858,9 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                             else
                                 pOrig->Pos().X() += nX;
 
-                            if( ((SwMultiPortion*)pPor)->HasBrackets() )
+                            if( static_cast<SwMultiPortion*>(pPor)->HasBrackets() )
                                 pOrig->Pos().X() +=
-                                    ((SwDoubleLinePortion*)pPor)->PreWidth();
+                                    static_cast<SwDoubleLinePortion*>(pPor)->PreWidth();
                         }
 
                         if( bSpaceChg )
@@ -942,7 +942,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
             bool bEmptyFld = false;
             if( pPor->InFldGrp() && pPor->GetLen() )
             {
-                SwFldPortion *pTmp = (SwFldPortion*)pPor;
+                SwFldPortion *pTmp = static_cast<SwFldPortion*>(pPor);
                 while( pTmp->HasFollow() && pTmp->GetExp().isEmpty() )
                 {
                     sal_uInt16 nAddX = pTmp->Width();
@@ -955,7 +955,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                     }
                     if( !pNext )
                         break;
-                    pTmp = (SwFldPortion*)pNext;
+                    pTmp = static_cast<SwFldPortion*>(pNext);
                     nPorHeight = pTmp->Height();
                     nPorAscent = pTmp->GetAscent();
                     nX += nAddX;
@@ -991,7 +991,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                         nX += pPor->PrtWidth();
                 }
                 if( pPor->IsMultiPortion() &&
-                    ((SwMultiPortion*)pPor)->HasTabulator() )
+                    static_cast<SwMultiPortion*>(pPor)->HasTabulator() )
                 {
                     if ( pCurr->IsSpaceAdd() )
                     {
@@ -1036,14 +1036,14 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                     pOrig->Width( pPor->Width() );
                 if( pPor->IsDropPortion() )
                 {
-                    nPorAscent = ((SwDropPortion*)pPor)->GetDropHeight();
+                    nPorAscent = static_cast<SwDropPortion*>(pPor)->GetDropHeight();
                     // The drop height is only calculated, if we have more than
                     // one line. Otherwise it is 0.
                     if ( ! nPorAscent)
                         nPorAscent = pPor->Height();
                     nPorHeight = nPorAscent;
                     pOrig->Height( nPorHeight +
-                        ((SwDropPortion*)pPor)->GetDropDescent() );
+                        static_cast<SwDropPortion*>(pPor)->GetDropDescent() );
                     if( nTmpHeight < pOrig->Height() )
                     {
                         nTmpAscent = nPorAscent;
@@ -1101,7 +1101,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                 ( pLastBidiPor ||
                 ( pPor &&
                   pPor->IsMultiPortion() &&
-                  ((SwMultiPortion*)pPor)->IsBidi() ) ) )
+                  static_cast<SwMultiPortion*>(pPor)->IsBidi() ) ) )
         {
             // we determine if the cursor has to blink before or behind
             // the bidi portion
@@ -1125,7 +1125,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
                     const SwLinePortion *pLast = rLineLayout.FindLastPortion();
                     if ( pLast->IsMultiPortion() )
                     {
-                        OSL_ENSURE( ((SwMultiPortion*)pLast)->IsBidi(),
+                        OSL_ENSURE( static_cast<const SwMultiPortion*>(pLast)->IsBidi(),
                                  "Non-BidiPortion inside BidiPortion" );
                         pOrig->Pos().X() += pLast->Width() +
                                             pLast->CalcSpacing( nSpaceAdd, aInf );
@@ -1134,7 +1134,7 @@ void SwTxtCursor::_GetCharRect( SwRect* pOrig, const sal_Int32 nOfst,
             }
             else
             {
-                const sal_uInt8 nPortionLevel = ((SwBidiPortion*)pPor)->GetLevel();
+                const sal_uInt8 nPortionLevel = static_cast<SwBidiPortion*>(pPor)->GetLevel();
 
                 if ( pCMS->nCursorBidiLevel >= nPortionLevel )
                 {
@@ -1309,7 +1309,7 @@ sal_Int32 SwTxtCursor::GetCrsrOfst( SwPosition *pPos, const Point &rPoint,
             nWidth = nWidth + sal_uInt16( pPor->CalcSpacing( nSpaceAdd, GetInfo() ) );
         }
         if( ( pPor->InFixMargGrp() && ! pPor->IsMarginPortion() ) ||
-            ( pPor->IsMultiPortion() && ((SwMultiPortion*)pPor)->HasTabulator() )
+            ( pPor->IsMultiPortion() && static_cast<SwMultiPortion*>(pPor)->HasTabulator() )
           )
         {
             if ( pCurr->IsSpaceAdd() )
@@ -1354,7 +1354,7 @@ sal_Int32 SwTxtCursor::GetCrsrOfst( SwPosition *pPos, const Point &rPoint,
             }
 
             if( ( pPor->InFixMargGrp() && ! pPor->IsMarginPortion() ) ||
-                ( pPor->IsMultiPortion() && ((SwMultiPortion*)pPor)->HasTabulator() )
+                ( pPor->IsMultiPortion() && static_cast<SwMultiPortion*>(pPor)->HasTabulator() )
               )
             {
                 if ( pCurr->IsSpaceAdd() )
@@ -1453,7 +1453,7 @@ sal_Int32 SwTxtCursor::GetCrsrOfst( SwPosition *pPos, const Point &rPoint,
               // in the last line of a centered paragraph
               nCurrStart < rText.getLength() ) )
             --nCurrStart;
-        else if( pPor->InFldGrp() && ((SwFldPortion*)pPor)->IsFollow()
+        else if( pPor->InFldGrp() && static_cast<SwFldPortion*>(pPor)->IsFollow()
                  && nWidth > nX )
         {
             if( bFieldInfo )
@@ -1478,7 +1478,7 @@ sal_Int32 SwTxtCursor::GetCrsrOfst( SwPosition *pPos, const Point &rPoint,
             {
                 if ( pPor->InFldGrp() ||
                      ( pPor->IsMultiPortion() &&
-                       ((SwMultiPortion*)pPor)->IsBidi()  ) )
+                       static_cast<SwMultiPortion*>(pPor)->IsBidi()  ) )
                 {
                     sal_uInt16 nHeight = 0;
                     if( !bFieldInfo )
@@ -1490,7 +1490,7 @@ sal_Int32 SwTxtCursor::GetCrsrOfst( SwPosition *pPos, const Point &rPoint,
 
                     if( nWidth - nHeight/2 <= nX &&
                         ( ! pPor->InFldGrp() ||
-                          !((SwFldPortion*)pPor)->HasFollow() ) )
+                          !static_cast<SwFldPortion*>(pPor)->HasFollow() ) )
                         ++nCurrStart;
                 }
                 else if ( ( !pPor->IsFlyPortion() || ( pPor->GetPortion() &&
@@ -1515,7 +1515,7 @@ sal_Int32 SwTxtCursor::GetCrsrOfst( SwPosition *pPos, const Point &rPoint,
                 return nCurrStart;
             if ( pPor->InFldGrp() )
             {
-                if( bRightOver && !((SwFldPortion*)pPor)->HasFollow() )
+                if( bRightOver && !static_cast<SwFldPortion*>(pPor)->HasFollow() )
                     ++nCurrStart;
                 return nCurrStart;
             }
@@ -1528,7 +1528,7 @@ sal_Int32 SwTxtCursor::GetCrsrOfst( SwPosition *pPos, const Point &rPoint,
         --nLength;
 
     if( nWidth > nX ||
-      ( nWidth == nX && pPor->IsMultiPortion() && ((SwMultiPortion*)pPor)->IsDouble() ) )
+      ( nWidth == nX && pPor->IsMultiPortion() && static_cast<SwMultiPortion*>(pPor)->IsDouble() ) )
     {
         if( pPor->IsMultiPortion() )
         {
@@ -1537,42 +1537,42 @@ sal_Int32 SwTxtCursor::GetCrsrOfst( SwPosition *pPos, const Point &rPoint,
             // if we are in the first line of a double line portion, we have
             // to add a value to nTmpY for not staying in this line
             // we also want to skip the first line, if we are inside ruby
-            if ( ( ((SwTxtSizeInfo*)pInf)->IsMulti() &&
-                   ((SwTxtSizeInfo*)pInf)->IsFirstMulti() ) ||
-                 ( ((SwMultiPortion*)pPor)->IsRuby() &&
-                   ((SwMultiPortion*)pPor)->OnTop() ) )
-                nTmpY += ((SwMultiPortion*)pPor)->Height();
+            if ( ( static_cast<SwTxtSizeInfo*>(pInf)->IsMulti() &&
+                   static_cast<SwTxtSizeInfo*>(pInf)->IsFirstMulti() ) ||
+                 ( static_cast<SwMultiPortion*>(pPor)->IsRuby() &&
+                   static_cast<SwMultiPortion*>(pPor)->OnTop() ) )
+                nTmpY += static_cast<SwMultiPortion*>(pPor)->Height();
 
             // Important for cursor traveling in ruby portions:
             // We have to set nTmpY to 0 in order to stay in the first row
             // if the phonetic line is the second row
-            if (   ((SwMultiPortion*)pPor)->IsRuby() &&
-                 ! ((SwMultiPortion*)pPor)->OnTop() )
+            if (   static_cast<SwMultiPortion*>(pPor)->IsRuby() &&
+                 ! static_cast<SwMultiPortion*>(pPor)->OnTop() )
                 nTmpY = 0;
 
-            SwTxtCursorSave aSave( (SwTxtCursor*)this, (SwMultiPortion*)pPor,
+            SwTxtCursorSave aSave( const_cast<SwTxtCursor*>(static_cast<const SwTxtCursor*>(this)), static_cast<SwMultiPortion*>(pPor),
                  nTmpY, nX, nCurrStart, nSpaceAdd );
 
             SwLayoutModeModifier aLayoutModeModifier( *GetInfo().GetOut() );
-            if ( ((SwMultiPortion*)pPor)->IsBidi() )
+            if ( static_cast<SwMultiPortion*>(pPor)->IsBidi() )
             {
-                const sal_uInt8 nBidiLevel = ((SwBidiPortion*)pPor)->GetLevel();
+                const sal_uInt8 nBidiLevel = static_cast<SwBidiPortion*>(pPor)->GetLevel();
                 aLayoutModeModifier.Modify( nBidiLevel % 2 );
             }
 
-            if( ((SwMultiPortion*)pPor)->HasRotation() )
+            if( static_cast<SwMultiPortion*>(pPor)->HasRotation() )
             {
                 nTmpY -= nY;
-                if( !((SwMultiPortion*)pPor)->IsRevers() )
+                if( !static_cast<SwMultiPortion*>(pPor)->IsRevers() )
                     nTmpY = pPor->Height() - nTmpY;
                 if( nTmpY < 0 )
                     nTmpY = 0;
                 nX = (sal_uInt16)nTmpY;
             }
 
-            if( ((SwMultiPortion*)pPor)->HasBrackets() )
+            if( static_cast<SwMultiPortion*>(pPor)->HasBrackets() )
             {
-                const sal_uInt16 nPreWidth = ((SwDoubleLinePortion*)pPor)->PreWidth();
+                const sal_uInt16 nPreWidth = static_cast<SwDoubleLinePortion*>(pPor)->PreWidth();
                 if ( nX > nPreWidth )
                     nX = nX - nPreWidth;
                 else
@@ -1595,9 +1595,9 @@ sal_Int32 SwTxtCursor::GetCrsrOfst( SwPosition *pPos, const Point &rPoint,
             {
                 SwTxtSizeInfo aSizeInf( GetInfo(), &rText, nCurrStart );
                 ((SwTxtCursor*)this)->SeekAndChg( aSizeInf );
-                SwTxtSlot aDiffTxt( &aSizeInf, ((SwTxtPortion*)pPor), false, false );
+                SwTxtSlot aDiffTxt( &aSizeInf, static_cast<SwTxtPortion*>(pPor), false, false );
                 SwFontSave aSave( aSizeInf, pPor->IsDropPortion() ?
-                        ((SwDropPortion*)pPor)->GetFnt() : NULL );
+                        static_cast<SwDropPortion*>(pPor)->GetFnt() : NULL );
 
                 SwParaPortion* pPara = (SwParaPortion*)GetInfo().GetParaPortion();
                 OSL_ENSURE( pPara, "No paragraph!" );
@@ -1690,12 +1690,12 @@ sal_Int32 SwTxtCursor::GetCrsrOfst( SwPosition *pPos, const Point &rPoint,
         else
         {
             if( nChgNode && pPos && pPor->IsFlyCntPortion()
-                && !( (SwFlyCntPortion*)pPor )->IsDraw() )
+                && !static_cast<SwFlyCntPortion*>(pPor)->IsDraw() )
             {
                 // JP 24.11.94: if the Position is not in Fly, then
                 //              we many not return with COMPLETE_STRING as value!
                 //              (BugId: 9692 + Change in feshview)
-                SwFlyInCntFrm *pTmp = ( (SwFlyCntPortion*)pPor )->GetFlyFrm();
+                SwFlyInCntFrm *pTmp = static_cast<SwFlyCntPortion*>(pPor)->GetFlyFrm();
                 SwFrm* pLower = pTmp->GetLower();
                 bool bChgNode = pLower
                     && (pLower->IsTxtFrm() || pLower->IsLayoutFrm());
@@ -1710,12 +1710,12 @@ sal_Int32 SwTxtCursor::GetCrsrOfst( SwPosition *pPos, const Point &rPoint,
                 if( bChgNode && pTmp->Frm().IsInside( aTmpPoint ) &&
                     !( pTmp->IsProtected() ) )
                 {
-                    nLength = ((SwFlyCntPortion*)pPor)->
+                    nLength = static_cast<SwFlyCntPortion*>(pPor)->
                               GetFlyCrsrOfst( nX, aTmpPoint, pPos, pCMS );
                     // After a change of the frame, our font must be still
                     // available for/in the OutputDevice.
                     // For comparison: Paint and new SwFlyCntPortion !
-                    ((SwTxtSizeInfo*)pInf)->SelectFont();
+                    static_cast<SwTxtSizeInfo*>(pInf)->SelectFont();
 
                     // 6776: The pIter->GetCrsrOfst is returning here
                     // from a nesting with COMPLETE_STRING.
diff --git a/sw/source/core/text/itrform2.cxx b/sw/source/core/text/itrform2.cxx
index a3c729a..37ae1bab 100644
--- a/sw/source/core/text/itrform2.cxx
+++ b/sw/source/core/text/itrform2.cxx
@@ -404,7 +404,7 @@ void SwTxtFormatter::BuildPortions( SwTxtFormatInfo &rInf )
         // We have to check the script for fields in order to set the
         // correct nActual value for the font.
         if( pPor->InFldGrp() )
-            ((SwFldPortion*)pPor)->CheckScript( rInf );
+            static_cast<SwFldPortion*>(pPor)->CheckScript( rInf );
 
         if( ! bHasGrid && rInf.HasScriptSpace() &&
             rInf.GetLast() && rInf.GetLast()->InTxtGrp() &&
@@ -422,12 +422,12 @@ void SwTxtFormatter::BuildPortions( SwTxtFormatInfo &rInf )
             if ( pPor->InFldGrp() )
             {
                 OUString aAltTxt;
-                if ( ((SwFldPortion*)pPor)->GetExpTxt( rInf, aAltTxt ) &&
+                if ( static_cast<SwFldPortion*>(pPor)->GetExpTxt( rInf, aAltTxt ) &&
                         !aAltTxt.isEmpty() )
                 {
                     bAllowBehind = rCC.isLetterNumeric( aAltTxt, 0 );
 
-                    const SwFont* pTmpFnt = ((SwFldPortion*)pPor)->GetFont();
+                    const SwFont* pTmpFnt = static_cast<SwFldPortion*>(pPor)->GetFont();
                     if ( pTmpFnt )
                         nNxtActual = pTmpFnt->GetActual();
                 }
@@ -445,12 +445,12 @@ void SwTxtFormatter::BuildPortions( SwTxtFormatInfo &rInf )
                 if ( pLast->InFldGrp() )
                 {
                     OUString aAltTxt;
-                    if ( ((SwFldPortion*)pLast)->GetExpTxt( rInf, aAltTxt ) &&
+                    if ( static_cast<const SwFldPortion*>(pLast)->GetExpTxt( rInf, aAltTxt ) &&
                          !aAltTxt.isEmpty() )
                     {
                         bAllowBefore = rCC.isLetterNumeric( aAltTxt, aAltTxt.getLength() - 1 );
 
-                        const SwFont* pTmpFnt = ((SwFldPortion*)pLast)->GetFont();
+                        const SwFont* pTmpFnt = static_cast<const SwFldPortion*>(pLast)->GetFont();
                         if ( pTmpFnt )
                         {
                             nLstActual = pTmpFnt->GetActual();
@@ -484,7 +484,7 @@ void SwTxtFormatter::BuildPortions( SwTxtFormatInfo &rInf )
             // insert a grid kerning portion
             if ( ! pGridKernPortion )
                 pGridKernPortion = pPor->IsKernPortion() ?
-                                   (SwKernPortion*)pPor :
+                                   static_cast<SwKernPortion*>(pPor) :
                                    new SwKernPortion( *pCurr );
 
             // if we have a new GridKernPortion, we initially calculate
@@ -527,7 +527,7 @@ void SwTxtFormatter::BuildPortions( SwTxtFormatInfo &rInf )
 
         // the multi-portion has it's own format function
         if( pPor->IsMultiPortion() && ( !pMulti || pMulti->IsBidi() ) )
-            bFull = BuildMultiPortion( rInf, *((SwMultiPortion*)pPor) );
+            bFull = BuildMultiPortion( rInf, *static_cast<SwMultiPortion*>(pPor) );
         else
             bFull = pPor->Format( rInf );
 
@@ -566,7 +566,7 @@ void SwTxtFormatter::BuildPortions( SwTxtFormatInfo &rInf )
                    // 2. Right Tab
                    ( ( pPor->InTabGrp() && !pPor->IsTabLeftPortion() ) ||
                    // 3. BidiPortions
-                     ( pPor->IsMultiPortion() && ((SwMultiPortion*)pPor)->IsBidi() ) ||
+                     ( pPor->IsMultiPortion() && static_cast<SwMultiPortion*>(pPor)->IsBidi() ) ||
                    // 4. Multi Portion and 5. Drop Caps
                      ( ( pPor->IsDropPortion() || pPor->IsMultiPortion() ) &&
                        rInf.GetReformatStart() >= rInf.GetIdx() &&
@@ -585,7 +585,7 @@ void SwTxtFormatter::BuildPortions( SwTxtFormatInfo &rInf )
             nUnderLineStart = 0;
 
         if( pPor->IsFlyCntPortion() || ( pPor->IsMultiPortion() &&
-            ((SwMultiPortion*)pPor)->HasFlyInCntnt() ) )
+            static_cast<SwMultiPortion*>(pPor)->HasFlyInCntnt() ) )
             SetFlyInCntBase();
         // bUnderflow needs to be reset or we wrap again at the next softhyphen
         if ( !bFull )
@@ -700,7 +700,7 @@ void SwTxtFormatter::BuildPortions( SwTxtFormatInfo &rInf )
             rInf.GetLast()->FormatEOL( rInf );
     }
     if( pCurr->GetPortion() && pCurr->GetPortion()->InNumberGrp()
-        && ((SwNumberPortion*)pCurr->GetPortion())->IsHide() )
+        && static_cast<SwNumberPortion*>(pCurr->GetPortion())->IsHide() )
         rInf.SetNumDone( false );
 
     // Delete fly in any case
@@ -728,11 +728,11 @@ void SwTxtFormatter::CalcAdjustLine( SwLineLayout *pCurrent )
 void SwTxtFormatter::CalcAscent( SwTxtFormatInfo &rInf, SwLinePortion *pPor )
 {
     bool bCalc = false;
-    if ( pPor->InFldGrp() && ((SwFldPortion*)pPor)->GetFont() )
+    if ( pPor->InFldGrp() && static_cast<SwFldPortion*>(pPor)->GetFont() )
     {
         // Numbering + InterNetFlds can keep an own font, then their size is
         // independent from hard attribute values
-        SwFont* pFldFnt = ((SwFldPortion*)pPor)->pFnt;
+        SwFont* pFldFnt = static_cast<SwFldPortion*>(pPor)->pFnt;
         SwFontSave aSave( rInf, pFldFnt );
         pPor->Height( rInf.GetTxtHeight() );
         pPor->SetAscent( rInf.GetAscent() );
@@ -1137,8 +1137,8 @@ static bool lcl_OldFieldRest( const SwLineLayout* pCurr )
     bool bRet = false;
     while( pPor && !bRet )
     {
-        bRet = (pPor->InFldGrp() && ((SwFldPortion*)pPor)->IsFollow()) ||
-            (pPor->IsMultiPortion() && ((SwMultiPortion*)pPor)->IsFollowFld());
+        bRet = (pPor->InFldGrp() && static_cast<const SwFldPortion*>(pPor)->IsFollow()) ||
+            (pPor->IsMultiPortion() && static_cast<const SwMultiPortion*>(pPor)->IsFollowFld());
         if( !pPor->GetLen() )
             break;
         pPor = pPor->GetPortion();
@@ -1396,7 +1396,7 @@ SwLinePortion *SwTxtFormatter::NewPortion( SwTxtFormatInfo &rInf )
     {
         if ( pPor->IsFtnPortion() )
         {
-            const SwTxtFtn* pTxtFtn = ((SwFtnPortion*)pPor)->GetTxtFtn();
+            const SwTxtFtn* pTxtFtn = static_cast<SwFtnPortion*>(pPor)->GetTxtFtn();
 
             if ( pTxtFtn )
             {
@@ -1413,7 +1413,7 @@ SwLinePortion *SwTxtFormatter::NewPortion( SwTxtFormatInfo &rInf )
                 sal_uInt16 nDir = 0;
                 if( SfxItemState::SET == rSet.GetItemState( RES_CHRATR_ROTATE,
                     true, &pItem ))
-                    nDir = ((SvxCharRotateItem*)pItem)->GetValue();
+                    nDir = static_cast<const SvxCharRotateItem*>(pItem)->GetValue();
 
                 if ( 0 != nDir )
                 {
@@ -1426,7 +1426,7 @@ SwLinePortion *SwTxtFormatter::NewPortion( SwTxtFormatInfo &rInf )
         }
         else if ( pPor->InNumberGrp() )
         {
-            const SwFont* pNumFnt = ((SwFldPortion*)pPor)->GetFont();
+            const SwFont* pNumFnt = static_cast<SwFldPortion*>(pPor)->GetFont();
 
             if ( pNumFnt )
             {
@@ -1502,7 +1502,7 @@ sal_Int32 SwTxtFormatter::FormatLine(const sal_Int32 nStartPos)
     boost::scoped_ptr<SwFldPortion> xSaveFld;
 
     if ( pFld && pFld->InFldGrp() && !pFld->IsFtnPortion() )
-        xSaveFld.reset(new SwFldPortion( *((SwFldPortion*)pFld) ));
+        xSaveFld.reset(new SwFldPortion( *static_cast<SwFldPortion*>(pFld) ));
 
     // for an optimal repaint rectangle, we want to compare fly portions
     // before and after the BuildPortions call
@@ -2076,7 +2076,7 @@ void SwTxtFormatter::UpdatePos( SwLineLayout *pCurrent, Point aStart,
                     nTmpDescent = nTmpHeight - nAscent;
                     nFlyDesc = nTmpDescent;
                 }
-                ((SwGrfNumPortion*)pPos)->SetBase( nTmpAscent, nTmpDescent,
+                static_cast<SwGrfNumPortion*>(pPos)->SetBase( nTmpAscent, nTmpDescent,
                                                    nFlyAsc, nFlyDesc );
             }
             else
@@ -2085,22 +2085,22 @@ void SwTxtFormatter::UpdatePos( SwLineLayout *pCurrent, Point aStart,
                 if ( GetInfo().GetTxtFrm()->IsVertical() )
                     GetInfo().GetTxtFrm()->SwitchHorizontalToVertical( aBase );
 
-                ((SwFlyCntPortion*)pPos)->SetBase( *aTmpInf.GetTxtFrm(),
+                static_cast<SwFlyCntPortion*>(pPos)->SetBase( *aTmpInf.GetTxtFrm(),
                     aBase, nTmpAscent, nTmpDescent, nFlyAsc,
                     nFlyDesc, nFlags );
             }
         }
-        if( pPos->IsMultiPortion() && ((SwMultiPortion*)pPos)->HasFlyInCntnt() )
+        if( pPos->IsMultiPortion() && static_cast<SwMultiPortion*>(pPos)->HasFlyInCntnt() )
         {
             OSL_ENSURE( !GetMulti(), "Too much multi" );
-            ((SwTxtFormatter*)this)->pMulti = (SwMultiPortion*)pPos;
+            const_cast<SwTxtFormatter*>(static_cast<const SwTxtFormatter*>(this))->pMulti = static_cast<SwMultiPortion*>(pPos);
             SwLineLayout *pLay = &GetMulti()->GetRoot();
             Point aSt( aTmpInf.X(), aStart.Y() );
 
             if ( GetMulti()->HasBrackets() )
             {
                 OSL_ENSURE( GetMulti()->IsDouble(), "Brackets only for doubles");
-                aSt.X() += ((SwDoubleLinePortion*)GetMulti())->PreWidth();
+                aSt.X() += static_cast<SwDoubleLinePortion*>(GetMulti())->PreWidth();
             }
             else if( GetMulti()->HasRotation() )
             {
@@ -2155,7 +2155,7 @@ void SwTxtFormatter::AlignFlyInCntBase( long nBaseLine ) const
             pCurr->MaxAscentDescent( nTmpAscent, nTmpDescent, nFlyAsc, nFlyDesc, pPos );
 
             if( pPos->IsGrfNumPortion() )
-                ((SwGrfNumPortion*)pPos)->SetBase( nTmpAscent, nTmpDescent,
+                static_cast<SwGrfNumPortion*>(pPos)->SetBase( nTmpAscent, nTmpDescent,
                                                    nFlyAsc, nFlyDesc );
             else
             {
@@ -2163,12 +2163,12 @@ void SwTxtFormatter::AlignFlyInCntBase( long nBaseLine ) const
                 if ( GetInfo().GetTxtFrm()->IsVertical() )
                 {
                     nBaseLine = GetInfo().GetTxtFrm()->SwitchHorizontalToVertical( nBaseLine );
-                    aBase = Point( nBaseLine, ((SwFlyCntPortion*)pPos)->GetRefPoint().Y() );
+                    aBase = Point( nBaseLine, static_cast<SwFlyCntPortion*>(pPos)->GetRefPoint().Y() );
                 }
                 else
-                    aBase = Point( ((SwFlyCntPortion*)pPos)->GetRefPoint().X(), nBaseLine );
+                    aBase = Point( static_cast<SwFlyCntPortion*>(pPos)->GetRefPoint().X(), nBaseLine );
 
-                ((SwFlyCntPortion*)pPos)->SetBase( *GetInfo().GetTxtFrm(), aBase, nTmpAscent, nTmpDescent,
+                static_cast<SwFlyCntPortion*>(pPos)->SetBase( *GetInfo().GetTxtFrm(), aBase, nTmpAscent, nTmpDescent,
                     nFlyAsc, nFlyDesc, nFlags );
             }
         }
@@ -2248,7 +2248,7 @@ bool SwTxtFormatter::ChkFlyUnderflow( SwTxtFormatInfo &rInf ) const
                     // we also have to reformat the line, if the fly size
                     // differs from the intersection interval's size.
                     if( ! aInter.HasArea() ||
-                        ((SwFlyPortion*)pPos)->GetFixWidth() != aInter.Width() )
+                        static_cast<const SwFlyPortion*>(pPos)->GetFixWidth() != aInter.Width() )
                     {
                         rInf.SetLineHeight( nHeight );
                         rInf.SetLineNetHeight( pCurr->Height() );
@@ -2477,9 +2477,9 @@ SwFlyCntPortion *SwTxtFormatter::NewFlyCntPortion( SwTxtFormatInfo &rInf,
     const SwFrm *pFrame = (SwFrm*)pFrm;
 
     SwFlyInCntFrm *pFly;
-    SwFrmFmt* pFrmFmt = ((SwTxtFlyCnt*)pHint)->GetFlyCnt().GetFrmFmt();
+    SwFrmFmt* pFrmFmt = static_cast<SwTxtFlyCnt*>(pHint)->GetFlyCnt().GetFrmFmt();
     if( RES_FLYFRMFMT == pFrmFmt->Which() )
-        pFly = ((SwTxtFlyCnt*)pHint)->GetFlyFrm(pFrame);
+        pFly = static_cast<SwTxtFlyCnt*>(pHint)->GetFlyFrm(pFrame);

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list