diff options
Diffstat (limited to 'sw/source/core/doc/docdraw.cxx')
-rw-r--r-- | sw/source/core/doc/docdraw.cxx | 98 |
1 files changed, 58 insertions, 40 deletions
diff --git a/sw/source/core/doc/docdraw.cxx b/sw/source/core/doc/docdraw.cxx index 9840f06219ef..6c4fb754e305 100644 --- a/sw/source/core/doc/docdraw.cxx +++ b/sw/source/core/doc/docdraw.cxx @@ -28,6 +28,7 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sw.hxx" + #include <hintids.hxx> #include <rtl/logfile.hxx> #include <vcl/outdev.hxx> @@ -50,12 +51,13 @@ #include <viewimp.hxx> #include <swhints.hxx> #include <doc.hxx> +#include <IDocumentUndoRedo.hxx> #include <docsh.hxx> #include <rootfrm.hxx> //Damit der RootDtor gerufen wird. #include <poolfmt.hxx> #include <viewsh.hxx> // fuer MakeDrawView #include <drawdoc.hxx> -#include <undobj.hxx> +#include <UndoDraw.hxx> #include <swundo.hxx> // fuer die UndoIds #include <dcontact.hxx> #include <dview.hxx> @@ -128,7 +130,7 @@ void lcl_AdjustPositioningAttr( SwDrawFrmFmt* _pFrmFmt, { case FRMDIR_VERT_TOP_LEFT: { - // vertical from left-to-right - not supported yet + // vertical from left-to-right - Badaa: supported now! bVert = true; bR2L = true; OSL_ENSURE( false, @@ -161,10 +163,18 @@ void lcl_AdjustPositioningAttr( SwDrawFrmFmt* _pFrmFmt, } // use geometry of drawing object const SwRect aObjRect = _rSdrObj.GetSnapRect(); + if ( bVert ) { - nHoriRelPos = aObjRect.Top() - aAnchorPos.Y(); - nVertRelPos = aAnchorPos.X() - aObjRect.Right(); + if ( bR2L ) { + //FRMDIR_VERT_TOP_LEFT + nHoriRelPos = aObjRect.Left() - aAnchorPos.X(); + nVertRelPos = aObjRect.Top() - aAnchorPos.Y(); + } else { + //FRMDIR_VERT_TOP_RIGHT + nHoriRelPos = aObjRect.Top() - aAnchorPos.Y(); + nVertRelPos = aAnchorPos.X() - aObjRect.Right(); + } } else if ( bR2L ) { @@ -176,6 +186,7 @@ void lcl_AdjustPositioningAttr( SwDrawFrmFmt* _pFrmFmt, nHoriRelPos = aObjRect.Left() - aAnchorPos.X(); nVertRelPos = aObjRect.Top() - aAnchorPos.Y(); } + //End of SCMS } _pFrmFmt->SetFmtAttr( SwFmtHoriOrient( nHoriRelPos, text::HoriOrientation::NONE, text::RelOrientation::FRAME ) ); @@ -207,7 +218,7 @@ SwDrawContact* SwDoc::GroupSelection( SdrView& rDrawView ) const SdrMarkList &rMrkList = rDrawView.GetMarkedObjectList(); SwDrawFrmFmt *pFmt = 0L; SdrObject *pObj = rMrkList.GetMark( 0 )->GetMarkedSdrObj(); - BOOL bNoGroup = ( 0 == pObj->GetUpGroup() ); + sal_Bool bNoGroup = ( 0 == pObj->GetUpGroup() ); SwDrawContact* pNewContact = 0; if( bNoGroup ) { @@ -215,9 +226,9 @@ SwDrawContact* SwDoc::GroupSelection( SdrView& rDrawView ) SwDrawContact *pMyContact = (SwDrawContact*)GetUserCall(pObj); const SwFmtAnchor aAnch( pMyContact->GetFmt()->GetAnchor() ); - SwUndoDrawGroup* pUndo = !DoesUndo() + SwUndoDrawGroup *const pUndo = (!GetIDocumentUndoRedo().DoesUndo()) ? 0 - : new SwUndoDrawGroup( (USHORT)rMrkList.GetMarkCount() ); + : new SwUndoDrawGroup( (sal_uInt16)rMrkList.GetMarkCount() ); // #i53320# bool bGroupMembersNotPositioned( false ); @@ -227,7 +238,7 @@ SwDrawContact* SwDoc::GroupSelection( SdrView& rDrawView ) bGroupMembersNotPositioned = pAnchoredDrawObj->NotYetPositioned(); } //ContactObjekte und Formate vernichten. - for( USHORT i = 0; i < rMrkList.GetMarkCount(); ++i ) + for( sal_uInt16 i = 0; i < rMrkList.GetMarkCount(); ++i ) { pObj = rMrkList.GetMark( i )->GetMarkedSdrObj(); SwDrawContact *pContact = (SwDrawContact*)GetUserCall(pObj); @@ -285,14 +296,15 @@ SwDrawContact* SwDoc::GroupSelection( SdrView& rDrawView ) if( pUndo ) { pUndo->SetGroupFmt( pFmt ); - ClearRedo(); - AppendUndo( pUndo ); + GetIDocumentUndoRedo().AppendUndo( pUndo ); } } else { - if ( DoesUndo() ) - ClearRedo(); + if (GetIDocumentUndoRedo().DoesUndo()) + { + GetIDocumentUndoRedo().ClearRedo(); + } rDrawView.GroupMarked(); OSL_ENSURE( rMrkList.GetMarkCount() == 1, "GroupMarked more or none groups." ); @@ -304,9 +316,11 @@ SwDrawContact* SwDoc::GroupSelection( SdrView& rDrawView ) void SwDoc::UnGroupSelection( SdrView& rDrawView ) { - const int bUndo = DoesUndo(); + bool const bUndo = GetIDocumentUndoRedo().DoesUndo(); if( bUndo ) - ClearRedo(); + { + GetIDocumentUndoRedo().ClearRedo(); + } // replace marked 'virtual' drawing objects by the corresponding 'master' // drawing objects. @@ -323,7 +337,7 @@ void SwDoc::UnGroupSelection( SdrView& rDrawView ) { String sDrwFmtNm( String::CreateFromAscii( RTL_CONSTASCII_STRINGPARAM("DrawObject" ))); - for ( USHORT i = 0; i < nMarkCount; ++i ) + for ( sal_uInt16 i = 0; i < nMarkCount; ++i ) { SdrObject *pObj = rMrkList.GetMark( i )->GetMarkedSdrObj(); if ( pObj->IsA( TYPE(SdrObjGroup) ) ) @@ -336,10 +350,10 @@ void SwDoc::UnGroupSelection( SdrView& rDrawView ) if( bUndo ) { pUndo = new SwUndoDrawUnGroup( (SdrObjGroup*)pObj ); - AppendUndo( pUndo ); + GetIDocumentUndoRedo().AppendUndo(pUndo); } - for ( USHORT i2 = 0; i2 < pLst->GetObjCount(); ++i2 ) + for ( sal_uInt16 i2 = 0; i2 < pLst->GetObjCount(); ++i2 ) { SdrObject* pSubObj = pLst->GetObj( i2 ); SwDrawFrmFmt *pFmt = MakeDrawFrmFmt( sDrwFmtNm, @@ -366,7 +380,7 @@ void SwDoc::UnGroupSelection( SdrView& rDrawView ) if( bUndo ) { pUndo = new SwUndoDrawUnGroupConnectToLayout(); - AppendUndo( pUndo ); + GetIDocumentUndoRedo().AppendUndo(pUndo); } while ( pFmtsAndObjs[i].size() > 0 ) @@ -395,15 +409,15 @@ void SwDoc::UnGroupSelection( SdrView& rDrawView ) |* |*************************************************************************/ -BOOL SwDoc::DeleteSelection( SwDrawView& rDrawView ) +sal_Bool SwDoc::DeleteSelection( SwDrawView& rDrawView ) { - BOOL bCallBase = FALSE; + sal_Bool bCallBase = sal_False; const SdrMarkList &rMrkList = rDrawView.GetMarkedObjectList(); if( rMrkList.GetMarkCount() ) { - StartUndo(UNDO_EMPTY, NULL); - USHORT i; - BOOL bDelMarked = TRUE; + GetIDocumentUndoRedo().StartUndo(UNDO_EMPTY, NULL); + sal_uInt16 i; + sal_Bool bDelMarked = sal_True; if( 1 == rMrkList.GetMarkCount() ) { @@ -415,7 +429,7 @@ BOOL SwDoc::DeleteSelection( SwDrawView& rDrawView ) if( pFrmFmt ) { DelLayoutFmt( pFrmFmt ); - bDelMarked = FALSE; + bDelMarked = sal_False; } } } @@ -430,7 +444,7 @@ BOOL SwDoc::DeleteSelection( SwDrawView& rDrawView ) if( pFrmFmt && FLY_AS_CHAR == pFrmFmt->GetAnchor().GetAnchorId() ) { - rDrawView.MarkObj( pObj, rDrawView.Imp().GetPageView(), TRUE ); + rDrawView.MarkObj( pObj, rDrawView.Imp().GetPageView(), sal_True ); --i; DelLayoutFmt( pFrmFmt ); } @@ -442,8 +456,10 @@ BOOL SwDoc::DeleteSelection( SwDrawView& rDrawView ) SdrObject *pObj = rMrkList.GetMark( 0 )->GetMarkedSdrObj(); if( !pObj->GetUpGroup() ) { - SwUndoDrawDelete* pUndo = !DoesUndo() ? 0 - : new SwUndoDrawDelete( (USHORT)rMrkList.GetMarkCount() ); + SwUndoDrawDelete *const pUndo = + (!GetIDocumentUndoRedo().DoesUndo()) + ? 0 + : new SwUndoDrawDelete( (sal_uInt16)rMrkList.GetMarkCount() ); //ContactObjekte vernichten, Formate sicherstellen. for( i = 0; i < rMrkList.GetMarkCount(); ++i ) @@ -475,13 +491,15 @@ BOOL SwDoc::DeleteSelection( SwDrawView& rDrawView ) } if( pUndo ) - AppendUndo( pUndo ); + { + GetIDocumentUndoRedo().AppendUndo( pUndo ); + } } - bCallBase = TRUE; + bCallBase = sal_True; } SetModified(); - EndUndo(UNDO_EMPTY, NULL); + GetIDocumentUndoRedo().EndUndo(UNDO_EMPTY, NULL); } return bCallBase; @@ -494,7 +512,7 @@ BOOL SwDoc::DeleteSelection( SwDrawView& rDrawView ) |*************************************************************************/ _ZSortFly::_ZSortFly( const SwFrmFmt* pFrmFmt, const SwFmtAnchor* pFlyAn, - UINT32 nArrOrdNum ) + sal_uInt32 nArrOrdNum ) : pFmt( pFrmFmt ), pAnchor( pFlyAn ), nOrdNum( nArrOrdNum ) { // #i11176# @@ -563,7 +581,7 @@ void SwDoc::InitDrawModel() pSdrPool->SetPoolDefaultItem(SdrShadowXDistItem((300 * 72) / 127)); pSdrPool->SetPoolDefaultItem(SdrShadowYDistItem((300 * 72) / 127)); } - SfxItemPool *pEEgPool = EditEngine::CreatePool( FALSE ); + SfxItemPool *pEEgPool = EditEngine::CreatePool( sal_False ); pSdrPool->SetSecondaryPool( pEEgPool ); if ( !GetAttrPool().GetFrozenIdRanges () ) GetAttrPool().FreezeIdRanges(); @@ -578,7 +596,7 @@ void SwDoc::InitDrawModel() //Seite. pDrawModel = new SwDrawDocument( this ); - pDrawModel->EnableUndo( DoesUndo() ); + pDrawModel->EnableUndo( GetIDocumentUndoRedo().DoesUndo() ); String sLayerNm; sLayerNm.AssignAscii(RTL_CONSTASCII_STRINGPARAM("Hell" )); @@ -602,7 +620,7 @@ void SwDoc::InitDrawModel() nInvisibleControls = pDrawModel->GetLayerAdmin().NewLayer( sLayerNm )->GetID(); } - pDrawModel->InsertPage( pDrawModel->AllocPage( FALSE ) ); + pDrawModel->InsertPage( pDrawModel->AllocPage( sal_False ) ); RTL_LOGFILE_CONTEXT_TRACE( aLog, "after create DrawDocument" ); RTL_LOGFILE_CONTEXT_TRACE( aLog, "before create Spellchecker/Hyphenator" ); @@ -639,13 +657,13 @@ void SwDoc::NotifyInvisibleLayers( SdrPageView& _rSdrPageView ) { String sLayerNm; sLayerNm.AssignAscii(RTL_CONSTASCII_STRINGPARAM("InvisibleHell" )); - _rSdrPageView.SetLayerVisible( sLayerNm, FALSE ); + _rSdrPageView.SetLayerVisible( sLayerNm, sal_False ); sLayerNm.AssignAscii(RTL_CONSTASCII_STRINGPARAM("InvisibleHeaven" )); - _rSdrPageView.SetLayerVisible( sLayerNm, FALSE ); + _rSdrPageView.SetLayerVisible( sLayerNm, sal_False ); sLayerNm.AssignAscii(RTL_CONSTASCII_STRINGPARAM("InvisibleControls" )); - _rSdrPageView.SetLayerVisible( sLayerNm, FALSE ); + _rSdrPageView.SetLayerVisible( sLayerNm, sal_False ); } /** method to determine, if a layer ID belongs to the visible ones. @@ -839,7 +857,7 @@ IMPL_LINK(SwDoc, CalcFieldValueHdl, EditFieldInfo*, pInfo) ******************************************************************/ pInfo->SetRepresentation( ((const SvxDateField*) pField)->GetFormatted( - *GetNumberFormatter( TRUE ), LANGUAGE_SYSTEM) ); + *GetNumberFormatter( sal_True ), LANGUAGE_SYSTEM) ); } else if (pField && pField->ISA(SvxURLField)) { @@ -865,7 +883,7 @@ IMPL_LINK(SwDoc, CalcFieldValueHdl, EditFieldInfo*, pInfo) break; } - USHORT nChrFmt; + sal_uInt16 nChrFmt; if (IsVisitedURL(((const SvxURLField*)pField)->GetURL())) nChrFmt = RES_POOLCHR_INET_VISIT; @@ -894,7 +912,7 @@ IMPL_LINK(SwDoc, CalcFieldValueHdl, EditFieldInfo*, pInfo) ******************************************************************/ pInfo->SetRepresentation( ((const SvxExtTimeField*) pField)->GetFormatted( - *GetNumberFormatter( TRUE ), LANGUAGE_SYSTEM) ); + *GetNumberFormatter( sal_True ), LANGUAGE_SYSTEM) ); } else { |