[Igarden-commit] Garden/source/Reports RGReport.h, 1.3.2.1, 1.3.2.2 RGReport.cpp, 1.7.2.2, 1.7.2.3
Status: Beta
Brought to you by:
jlbedell
|
From: Jeffrey B. <jlb...@us...> - 2006-12-28 00:44:39
|
Update of /cvsroot/igarden/Garden/source/Reports In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv29440 Modified Files: Tag: Release_branch_v1 RGReport.h RGReport.cpp Log Message: Enable header printing Index: RGReport.h =================================================================== RCS file: /cvsroot/igarden/Garden/source/Reports/RGReport.h,v retrieving revision 1.3.2.1 retrieving revision 1.3.2.2 diff -C2 -d -r1.3.2.1 -r1.3.2.2 *** RGReport.h 17 Nov 2006 13:24:53 -0000 1.3.2.1 --- RGReport.h 28 Dec 2006 00:44:37 -0000 1.3.2.2 *************** *** 145,151 **** Point PageSize(); void CellChanged(); ! UInt32 NumPages(); ! void RangeCells(long page, UInt32 &start, UInt32 &end); ! void RecomputeCellOffsets(); Point InchesToPixels(double width, double Height); --- 145,151 ---- Point PageSize(); void CellChanged(); ! UInt32 NumPages(XGDraw &draw); ! void RangeCells(long page, XGDraw &draw, UInt32 &start, UInt32 &end); ! void RecomputeCellOffsets(XGDraw &draw); Point InchesToPixels(double width, double Height); Index: RGReport.cpp =================================================================== RCS file: /cvsroot/igarden/Garden/source/Reports/RGReport.cpp,v retrieving revision 1.7.2.2 retrieving revision 1.7.2.3 diff -C2 -d -r1.7.2.2 -r1.7.2.3 *** RGReport.cpp 19 Dec 2006 12:49:57 -0000 1.7.2.2 --- RGReport.cpp 28 Dec 2006 00:44:37 -0000 1.7.2.3 *************** *** 198,206 **** ComputeReport(); - RecomputeCellOffsets(); ! if(last == -1 || last > static_cast<short>(NumPages())) ! last = NumPages(); ! if(last < first) return; --- 198,203 ---- ComputeReport(); ! if(last != -1 && last < first) return; *************** *** 209,213 **** if(err == 0) { ! for(n = first; !abort && n <= last; n++) { err = GPrinter.StartPage(); --- 206,210 ---- if(err == 0) { ! for(n = first; !abort && (n <= last || last == -1); n++) { err = GPrinter.StartPage(); *************** *** 215,218 **** --- 212,225 ---- { XGDraw draw(&GPrinter); + + if(n == first) + { + RecomputeCellOffsets(draw); // DO while we have GPrinter, but only once + if(last == -1 || last > static_cast<short>(NumPages(draw))) + { + last = NumPages(draw); + } + } + Point res = GPrinter.Resolution(); draw.SetForeColor(RGB(0,0,0)); *************** *** 263,267 **** { draw.SetFontObject(_headerFont); ! return draw.GetLineHeight(); } --- 270,274 ---- { draw.SetFontObject(_headerFont); ! return draw.GetLineHeight() + draw.GetFontDescent(); } *************** *** 290,294 **** namePtr = reportName.c_str(); nameWidth = draw.StringWidth(namePtr, -1); ! draw.MoveTo((viewSize.h-nameWidth)/2, 0); draw.DrawString(namePtr, -1); } --- 297,301 ---- namePtr = reportName.c_str(); nameWidth = draw.StringWidth(namePtr, -1); ! draw.MoveTo((viewSize.h-nameWidth)/2, draw.GetLineHeight()); draw.DrawString(namePtr, -1); } *************** *** 310,314 **** UInt32 start, end, n; ! RangeCells((long)page, start, end); for(n = start; n < end; n++) { --- 317,321 ---- UInt32 start, end, n; ! RangeCells((long)page, draw, start, end); for(n = start; n < end; n++) { *************** *** 344,348 **** // Returns the size of the smallest cell ! void RGReport::RecomputeCellOffsets() { UInt32 n, count, page; --- 351,355 ---- // Returns the size of the smallest cell ! void RGReport::RecomputeCellOffsets(XGDraw &draw) { UInt32 n, count, page; *************** *** 355,359 **** count = _cells.Length(); offset.h = 0; ! offset.v = 0; yLargest = 0; page = 1; --- 362,366 ---- count = _cells.Length(); offset.h = 0; ! offset.v = HeaderHeight(draw); yLargest = 0; page = 1; *************** *** 370,374 **** if(offset.v + cellSize.v > viewSize.v) { ! offset.v = 0; page++; } --- 377,381 ---- if(offset.v + cellSize.v > viewSize.v) { ! offset.v = HeaderHeight(draw); page++; } *************** *** 385,389 **** } ! void RGReport::RangeCells(long page, UInt32 &start, UInt32 &end) { UInt32 n, count; --- 392,396 ---- } ! void RGReport::RangeCells(long page, XGDraw &draw, UInt32 &start, UInt32 &end) { UInt32 n, count; *************** *** 391,395 **** foundStart = false; ! RecomputeCellOffsets(); count = _cells.Length(); for(n = 0; n < count; n++) --- 398,402 ---- foundStart = false; ! RecomputeCellOffsets(draw); count = _cells.Length(); for(n = 0; n < count; n++) *************** *** 433,440 **** } ! UInt32 RGReport::NumPages() { long numCells; numCells = _cells.Length(); if(numCells >= 1) --- 440,448 ---- } ! UInt32 RGReport::NumPages(XGDraw & draw) { long numCells; + RecomputeCellOffsets(draw); numCells = _cells.Length(); if(numCells >= 1) |