printfun.cxx (3ce8cab8) printfun.cxx (d636f962)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 176 unchanged lines hidden (view full) ---

185 SfxPrinter* pDocPrinter = pDoc->GetPrinter(); // auch fuer Preview den Drucker nehmen
186 if (pDocPrinter)
187 aOldPrinterMode = pDocPrinter->GetMapMode();
188
189 // einheitlicher MapMode ueber alle Aufrufe (z.B. Repaint !!!),
190 // weil die EditEngine sonst unterschiedliche Texthoehen liefert
191 pDev->SetMapMode(MAP_PIXEL);
192
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 176 unchanged lines hidden (view full) ---

185 SfxPrinter* pDocPrinter = pDoc->GetPrinter(); // auch fuer Preview den Drucker nehmen
186 if (pDocPrinter)
187 aOldPrinterMode = pDocPrinter->GetMapMode();
188
189 // einheitlicher MapMode ueber alle Aufrufe (z.B. Repaint !!!),
190 // weil die EditEngine sonst unterschiedliche Texthoehen liefert
191 pDev->SetMapMode(MAP_PIXEL);
192
193 pPageEndX = NULL;
194 pPageEndY = NULL;
195 pPageRows = NULL;
196 pBorderItem = NULL;
197 pBackgroundItem = NULL;
198 pShadowItem = NULL;
199
200 pEditEngine = NULL;
201 pEditDefaults = NULL;
202
203 ScStyleSheetPool* pStylePool = pDoc->GetStyleSheetPool();

--- 122 unchanged lines hidden (view full) ---

326{
327 if (pPageData)
328 {
329 sal_uInt16 nCount = sal::static_int_cast<sal_uInt16>( pPageData->GetCount() );
330 ScPrintRangeData& rData = pPageData->GetData(nCount); // hochzaehlen
331
332 rData.SetPrintRange( ScRange( nStartCol, nStartRow, nPrintTab,
333 nEndCol, nEndRow, nPrintTab ) );
193 pBorderItem = NULL;
194 pBackgroundItem = NULL;
195 pShadowItem = NULL;
196
197 pEditEngine = NULL;
198 pEditDefaults = NULL;
199
200 ScStyleSheetPool* pStylePool = pDoc->GetStyleSheetPool();

--- 122 unchanged lines hidden (view full) ---

323{
324 if (pPageData)
325 {
326 sal_uInt16 nCount = sal::static_int_cast<sal_uInt16>( pPageData->GetCount() );
327 ScPrintRangeData& rData = pPageData->GetData(nCount); // hochzaehlen
328
329 rData.SetPrintRange( ScRange( nStartCol, nStartRow, nPrintTab,
330 nEndCol, nEndRow, nPrintTab ) );
334 rData.SetPagesX( nPagesX, pPageEndX );
335 rData.SetPagesY( nTotalY, pPageEndY );
331 // #123672#
332 if(maPageEndX.empty())
333 {
334 OSL_ENSURE(false, "vector access error for maPageEndX (!)");
335 }
336 else
337 {
338 rData.SetPagesX( nPagesX, &maPageEndX[0]);
339 }
336
340
341 // #123672#
342 if(maPageEndY.empty())
343 {
344 OSL_ENSURE(false, "vector access error for maPageEndY (!)");
345 }
346 else
347 {
348 rData.SetPagesY( nTotalY, &maPageEndY[0]);
349 }
350
337 // Einstellungen
338 rData.SetTopDown( aTableParam.bTopDown );
339 rData.SetAutomatic( !aAreaParam.bPrintArea );
340 }
341}
342
343ScPrintFunc::~ScPrintFunc()
344{
345 ScAddress* pTripel = (ScAddress*) aNotePosList.First();
346 while (pTripel)
347 {
348 delete pTripel;
349 pTripel = (ScAddress*) aNotePosList.Next();
350 }
351 aNotePosList.Clear();
352
351 // Einstellungen
352 rData.SetTopDown( aTableParam.bTopDown );
353 rData.SetAutomatic( !aAreaParam.bPrintArea );
354 }
355}
356
357ScPrintFunc::~ScPrintFunc()
358{
359 ScAddress* pTripel = (ScAddress*) aNotePosList.First();
360 while (pTripel)
361 {
362 delete pTripel;
363 pTripel = (ScAddress*) aNotePosList.Next();
364 }
365 aNotePosList.Clear();
366
353 delete[] pPageEndX;
354 delete[] pPageEndY;
355 delete[] pPageRows;
356 delete pEditDefaults;
357 delete pEditEngine;
358
359 // Druckereinstellungen werden jetzt von aussen wiederhergestellt
360
361 // #64294# Fuer DrawingLayer/Charts muss der MapMode am Drucker (RefDevice) immer stimmen
362 SfxPrinter* pDocPrinter = pDoc->GetPrinter(); // auch fuer Preview den Drucker nehmen
363 if (pDocPrinter)

--- 2122 unchanged lines hidden (view full) ---

2486 if (bMultiArea)
2487 {
2488 sal_uInt16 nRCount = pDoc->GetPrintRangeCount( nPrintTab );
2489 for (sal_uInt16 i=0; i<nRCount; i++)
2490 {
2491 CalcZoom(i);
2492 if ( aTableParam.bSkipEmpty )
2493 for (nY=0; nY<nPagesY; nY++)
367 delete pEditDefaults;
368 delete pEditEngine;
369
370 // Druckereinstellungen werden jetzt von aussen wiederhergestellt
371
372 // #64294# Fuer DrawingLayer/Charts muss der MapMode am Drucker (RefDevice) immer stimmen
373 SfxPrinter* pDocPrinter = pDoc->GetPrinter(); // auch fuer Preview den Drucker nehmen
374 if (pDocPrinter)

--- 2122 unchanged lines hidden (view full) ---

2497 if (bMultiArea)
2498 {
2499 sal_uInt16 nRCount = pDoc->GetPrintRangeCount( nPrintTab );
2500 for (sal_uInt16 i=0; i<nRCount; i++)
2501 {
2502 CalcZoom(i);
2503 if ( aTableParam.bSkipEmpty )
2504 for (nY=0; nY<nPagesY; nY++)
2494 nPages += pPageRows[nY].CountVisible();
2505 {
2506 OSL_ENSURE(nY < maPageRows.size(), "vector access error for maPageRows (!)");
2507 nPages += maPageRows[nY].CountVisible();
2508 }
2495 else
2496 nPages += ((long) nPagesX) * nPagesY;
2497 if ( pPageData )
2498 FillPageData();
2499 }
2500 }
2501 else
2502 {
2503 CalcZoom(RANGENO_NORANGE); // Zoom berechnen
2504 if ( aTableParam.bSkipEmpty )
2505 for (nY=0; nY<nPagesY; nY++)
2509 else
2510 nPages += ((long) nPagesX) * nPagesY;
2511 if ( pPageData )
2512 FillPageData();
2513 }
2514 }
2515 else
2516 {
2517 CalcZoom(RANGENO_NORANGE); // Zoom berechnen
2518 if ( aTableParam.bSkipEmpty )
2519 for (nY=0; nY<nPagesY; nY++)
2506 nPages += pPageRows[nY].CountVisible();
2520 {
2521 OSL_ENSURE(nY < maPageRows.size(), "vector access error for maPageRows (!)");
2522 nPages += maPageRows[nY].CountVisible();
2523 }
2507 else
2508 nPages += ((long) nPagesX) * nPagesY;
2509 if ( pPageData )
2510 FillPageData();
2511 }
2512 return nPages;
2513 }
2514 else

--- 191 unchanged lines hidden (view full) ---

2706 size_t nCountX;
2707 size_t nCountY;
2708
2709 if (aTableParam.bTopDown) // von oben nach unten
2710 {
2711 nX1 = nStartCol;
2712 for (nCountX=0; nCountX<nPagesX; nCountX++)
2713 {
2524 else
2525 nPages += ((long) nPagesX) * nPagesY;
2526 if ( pPageData )
2527 FillPageData();
2528 }
2529 return nPages;
2530 }
2531 else

--- 191 unchanged lines hidden (view full) ---

2723 size_t nCountX;
2724 size_t nCountY;
2725
2726 if (aTableParam.bTopDown) // von oben nach unten
2727 {
2728 nX1 = nStartCol;
2729 for (nCountX=0; nCountX<nPagesX; nCountX++)
2730 {
2714 nX2 = pPageEndX[nCountX];
2731 OSL_ENSURE(nCountX < maPageEndX.size(), "vector access error for maPageEndX (!)");
2732 nX2 = maPageEndX[nCountX];
2715 for (nCountY=0; nCountY<nPagesY; nCountY++)
2716 {
2733 for (nCountY=0; nCountY<nPagesY; nCountY++)
2734 {
2717 nY1 = pPageRows[nCountY].GetStartRow();
2718 nY2 = pPageRows[nCountY].GetEndRow();
2719 if ( !aTableParam.bSkipEmpty || !pPageRows[nCountY].IsHidden(nCountX) )
2735 OSL_ENSURE(nCountY < maPageRows.size(), "vector access error for maPageRows (!)");
2736 nY1 = maPageRows[nCountY].GetStartRow();
2737 nY2 = maPageRows[nCountY].GetEndRow();
2738 if ( !aTableParam.bSkipEmpty || !maPageRows[nCountY].IsHidden(nCountX) )
2720 {
2721 if ( rPageRanges.IsSelected( nPageNo+nStartPage+1 ) )
2722 {
2723 PrintPage( nPageNo+nDisplayStart, nX1, nY1, nX2, nY2,
2724 bDoPrint, pLocationData );
2725 ++nPrinted;
2726 }
2727 ++nPageNo;
2728 }
2729 }
2730 nX1 = nX2 + 1;
2731 }
2732 }
2733 else // von links nach rechts
2734 {
2735 for (nCountY=0; nCountY<nPagesY; nCountY++)
2736 {
2739 {
2740 if ( rPageRanges.IsSelected( nPageNo+nStartPage+1 ) )
2741 {
2742 PrintPage( nPageNo+nDisplayStart, nX1, nY1, nX2, nY2,
2743 bDoPrint, pLocationData );
2744 ++nPrinted;
2745 }
2746 ++nPageNo;
2747 }
2748 }
2749 nX1 = nX2 + 1;
2750 }
2751 }
2752 else // von links nach rechts
2753 {
2754 for (nCountY=0; nCountY<nPagesY; nCountY++)
2755 {
2737 nY1 = pPageRows[nCountY].GetStartRow();
2738 nY2 = pPageRows[nCountY].GetEndRow();
2756 OSL_ENSURE(nCountY < maPageRows.size(), "vector access error for maPageRows (!)");
2757 nY1 = maPageRows[nCountY].GetStartRow();
2758 nY2 = maPageRows[nCountY].GetEndRow();
2739 nX1 = nStartCol;
2740 for (nCountX=0; nCountX<nPagesX; nCountX++)
2741 {
2759 nX1 = nStartCol;
2760 for (nCountX=0; nCountX<nPagesX; nCountX++)
2761 {
2742 nX2 = pPageEndX[nCountX];
2743 if ( !aTableParam.bSkipEmpty || !pPageRows[nCountY].IsHidden(nCountX) )
2762 OSL_ENSURE(nCountX < maPageEndX.size(), "vector access error for maPageEndX (!)");
2763 nX2 = maPageEndX[nCountX];
2764 if ( !aTableParam.bSkipEmpty || !maPageRows[nCountY].IsHidden(nCountX) )
2744 {
2745 if ( rPageRanges.IsSelected( nPageNo+nStartPage+1 ) )
2746 {
2747 PrintPage( nPageNo+nDisplayStart, nX1, nY1, nX2, nY2,
2748 bDoPrint, pLocationData );
2749 ++nPrinted;
2750 }
2751 ++nPageNo;

--- 204 unchanged lines hidden (view full) ---

2956}
2957
2958void ScPrintFunc::ResetBreaks( SCTAB nTab ) // Breaks fuer Anzeige richtig setzen
2959{
2960 pDoc->SetPageSize( nTab, GetDocPageSize() );
2961 pDoc->UpdatePageBreaks( nTab, NULL );
2962}
2963
2765 {
2766 if ( rPageRanges.IsSelected( nPageNo+nStartPage+1 ) )
2767 {
2768 PrintPage( nPageNo+nDisplayStart, nX1, nY1, nX2, nY2,
2769 bDoPrint, pLocationData );
2770 ++nPrinted;
2771 }
2772 ++nPageNo;

--- 204 unchanged lines hidden (view full) ---

2977}
2978
2979void ScPrintFunc::ResetBreaks( SCTAB nTab ) // Breaks fuer Anzeige richtig setzen
2980{
2981 pDoc->SetPageSize( nTab, GetDocPageSize() );
2982 pDoc->UpdatePageBreaks( nTab, NULL );
2983}
2984
2964void lcl_SetHidden( ScDocument* pDoc, SCTAB nPrintTab, ScPageRowEntry& rPageRowEntry,
2965 SCCOL nStartCol, const SCCOL* pPageEndX )
2985void lcl_SetHidden( ScDocument* pDoc, SCTAB nPrintTab, ScPageRowEntry& rPageRowEntry, SCCOL nStartCol, const std::vector< SCCOL >& aPageEndX)
2966{
2967 size_t nPagesX = rPageRowEntry.GetPagesX();
2968 SCROW nStartRow = rPageRowEntry.GetStartRow();
2969 SCROW nEndRow = rPageRowEntry.GetEndRow();
2970
2971 sal_Bool bLeftIsEmpty = sal_False;
2972 ScRange aTempRange;
2973 Rectangle aTempRect = pDoc->GetMMRect( 0,0, 0,0, 0 );
2974
2975 for (size_t i=0; i<nPagesX; i++)
2976 {
2986{
2987 size_t nPagesX = rPageRowEntry.GetPagesX();
2988 SCROW nStartRow = rPageRowEntry.GetStartRow();
2989 SCROW nEndRow = rPageRowEntry.GetEndRow();
2990
2991 sal_Bool bLeftIsEmpty = sal_False;
2992 ScRange aTempRange;
2993 Rectangle aTempRect = pDoc->GetMMRect( 0,0, 0,0, 0 );
2994
2995 for (size_t i=0; i<nPagesX; i++)
2996 {
2977 SCCOL nEndCol = pPageEndX[i];
2997 OSL_ENSURE(i < aPageEndX.size(), "vector access error for maPageEndX (!)");
2998 SCCOL nEndCol = aPageEndX[i];
2978 if ( pDoc->IsPrintEmpty( nPrintTab, nStartCol, nStartRow, nEndCol, nEndRow,
2979 bLeftIsEmpty, &aTempRange, &aTempRect ) )
2980 {
2981 rPageRowEntry.SetHidden(i);
2982 bLeftIsEmpty = sal_True;
2983 }
2984 else
2985 bLeftIsEmpty = sal_False;
2986
2987 nStartCol = nEndCol+1;
2988 }
2989}
2990
2991void ScPrintFunc::CalcPages() // berechnet aPageRect und Seiten aus nZoom
2992{
2999 if ( pDoc->IsPrintEmpty( nPrintTab, nStartCol, nStartRow, nEndCol, nEndRow,
3000 bLeftIsEmpty, &aTempRange, &aTempRect ) )
3001 {
3002 rPageRowEntry.SetHidden(i);
3003 bLeftIsEmpty = sal_True;
3004 }
3005 else
3006 bLeftIsEmpty = sal_False;
3007
3008 nStartCol = nEndCol+1;
3009 }
3010}
3011
3012void ScPrintFunc::CalcPages() // berechnet aPageRect und Seiten aus nZoom
3013{
2993 if (!pPageEndX) pPageEndX = new SCCOL[MAXCOL+1];
2994 //performance impact
2995// if (!pPageEndY) pPageEndY = new SCROW[MAXROW+1];
2996// if (!pPageRows) pPageRows = new ScPageRowEntry[MAXROW+1]; //! vorher zaehlen !!!!
3014 // #123672# use dynamic mem to react on size changes
3015 if(maPageEndX.size() < MAXCOL+1)
3016 {
3017 maPageEndX.resize(MAXCOL+1, SCCOL());
3018 }
2997
2998 pDoc->SetPageSize( nPrintTab, GetDocPageSize() );
2999 if (aAreaParam.bPrintArea)
3000 {
3001 ScRange aRange( nStartCol, nStartRow, nPrintTab, nEndCol, nEndRow, nPrintTab );
3002 pDoc->UpdatePageBreaks( nPrintTab, &aRange );
3003 }
3004 else
3019
3020 pDoc->SetPageSize( nPrintTab, GetDocPageSize() );
3021 if (aAreaParam.bPrintArea)
3022 {
3023 ScRange aRange( nStartCol, nStartRow, nPrintTab, nEndCol, nEndRow, nPrintTab );
3024 pDoc->UpdatePageBreaks( nPrintTab, &aRange );
3025 }
3026 else
3027 {
3005 pDoc->UpdatePageBreaks( nPrintTab, NULL ); // sonst wird das Ende markiert
3028 pDoc->UpdatePageBreaks( nPrintTab, NULL ); // sonst wird das Ende markiert
3006 SCROW nRealCnt = nEndRow-nStartRow+1;
3007 if (!pPageEndY) pPageEndY = new SCROW[nRealCnt+1];
3008 if (!pPageRows) pPageRows = new ScPageRowEntry[nRealCnt+1]; //! vorher zaehlen !!!!
3029 }
3030
3031 const SCROW nRealCnt = nEndRow-nStartRow+1;
3032
3033 // #123672# use dynamic mem to react on size changes
3034 if(maPageEndY.size() < nRealCnt+1)
3035 {
3036 maPageEndY.resize(nRealCnt+1, SCROW());
3037 }
3038
3039 // #123672# use dynamic mem to react on size changes
3040 if(maPageRows.size() < nRealCnt+1)
3041 {
3042 maPageRows.resize(nRealCnt+1, ScPageRowEntry());
3043 }
3044
3009 //
3010 // Seiteneinteilung nach Umbruechen in Col/RowFlags
3011 // Von mehreren Umbruechen in einem ausgeblendeten Bereich zaehlt nur einer.
3012 //
3013
3014 nPagesX = 0;
3015 nPagesY = 0;
3016 nTotalY = 0;
3017
3018 bool bVisCol = false;
3019 SCCOL nLastCol = -1;
3020 for (SCCOL i=nStartCol; i<=nEndCol; i++)
3021 {
3022 bool bHidden = pDoc->ColHidden(i, nPrintTab, nLastCol);
3023 bool bPageBreak = (pDoc->HasColBreak(i, nPrintTab) & BREAK_PAGE);
3024 if ( i>nStartCol && bVisCol && bPageBreak )
3025 {
3045 //
3046 // Seiteneinteilung nach Umbruechen in Col/RowFlags
3047 // Von mehreren Umbruechen in einem ausgeblendeten Bereich zaehlt nur einer.
3048 //
3049
3050 nPagesX = 0;
3051 nPagesY = 0;
3052 nTotalY = 0;
3053
3054 bool bVisCol = false;
3055 SCCOL nLastCol = -1;
3056 for (SCCOL i=nStartCol; i<=nEndCol; i++)
3057 {
3058 bool bHidden = pDoc->ColHidden(i, nPrintTab, nLastCol);
3059 bool bPageBreak = (pDoc->HasColBreak(i, nPrintTab) & BREAK_PAGE);
3060 if ( i>nStartCol && bVisCol && bPageBreak )
3061 {
3026 pPageEndX[nPagesX] = i-1;
3062 OSL_ENSURE(nPagesX < maPageEndX.size(), "vector access error for maPageEndX (!)");
3063 maPageEndX[nPagesX] = i-1;
3027 ++nPagesX;
3028 bVisCol = false;
3029 }
3030 if (!bHidden)
3031 bVisCol = true;
3032 }
3033 if (bVisCol) // auch am Ende keine leeren Seiten
3034 {
3064 ++nPagesX;
3065 bVisCol = false;
3066 }
3067 if (!bHidden)
3068 bVisCol = true;
3069 }
3070 if (bVisCol) // auch am Ende keine leeren Seiten
3071 {
3035 pPageEndX[nPagesX] = nEndCol;
3072 OSL_ENSURE(nPagesX < maPageEndX.size(), "vector access error for maPageEndX (!)");
3073 maPageEndX[nPagesX] = nEndCol;
3036 ++nPagesX;
3037 }
3038
3039 bool bVisRow = false;
3040 SCROW nPageStartRow = nStartRow;
3041 SCROW nLastVisibleRow = -1;
3042
3043 ::boost::scoped_ptr<ScRowBreakIterator> pRowBreakIter(pDoc->GetRowBreakIterator(nPrintTab));

--- 5 unchanged lines hidden (view full) ---

3049 for (SCROW nRow = nStartRow; nRow <= nEndRow; ++nRow)
3050 {
3051 bool bPageBreak = (nNextPageBreak == nRow);
3052 if (bPageBreak)
3053 nNextPageBreak = pRowBreakIter->next();
3054
3055 if (nRow > nStartRow && bVisRow && bPageBreak )
3056 {
3074 ++nPagesX;
3075 }
3076
3077 bool bVisRow = false;
3078 SCROW nPageStartRow = nStartRow;
3079 SCROW nLastVisibleRow = -1;
3080
3081 ::boost::scoped_ptr<ScRowBreakIterator> pRowBreakIter(pDoc->GetRowBreakIterator(nPrintTab));

--- 5 unchanged lines hidden (view full) ---

3087 for (SCROW nRow = nStartRow; nRow <= nEndRow; ++nRow)
3088 {
3089 bool bPageBreak = (nNextPageBreak == nRow);
3090 if (bPageBreak)
3091 nNextPageBreak = pRowBreakIter->next();
3092
3093 if (nRow > nStartRow && bVisRow && bPageBreak )
3094 {
3057 pPageEndY[nTotalY] = nRow-1;
3095 OSL_ENSURE(nTotalY < maPageEndY.size(), "vector access error for maPageEndY (!)");
3096 maPageEndY[nTotalY] = nRow-1;
3058 ++nTotalY;
3059
3060 if ( !aTableParam.bSkipEmpty ||
3061 !pDoc->IsPrintEmpty( nPrintTab, nStartCol, nPageStartRow, nEndCol, nRow-1 ) )
3062 {
3097 ++nTotalY;
3098
3099 if ( !aTableParam.bSkipEmpty ||
3100 !pDoc->IsPrintEmpty( nPrintTab, nStartCol, nPageStartRow, nEndCol, nRow-1 ) )
3101 {
3063 pPageRows[nPagesY].SetStartRow( nPageStartRow );
3064 pPageRows[nPagesY].SetEndRow( nRow-1 );
3065 pPageRows[nPagesY].SetPagesX( nPagesX );
3102 OSL_ENSURE(nPagesY < maPageRows.size(), "vector access error for maPageRows (!)");
3103 maPageRows[nPagesY].SetStartRow( nPageStartRow );
3104 maPageRows[nPagesY].SetEndRow( nRow-1 );
3105 maPageRows[nPagesY].SetPagesX( nPagesX );
3066 if (aTableParam.bSkipEmpty)
3106 if (aTableParam.bSkipEmpty)
3067 lcl_SetHidden( pDoc, nPrintTab, pPageRows[nPagesY], nStartCol, pPageEndX );
3107 lcl_SetHidden( pDoc, nPrintTab, maPageRows[nPagesY], nStartCol, maPageEndX );
3068 ++nPagesY;
3069 }
3070
3071 nPageStartRow = nRow;
3072 bVisRow = false;
3073 }
3074
3075 if (nRow <= nLastVisibleRow)

--- 12 unchanged lines hidden (view full) ---

3088 }
3089 else
3090 // skip all hidden rows.
3091 nRow = nLastRow;
3092 }
3093
3094 if (bVisRow)
3095 {
3108 ++nPagesY;
3109 }
3110
3111 nPageStartRow = nRow;
3112 bVisRow = false;
3113 }
3114
3115 if (nRow <= nLastVisibleRow)

--- 12 unchanged lines hidden (view full) ---

3128 }
3129 else
3130 // skip all hidden rows.
3131 nRow = nLastRow;
3132 }
3133
3134 if (bVisRow)
3135 {
3096 pPageEndY[nTotalY] = nEndRow;
3136 OSL_ENSURE(nTotalY < maPageEndY.size(), "vector access error for maPageEndY (!)");
3137 maPageEndY[nTotalY] = nEndRow;
3097 ++nTotalY;
3098
3099 if ( !aTableParam.bSkipEmpty ||
3100 !pDoc->IsPrintEmpty( nPrintTab, nStartCol, nPageStartRow, nEndCol, nEndRow ) )
3101 {
3138 ++nTotalY;
3139
3140 if ( !aTableParam.bSkipEmpty ||
3141 !pDoc->IsPrintEmpty( nPrintTab, nStartCol, nPageStartRow, nEndCol, nEndRow ) )
3142 {
3102 pPageRows[nPagesY].SetStartRow( nPageStartRow );
3103 pPageRows[nPagesY].SetEndRow( nEndRow );
3104 pPageRows[nPagesY].SetPagesX( nPagesX );
3143 OSL_ENSURE(nPagesY < maPageRows.size(), "vector access error for maPageRows (!)");
3144 maPageRows[nPagesY].SetStartRow( nPageStartRow );
3145 maPageRows[nPagesY].SetEndRow( nEndRow );
3146 maPageRows[nPagesY].SetPagesX( nPagesX );
3105 if (aTableParam.bSkipEmpty)
3147 if (aTableParam.bSkipEmpty)
3106 lcl_SetHidden( pDoc, nPrintTab, pPageRows[nPagesY], nStartCol, pPageEndX );
3148 lcl_SetHidden( pDoc, nPrintTab, maPageRows[nPagesY], nStartCol, maPageEndX );
3107 ++nPagesY;
3108 }
3109 }
3110}
3111
3112//------------------------------------------------------------------------
3113// class ScJobSetup
3114//------------------------------------------------------------------------

--- 18 unchanged lines hidden ---
3149 ++nPagesY;
3150 }
3151 }
3152}
3153
3154//------------------------------------------------------------------------
3155// class ScJobSetup
3156//------------------------------------------------------------------------

--- 18 unchanged lines hidden ---