Kaydet (Commit) 0ad8447d authored tarafından Noel Grandin's avatar Noel Grandin Kaydeden (comit) Noel Grandin

dyncolcontainer: convert nRight to std::vector

Change-Id: Ie1c081250b22d80ece3c8f5a21e9728c14d7bdb1
Reviewed-on: https://gerrit.libreoffice.org/43516Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 856df6d4
...@@ -82,7 +82,7 @@ private: ...@@ -82,7 +82,7 @@ private:
bool mbHasEmptyRangeTable:1; /// we have at least one sheet with empty print range (print range set to '- none -'). bool mbHasEmptyRangeTable:1; /// we have at least one sheet with empty print range (print range set to '- none -').
ScRange aPageArea; ScRange aPageArea;
long nRight[ MAXCOL+1 ]; std::vector<long> mvRight;
long nLeftPosition; long nLeftPosition;
long mnScale; long mnScale;
SCCOL nColNumberButttonDown; SCCOL nColNumberButttonDown;
......
...@@ -134,9 +134,6 @@ ScPreview::ScPreview( vcl::Window* pParent, ScDocShell* pDocSh, ScPreviewShell* ...@@ -134,9 +134,6 @@ ScPreview::ScPreview( vcl::Window* pParent, ScDocShell* pDocSh, ScPreviewShell*
SetHelpId( HID_SC_WIN_PREVIEW ); SetHelpId( HID_SC_WIN_PREVIEW );
SetDigitLanguage( SC_MOD()->GetOptDigitLanguage() ); SetDigitLanguage( SC_MOD()->GetOptDigitLanguage() );
for (SCCOL i=0; i<=MAXCOL; i++)
nRight[i] = 0; // initialized with actual positions when markers are drawn
} }
ScPreview::~ScPreview() ScPreview::~ScPreview()
...@@ -434,6 +431,7 @@ void ScPreview::DoPrint( ScPreviewLocationData* pFillLocation ) ...@@ -434,6 +431,7 @@ void ScPreview::DoPrint( ScPreviewLocationData* pFillLocation )
tools::Rectangle aRectCellPosition; tools::Rectangle aRectCellPosition;
tools::Rectangle aRectPosition; tools::Rectangle aRectPosition;
pLocationData->GetMainCellRange( aPageArea, aPixRect ); pLocationData->GetMainCellRange( aPageArea, aPixRect );
mvRight.resize(aPageArea.aEnd.Col()+1);
if( !bLayoutRTL ) if( !bLayoutRTL )
{ {
pLocationData->GetCellPosition( aPageArea.aStart, aRectPosition ); pLocationData->GetCellPosition( aPageArea.aStart, aRectPosition );
...@@ -441,7 +439,7 @@ void ScPreview::DoPrint( ScPreviewLocationData* pFillLocation ) ...@@ -441,7 +439,7 @@ void ScPreview::DoPrint( ScPreviewLocationData* pFillLocation )
for( SCCOL i = aPageArea.aStart.Col(); i <= aPageArea.aEnd.Col(); i++ ) for( SCCOL i = aPageArea.aStart.Col(); i <= aPageArea.aEnd.Col(); i++ )
{ {
pLocationData->GetCellPosition( ScAddress( i,aPageArea.aStart.Row(),aPageArea.aStart.Tab()),aRectCellPosition ); pLocationData->GetCellPosition( ScAddress( i,aPageArea.aStart.Row(),aPageArea.aStart.Tab()),aRectCellPosition );
nRight[i] = aRectCellPosition.Right(); mvRight[i] = aRectCellPosition.Right();
} }
} }
else else
...@@ -450,11 +448,11 @@ void ScPreview::DoPrint( ScPreviewLocationData* pFillLocation ) ...@@ -450,11 +448,11 @@ void ScPreview::DoPrint( ScPreviewLocationData* pFillLocation )
nLeftPosition = aRectPosition.Right()+1; nLeftPosition = aRectPosition.Right()+1;
pLocationData->GetCellPosition( aPageArea.aStart,aRectCellPosition ); pLocationData->GetCellPosition( aPageArea.aStart,aRectCellPosition );
nRight[ aPageArea.aEnd.Col() ] = aRectCellPosition.Left(); mvRight[ aPageArea.aEnd.Col() ] = aRectCellPosition.Left();
for( SCCOL i = aPageArea.aEnd.Col(); i > aPageArea.aStart.Col(); i-- ) for( SCCOL i = aPageArea.aEnd.Col(); i > aPageArea.aStart.Col(); i-- )
{ {
pLocationData->GetCellPosition( ScAddress( i,aPageArea.aEnd.Row(),aPageArea.aEnd.Tab()),aRectCellPosition ); pLocationData->GetCellPosition( ScAddress( i,aPageArea.aEnd.Row(),aPageArea.aEnd.Tab()),aRectCellPosition );
nRight[ i-1 ] = nRight[ i ] + aRectCellPosition.Right() - aRectCellPosition.Left() + 1; mvRight[ i-1 ] = mvRight[ i ] + aRectCellPosition.Right() - aRectCellPosition.Left() + 1;
} }
} }
} }
...@@ -565,8 +563,8 @@ void ScPreview::DoPrint( ScPreviewLocationData* pFillLocation ) ...@@ -565,8 +563,8 @@ void ScPreview::DoPrint( ScPreviewLocationData* pFillLocation )
Point aColumnTop = LogicToPixel( Point( 0, -aOffset.Y() ) ,aMMMode ); Point aColumnTop = LogicToPixel( Point( 0, -aOffset.Y() ) ,aMMMode );
SetLineColor( COL_BLACK ); SetLineColor( COL_BLACK );
SetFillColor( COL_BLACK ); SetFillColor( COL_BLACK );
DrawRect( tools::Rectangle( Point( nRight[i] - 2, aColumnTop.Y() ),Point( nRight[i] + 2 , 4 + aColumnTop.Y()) )); DrawRect( tools::Rectangle( Point( mvRight[i] - 2, aColumnTop.Y() ),Point( mvRight[i] + 2 , 4 + aColumnTop.Y()) ));
DrawLine( Point( nRight[i], aColumnTop.Y() ), Point( nRight[i], 10 + aColumnTop.Y()) ); DrawLine( Point( mvRight[i], aColumnTop.Y() ), Point( mvRight[i], 10 + aColumnTop.Y()) );
} }
SetMapMode( aMMMode ); SetMapMode( aMMMode );
} }
...@@ -1027,7 +1025,7 @@ void ScPreview::MouseButtonDown( const MouseEvent& rMEvt ) ...@@ -1027,7 +1025,7 @@ void ScPreview::MouseButtonDown( const MouseEvent& rMEvt )
SCCOL i = 0; SCCOL i = 0;
for( i = aPageArea.aStart.Col(); i<= aPageArea.aEnd.Col(); i++ ) for( i = aPageArea.aStart.Col(); i<= aPageArea.aEnd.Col(); i++ )
{ {
if( aNowPt.X() < nRight[i] + 2 && aNowPt.X() > nRight[i] - 2 ) if( aNowPt.X() < mvRight[i] + 2 && aNowPt.X() > mvRight[i] - 2 )
{ {
nColNumberButttonDown = i; nColNumberButttonDown = i;
break; break;
...@@ -1040,7 +1038,7 @@ void ScPreview::MouseButtonDown( const MouseEvent& rMEvt ) ...@@ -1040,7 +1038,7 @@ void ScPreview::MouseButtonDown( const MouseEvent& rMEvt )
if( nColNumberButttonDown == aPageArea.aStart.Col() ) if( nColNumberButttonDown == aPageArea.aStart.Col() )
DrawInvert( PixelToLogic( Point( nLeftPosition, 0 ),aMMMode ).X() ,PointerStyle::HSplit ); DrawInvert( PixelToLogic( Point( nLeftPosition, 0 ),aMMMode ).X() ,PointerStyle::HSplit );
else else
DrawInvert( PixelToLogic( Point( nRight[ nColNumberButttonDown-1 ], 0 ),aMMMode ).X() ,PointerStyle::HSplit ); DrawInvert( PixelToLogic( Point( mvRight[ nColNumberButttonDown-1 ], 0 ),aMMMode ).X() ,PointerStyle::HSplit );
DrawInvert( aButtonDownChangePoint.X(), PointerStyle::HSplit ); DrawInvert( aButtonDownChangePoint.X(), PointerStyle::HSplit );
bColRulerMove = true; bColRulerMove = true;
...@@ -1258,7 +1256,7 @@ void ScPreview::MouseButtonUp( const MouseEvent& rMEvt ) ...@@ -1258,7 +1256,7 @@ void ScPreview::MouseButtonUp( const MouseEvent& rMEvt )
if( nColNumberButttonDown == aPageArea.aStart.Col() ) if( nColNumberButttonDown == aPageArea.aStart.Col() )
DrawInvert( PixelToLogic( Point( nLeftPosition, 0 ),aMMMode ).X() ,PointerStyle::HSplit ); DrawInvert( PixelToLogic( Point( nLeftPosition, 0 ),aMMMode ).X() ,PointerStyle::HSplit );
else else
DrawInvert( PixelToLogic( Point( nRight[ nColNumberButttonDown-1 ], 0 ),aMMMode ).X() ,PointerStyle::HSplit ); DrawInvert( PixelToLogic( Point( mvRight[ nColNumberButttonDown-1 ], 0 ),aMMMode ).X() ,PointerStyle::HSplit );
DrawInvert( aButtonUpPt.X(), PointerStyle::HSplit ); DrawInvert( aButtonUpPt.X(), PointerStyle::HSplit );
} }
if( bMoveRulerAction ) if( bMoveRulerAction )
...@@ -1268,13 +1266,13 @@ void ScPreview::MouseButtonUp( const MouseEvent& rMEvt ) ...@@ -1268,13 +1266,13 @@ void ScPreview::MouseButtonUp( const MouseEvent& rMEvt )
if( !bLayoutRTL ) if( !bLayoutRTL )
{ {
nNewColWidth = (long) ( PixelToLogic( Point( rMEvt.GetPosPixel().X() - nRight[ nColNumberButttonDown ], 0), aMMMode ).X() / HMM_PER_TWIPS ) * 100 / mnScale; nNewColWidth = (long) ( PixelToLogic( Point( rMEvt.GetPosPixel().X() - mvRight[ nColNumberButttonDown ], 0), aMMMode ).X() / HMM_PER_TWIPS ) * 100 / mnScale;
nNewColWidth += pDocShell->GetDocument().GetColWidth( nColNumberButttonDown, nTab ); nNewColWidth += pDocShell->GetDocument().GetColWidth( nColNumberButttonDown, nTab );
} }
else else
{ {
nNewColWidth = (long) ( PixelToLogic( Point( nRight[ nColNumberButttonDown ] - rMEvt.GetPosPixel().X(), 0), aMMMode ).X() / HMM_PER_TWIPS ) * 100 / mnScale; nNewColWidth = (long) ( PixelToLogic( Point( mvRight[ nColNumberButttonDown ] - rMEvt.GetPosPixel().X(), 0), aMMMode ).X() / HMM_PER_TWIPS ) * 100 / mnScale;
nNewColWidth += pDocShell->GetDocument().GetColWidth( nColNumberButttonDown, nTab ); nNewColWidth += pDocShell->GetDocument().GetColWidth( nColNumberButttonDown, nTab );
} }
...@@ -1358,7 +1356,7 @@ void ScPreview::MouseMove( const MouseEvent& rMEvt ) ...@@ -1358,7 +1356,7 @@ void ScPreview::MouseMove( const MouseEvent& rMEvt )
{ {
Point aColumnTop = LogicToPixel( Point( 0, -aOffset.Y() ) ,aMMMode ); Point aColumnTop = LogicToPixel( Point( 0, -aOffset.Y() ) ,aMMMode );
Point aColumnBottom = LogicToPixel( Point( 0, (long)( nHeight * HMM_PER_TWIPS - aOffset.Y()) ), aMMMode ); Point aColumnBottom = LogicToPixel( Point( 0, (long)( nHeight * HMM_PER_TWIPS - aOffset.Y()) ), aMMMode );
if( aPixPt.X() < ( nRight[i] + 2 ) && ( aPixPt.X() > ( nRight[i] - 2 ) ) && ( aPixPt.X() < aRightTop.X() ) && ( aPixPt.X() > aLeftTop.X() ) if( aPixPt.X() < ( mvRight[i] + 2 ) && ( aPixPt.X() > ( mvRight[i] - 2 ) ) && ( aPixPt.X() < aRightTop.X() ) && ( aPixPt.X() > aLeftTop.X() )
&& ( aPixPt.Y() > aColumnTop.Y() ) && ( aPixPt.Y() < aColumnBottom.Y() ) && !bLeftRulerMove && !bRightRulerMove && ( aPixPt.Y() > aColumnTop.Y() ) && ( aPixPt.Y() < aColumnBottom.Y() ) && !bLeftRulerMove && !bRightRulerMove
&& !bTopRulerMove && !bBottomRulerMove && !bHeaderRulerMove && !bFooterRulerMove ) && !bTopRulerMove && !bBottomRulerMove && !bHeaderRulerMove && !bFooterRulerMove )
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment