summaryrefslogtreecommitdiff
path: root/editeng/source/outliner/outlvw.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'editeng/source/outliner/outlvw.cxx')
-rw-r--r--editeng/source/outliner/outlvw.cxx139
1 files changed, 68 insertions, 71 deletions
diff --git a/editeng/source/outliner/outlvw.cxx b/editeng/source/outliner/outlvw.cxx
index eb3f877fcde6..2345eaeec5a9 100644
--- a/editeng/source/outliner/outlvw.cxx
+++ b/editeng/source/outliner/outlvw.cxx
@@ -207,17 +207,21 @@ sal_Bool OutlinerView::PostKeyEvent( const KeyEvent& rKEvt, Window* pFrameWin )
if( !bSelection &&
aSel.nEndPos == pOwner->pEditEngine->GetTextLen( aSel.nEndPara ) )
{
- sal_uLong nChildren = pOwner->pParaList->GetChildCount(pPara);
+ sal_Int32 nChildren = pOwner->pParaList->GetChildCount(pPara);
if( nChildren && !pOwner->pParaList->HasVisibleChildren(pPara))
{
pOwner->UndoActionStart( OLUNDO_INSERT );
- sal_uLong nTemp = aSel.nEndPara;
+ sal_Int32 nTemp = aSel.nEndPara;
nTemp += nChildren;
nTemp++; // insert above next Non-Child
- pOwner->Insert( String(),nTemp,pPara->GetDepth());
- // Position the cursor
- ESelection aTmpSel((sal_uInt16)nTemp,0,(sal_uInt16)nTemp,0);
- pEditView->SetSelection( aTmpSel );
+ SAL_WARN_IF( nTemp < 0, "editeng", "OutlinerView::PostKeyEvent - overflow");
+ if (nTemp >= 0)
+ {
+ pOwner->Insert( String(),nTemp,pPara->GetDepth());
+ // Position the cursor
+ ESelection aTmpSel(nTemp,0,nTemp,0);
+ pEditView->SetSelection( aTmpSel );
+ }
pEditView->ShowCursor( sal_True, sal_True );
pOwner->UndoActionEnd( OLUNDO_INSERT );
bKeyProcessed = sal_True;
@@ -229,12 +233,12 @@ sal_Bool OutlinerView::PostKeyEvent( const KeyEvent& rKEvt, Window* pFrameWin )
( aSel.nEndPos == pOwner->pEditEngine->GetTextLen(aSel.nEndPara) ) )
{
pOwner->UndoActionStart( OLUNDO_INSERT );
- sal_uLong nTemp = aSel.nEndPara;
+ sal_Int32 nTemp = aSel.nEndPara;
nTemp++;
pOwner->Insert( String(), nTemp, pPara->GetDepth()+1 );
// Position the cursor
- ESelection aTmpSel((sal_uInt16)nTemp,0,(sal_uInt16)nTemp,0);
+ ESelection aTmpSel(nTemp,0,nTemp,0);
pEditView->SetSelection( aTmpSel );
pEditView->ShowCursor( sal_True, sal_True );
pOwner->UndoActionEnd( OLUNDO_INSERT );
@@ -251,10 +255,10 @@ sal_Bool OutlinerView::PostKeyEvent( const KeyEvent& rKEvt, Window* pFrameWin )
}
-sal_uLong OutlinerView::ImpCheckMousePos(const Point& rPosPix, MouseTarget& reTarget)
+sal_Int32 OutlinerView::ImpCheckMousePos(const Point& rPosPix, MouseTarget& reTarget)
{
DBG_CHKTHIS(OutlinerView,0);
- sal_uLong nPara = EE_PARA_NOT_FOUND;
+ sal_Int32 nPara = EE_PARA_NOT_FOUND;
Point aMousePosWin = pEditView->GetWindow()->PixelToLogic( rPosPix );
if( !pEditView->GetOutputArea().IsInside( aMousePosWin ) )
@@ -326,18 +330,18 @@ sal_Bool OutlinerView::MouseButtonDown( const MouseEvent& rMEvt )
pEditView->GetWindow()->SetPointer( aPointer );
MouseTarget eTarget;
- sal_uLong nPara = ImpCheckMousePos( rMEvt.GetPosPixel(), eTarget );
+ sal_Int32 nPara = ImpCheckMousePos( rMEvt.GetPosPixel(), eTarget );
if ( eTarget == MouseBullet )
{
Paragraph* pPara = pOwner->pParaList->GetParagraph( nPara );
sal_Bool bHasChildren = (pPara && pOwner->pParaList->HasChildren(pPara));
if( rMEvt.GetClicks() == 1 )
{
- sal_uLong nEndPara = nPara;
+ sal_Int32 nEndPara = nPara;
if ( bHasChildren && pOwner->pParaList->HasVisibleChildren(pPara) )
nEndPara += pOwner->pParaList->GetChildCount( pPara );
// The selection is inverted, so that EditEngine does not scroll
- ESelection aSel((sal_uInt16)nEndPara, 0xffff,(sal_uInt16)nPara, 0 );
+ ESelection aSel(nEndPara, EE_TEXTPOS_ALL, nPara, 0 );
pEditView->SetSelection( aSel );
}
else if( rMEvt.GetClicks() == 2 && bHasChildren )
@@ -383,27 +387,27 @@ void OutlinerView::ImpToggleExpand( Paragraph* pPara )
{
DBG_CHKTHIS(OutlinerView,0);
- sal_uInt16 nPara = (sal_uInt16) pOwner->pParaList->GetAbsPos( pPara );
+ sal_Int32 nPara = pOwner->pParaList->GetAbsPos( pPara );
pEditView->SetSelection( ESelection( nPara, 0, nPara, 0 ) );
ImplExpandOrCollaps( nPara, nPara, !pOwner->pParaList->HasVisibleChildren( pPara ) );
pEditView->ShowCursor();
}
-sal_uLong OutlinerView::Select( Paragraph* pParagraph, sal_Bool bSelect,
+sal_Int32 OutlinerView::Select( Paragraph* pParagraph, sal_Bool bSelect,
sal_Bool bWithChildren )
{
DBG_CHKTHIS(OutlinerView,0);
- sal_uLong nPara = pOwner->pParaList->GetAbsPos( pParagraph );
+ sal_Int32 nPara = pOwner->pParaList->GetAbsPos( pParagraph );
sal_uInt16 nEnd = 0;
if ( bSelect )
nEnd = 0xffff;
- sal_uLong nChildCount = 0;
+ sal_Int32 nChildCount = 0;
if ( bWithChildren )
nChildCount = pOwner->pParaList->GetChildCount( pParagraph );
- ESelection aSel( (sal_uInt16)nPara, 0,(sal_uInt16)(nPara+nChildCount), nEnd );
+ ESelection aSel( nPara, 0,nPara+nChildCount, nEnd );
pEditView->SetSelection( aSel );
return nChildCount+1;
}
@@ -424,7 +428,7 @@ void OutlinerView::SetAttribs( const SfxItemSet& rAttrs )
pEditView->SetAttribs( rAttrs );
// Update Bullet text
- for( sal_uInt16 nPara= aSel.nStartPara; nPara <= aSel.nEndPara; nPara++ )
+ for( sal_Int32 nPara= aSel.nStartPara; nPara <= aSel.nEndPara; nPara++ )
{
pOwner->ImplCheckNumBulletItem( nPara );
pOwner->ImplCalcBulletText( nPara, sal_False, sal_False );
@@ -452,10 +456,7 @@ ParaRange OutlinerView::ImpGetSelectedParagraphs( sal_Bool bIncludeHiddenChildre
{
Paragraph* pLast = pOwner->pParaList->GetParagraph( aParas.nEndPara );
if ( pOwner->pParaList->HasHiddenChildren( pLast ) )
- aParas.nEndPara =
- sal::static_int_cast< sal_uInt16 >(
- aParas.nEndPara +
- pOwner->pParaList->GetChildCount( pLast ) );
+ aParas.nEndPara = aParas.nEndPara + pOwner->pParaList->GetChildCount( pLast );
}
return aParas;
}
@@ -485,7 +486,7 @@ void OutlinerView::Indent( short nDiff )
sal_Int16 nMinDepth = -1; // Optimization: Not to recalculate to manny parargaphs when not really needed.
ParaRange aSel = ImpGetSelectedParagraphs( sal_True );
- for ( sal_uInt16 nPara = aSel.nStartPara; nPara <= aSel.nEndPara; nPara++ )
+ for ( sal_Int32 nPara = aSel.nStartPara; nPara <= aSel.nEndPara; nPara++ )
{
Paragraph* pPara = pOwner->pParaList->GetParagraph( nPara );
@@ -498,7 +499,7 @@ void OutlinerView::Indent( short nDiff )
if( (bPage && (nDiff == +1)) || (!bPage && (nDiff == -1) && (nOldDepth <= 0)) )
{
// Notify App
- pOwner->nDepthChangedHdlPrevDepth = (sal_Int16)nOldDepth;
+ pOwner->nDepthChangedHdlPrevDepth = nOldDepth;
pOwner->mnDepthChangeHdlPrevFlags = pPara->nFlags;
pOwner->pHdlParagraph = pPara;
@@ -562,7 +563,7 @@ void OutlinerView::Indent( short nDiff )
}
}
- pOwner->nDepthChangedHdlPrevDepth = (sal_Int16)nOldDepth;
+ pOwner->nDepthChangedHdlPrevDepth = nOldDepth;
pOwner->mnDepthChangeHdlPrevFlags = pPara->nFlags;
pOwner->pHdlParagraph = pPara;
@@ -582,8 +583,8 @@ void OutlinerView::Indent( short nDiff )
}
}
- sal_uInt16 nParas = (sal_uInt16)pOwner->pParaList->GetParagraphCount();
- for ( sal_uInt16 n = aSel.nEndPara+1; n < nParas; n++ )
+ sal_Int32 nParas = pOwner->pParaList->GetParagraphCount();
+ for ( sal_Int32 n = aSel.nEndPara+1; n < nParas; n++ )
{
Paragraph* pPara = pOwner->pParaList->GetParagraph( n );
if ( pPara->GetDepth() < nMinDepth )
@@ -633,17 +634,17 @@ void OutlinerView::Collapse()
void OutlinerView::ExpandAll()
{
DBG_CHKTHIS( OutlinerView, 0 );
- ImplExpandOrCollaps( 0, (sal_uInt16)(pOwner->pParaList->GetParagraphCount()-1), sal_True );
+ ImplExpandOrCollaps( 0, pOwner->pParaList->GetParagraphCount()-1, sal_True );
}
void OutlinerView::CollapseAll()
{
DBG_CHKTHIS(OutlinerView,0);
- ImplExpandOrCollaps( 0, (sal_uInt16)(pOwner->pParaList->GetParagraphCount()-1), sal_False );
+ ImplExpandOrCollaps( 0, pOwner->pParaList->GetParagraphCount()-1, sal_False );
}
-void OutlinerView::ImplExpandOrCollaps( sal_uInt16 nStartPara, sal_uInt16 nEndPara, sal_Bool bExpand )
+void OutlinerView::ImplExpandOrCollaps( sal_Int32 nStartPara, sal_Int32 nEndPara, sal_Bool bExpand )
{
DBG_CHKTHIS( OutlinerView, 0 );
@@ -654,7 +655,7 @@ void OutlinerView::ImplExpandOrCollaps( sal_uInt16 nStartPara, sal_uInt16 nEndPa
if( bUndo )
pOwner->UndoActionStart( bExpand ? OLUNDO_EXPAND : OLUNDO_COLLAPSE );
- for ( sal_uInt16 nPara = nStartPara; nPara <= nEndPara; nPara++ )
+ for ( sal_Int32 nPara = nStartPara; nPara <= nEndPara; nPara++ )
{
Paragraph* pPara = pOwner->pParaList->GetParagraph( nPara );
sal_Bool bDone = bExpand ? pOwner->Expand( pPara ) : pOwner->Collapse( pPara );
@@ -694,7 +695,7 @@ void OutlinerView::InsertText( const OutlinerParaObject& rParaObj )
pOwner->UndoActionStart( OLUNDO_INSERT );
pOwner->pEditEngine->SetUpdateMode( sal_False );
- sal_uLong nStart, nParaCount;
+ sal_Int32 nStart, nParaCount;
nParaCount = pOwner->pEditEngine->GetParagraphCount();
sal_uInt16 nSize = ImpInitPaste( nStart );
pEditView->InsertText( rParaObj.GetTextObject() );
@@ -734,9 +735,9 @@ void OutlinerView::PasteSpecial()
if ( pOwner->ImplGetOutlinerMode() == OUTLINERMODE_OUTLINEOBJECT )
{
- const sal_uInt16 nParaCount = pOwner->pEditEngine->GetParagraphCount();
+ const sal_Int32 nParaCount = pOwner->pEditEngine->GetParagraphCount();
- for( sal_uInt16 nPara = 0; nPara < nParaCount; nPara++ )
+ for( sal_Int32 nPara = 0; nPara < nParaCount; nPara++ )
pOwner->ImplSetLevelDependendStyleSheet( nPara );
}
@@ -752,7 +753,7 @@ void OutlinerView::CreateSelectionList (std::vector<Paragraph*> &aSelList)
ParaRange aParas = ImpGetSelectedParagraphs( sal_True );
- for ( sal_uInt16 nPara = aParas.nStartPara; nPara <= aParas.nEndPara; nPara++ )
+ for ( sal_Int32 nPara = aParas.nStartPara; nPara <= aParas.nEndPara; nPara++ )
{
Paragraph* pPara = pOwner->pParaList->GetParagraph( nPara );
aSelList.push_back(pPara);
@@ -796,29 +797,27 @@ Pointer OutlinerView::GetPointer( const Point& rPosPixel )
}
-sal_uInt16 OutlinerView::ImpInitPaste( sal_uLong& rStart )
+sal_Int32 OutlinerView::ImpInitPaste( sal_Int32& rStart )
{
DBG_CHKTHIS(OutlinerView,0);
pOwner->bPasting = sal_True;
ESelection aSelection( pEditView->GetSelection() );
aSelection.Adjust();
rStart = aSelection.nStartPara;
- sal_uInt16 nSize = aSelection.nEndPara - aSelection.nStartPara + 1;
+ sal_Int32 nSize = aSelection.nEndPara - aSelection.nStartPara + 1;
return nSize;
}
-void OutlinerView::ImpPasted( sal_uLong nStart, sal_uLong nPrevParaCount, sal_uInt16 nSize)
+void OutlinerView::ImpPasted( sal_Int32 nStart, sal_Int32 nPrevParaCount, sal_Int32 nSize)
{
DBG_CHKTHIS(OutlinerView,0);
pOwner->bPasting = sal_False;
- sal_uLong nCurParaCount = (sal_uLong)pOwner->pEditEngine->GetParagraphCount();
+ sal_Int32 nCurParaCount = pOwner->pEditEngine->GetParagraphCount();
if( nCurParaCount < nPrevParaCount )
- nSize = sal::static_int_cast< sal_uInt16 >(
- nSize - ( nPrevParaCount - nCurParaCount ) );
+ nSize = nSize - ( nPrevParaCount - nCurParaCount );
else
- nSize = sal::static_int_cast< sal_uInt16 >(
- nSize + ( nCurParaCount - nPrevParaCount ) );
+ nSize = nSize + ( nCurParaCount - nPrevParaCount );
pOwner->ImpTextPasted( nStart, nSize );
}
@@ -830,38 +829,38 @@ void OutlinerView::Command( const CommandEvent& rCEvt )
}
-void OutlinerView::SelectRange( sal_uLong nFirst, sal_uInt16 nCount )
+void OutlinerView::SelectRange( sal_Int32 nFirst, sal_Int32 nCount )
{
DBG_CHKTHIS(OutlinerView,0);
- sal_uLong nLast = nFirst+nCount;
- nCount = (sal_uInt16)pOwner->pParaList->GetParagraphCount();
+ sal_Int32 nLast = nFirst+nCount;
+ nCount = pOwner->pParaList->GetParagraphCount();
if( nLast <= nCount )
nLast = nCount - 1;
- ESelection aSel( (sal_uInt16)nFirst, 0, (sal_uInt16)nLast, 0xffff );
+ ESelection aSel( nFirst, 0, nLast, EE_TEXTPOS_ALL );
pEditView->SetSelection( aSel );
}
-sal_uInt16 OutlinerView::ImpCalcSelectedPages( sal_Bool bIncludeFirstSelected )
+sal_Int32 OutlinerView::ImpCalcSelectedPages( sal_Bool bIncludeFirstSelected )
{
DBG_CHKTHIS(OutlinerView,0);
ESelection aSel( pEditView->GetSelection() );
aSel.Adjust();
- sal_uInt16 nPages = 0;
- sal_uInt16 nFirstPage = 0xFFFF;
- sal_uInt16 nStartPara = aSel.nStartPara;
+ sal_Int32 nPages = 0;
+ sal_Int32 nFirstPage = EE_PARA_MAX_COUNT;
+ sal_Int32 nStartPara = aSel.nStartPara;
if ( !bIncludeFirstSelected )
nStartPara++; // All paragraphs after StartPara will be deleted
- for ( sal_uInt16 nPara = nStartPara; nPara <= aSel.nEndPara; nPara++ )
+ for ( sal_Int32 nPara = nStartPara; nPara <= aSel.nEndPara; nPara++ )
{
Paragraph* pPara = pOwner->pParaList->GetParagraph( nPara );
DBG_ASSERT(pPara, "ImpCalcSelectedPages: invalid Selection? ");
if( pPara->HasFlag(PARAFLAG_ISPAGE) )
{
nPages++;
- if( nFirstPage == 0xFFFF )
+ if( nFirstPage == EE_PARA_MAX_COUNT )
nFirstPage = nPara;
}
}
@@ -889,7 +888,7 @@ void OutlinerView::ToggleBullets()
sal_Int16 nDepth = -2;
- for ( sal_uInt16 nPara = aSel.nStartPara; nPara <= aSel.nEndPara; nPara++ )
+ for ( sal_Int32 nPara = aSel.nStartPara; nPara <= aSel.nEndPara; nPara++ )
{
Paragraph* pPara = pOwner->pParaList->GetParagraph( nPara );
DBG_ASSERT(pPara, "OutlinerView::ToggleBullets(), illegal selection?");
@@ -914,12 +913,11 @@ void OutlinerView::ToggleBullets()
}
}
- // #i100014#
- // It is not a good idea to substract 1 from a count and cast the result
- // to sal_uInt16 without check, if the count is 0.
- sal_uInt16 nParaCount = (sal_uInt16) (pOwner->pParaList->GetParagraphCount());
+ sal_Int32 nParaCount = pOwner->pParaList->GetParagraphCount();
pOwner->ImplCheckParagraphs( aSel.nStartPara, nParaCount );
- pOwner->pEditEngine->QuickMarkInvalid( ESelection( aSel.nStartPara, 0, nParaCount, 0 ) );
+
+ sal_Int32 nEndPara = (nParaCount > 0) ? nParaCount-1 : nParaCount;
+ pOwner->pEditEngine->QuickMarkInvalid( ESelection( aSel.nStartPara, 0, nEndPara, 0 ) );
pOwner->pEditEngine->SetUpdateMode( bUpdate );
@@ -936,7 +934,7 @@ void OutlinerView::EnableBullets()
const bool bUpdate = pOwner->pEditEngine->GetUpdateMode();
pOwner->pEditEngine->SetUpdateMode( sal_False );
- for ( sal_uInt16 nPara = aSel.nStartPara; nPara <= aSel.nEndPara; nPara++ )
+ for ( sal_Int32 nPara = aSel.nStartPara; nPara <= aSel.nEndPara; nPara++ )
{
Paragraph* pPara = pOwner->pParaList->GetParagraph( nPara );
DBG_ASSERT(pPara, "OutlinerView::ToggleBullets(), illegal selection?");
@@ -947,13 +945,12 @@ void OutlinerView::EnableBullets()
}
}
- // #i100014#
- // It is not a good idea to substract 1 from a count and cast the result
- // to sal_uInt16 without check, if the count is 0.
- sal_uInt16 nParaCount = (sal_uInt16) (pOwner->pParaList->GetParagraphCount());
+ sal_Int32 nParaCount = pOwner->pParaList->GetParagraphCount();
pOwner->ImplCheckParagraphs( aSel.nStartPara, nParaCount );
- pOwner->pEditEngine->QuickMarkInvalid( ESelection( aSel.nStartPara, 0, nParaCount, 0 ) );
+
+ sal_Int32 nEndPara = (nParaCount > 0) ? nParaCount-1 : nParaCount;
+ pOwner->pEditEngine->QuickMarkInvalid( ESelection( aSel.nStartPara, 0, nEndPara, 0 ) );
pOwner->pEditEngine->SetUpdateMode( bUpdate );
@@ -981,7 +978,7 @@ void OutlinerView::RemoveAttribs( sal_Bool bRemoveParaAttribs, sal_uInt16 nWhich
// Loop through all paragraphs and set indentation and level
ESelection aSel = pEditView->GetSelection();
aSel.Adjust();
- for ( sal_uInt16 nPara = aSel.nStartPara; nPara <= aSel.nEndPara; nPara++ )
+ for ( sal_Int32 nPara = aSel.nStartPara; nPara <= aSel.nEndPara; nPara++ )
{
Paragraph* pPara = pOwner->pParaList->GetParagraph( nPara );
pOwner->ImplInitDepth( nPara, pPara->GetDepth(), sal_False, sal_False );
@@ -1235,17 +1232,17 @@ void OutlinerView::ExecuteSpellPopup( const Point& rPosPixel, Link* pStartDlg )
sal_uLong OutlinerView::Read( SvStream& rInput, const String& rBaseURL, EETextFormat eFormat, sal_Bool bSelect, SvKeyValueIterator* pHTTPHeaderAttrs )
{
DBG_CHKTHIS(OutlinerView,0);
- sal_uInt16 nOldParaCount = pEditView->GetEditEngine()->GetParagraphCount();
+ sal_Int32 nOldParaCount = pEditView->GetEditEngine()->GetParagraphCount();
ESelection aOldSel = pEditView->GetSelection();
aOldSel.Adjust();
sal_uLong nRet = pEditView->Read( rInput, rBaseURL, eFormat, bSelect, pHTTPHeaderAttrs );
long nParaDiff = pEditView->GetEditEngine()->GetParagraphCount() - nOldParaCount;
- sal_uInt16 nChangesStart = aOldSel.nStartPara;
- sal_uInt16 nChangesEnd = sal::static_int_cast< sal_uInt16 >(nChangesStart + nParaDiff + (aOldSel.nEndPara-aOldSel.nStartPara));
+ sal_Int32 nChangesStart = aOldSel.nStartPara;
+ sal_Int32 nChangesEnd = nChangesStart + nParaDiff + (aOldSel.nEndPara-aOldSel.nStartPara);
- for ( sal_uInt16 n = nChangesStart; n <= nChangesEnd; n++ )
+ for ( sal_Int32 n = nChangesStart; n <= nChangesEnd; n++ )
{
if ( eFormat == EE_FORMAT_BIN )
{