Browse Source

Cleanup in BaseConverter.cs

pull/2/head
peterforstmeier 15 years ago
parent
commit
d724ce4a2b
  1. 50
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs
  2. 33
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs
  3. 40
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs
  4. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/TableConverter.cs

50
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs

@ -53,7 +53,6 @@ namespace ICSharpCode.Reports.Core.Exporter
} }
#region PageBreak #region PageBreak
protected void BuildNewPage(ExporterCollection myList,BaseSection section) protected void BuildNewPage(ExporterCollection myList,BaseSection section)
@ -69,6 +68,7 @@ namespace ICSharpCode.Reports.Core.Exporter
EventHelper.Raise<NewPageEventArgs>(PageFull,this,new NewPageEventArgs(items)); EventHelper.Raise<NewPageEventArgs>(PageFull,this,new NewPageEventArgs(items));
} }
#endregion #endregion
@ -105,6 +105,17 @@ namespace ICSharpCode.Reports.Core.Exporter
} }
#region Grouping
protected Point ConvertGroupChilds(ExporterCollection mylist, BaseSection section, ISimpleContainer simpleContainer, int defaultLeftPos, Point currentPosition)
{
PrepareContainerForConverting(section,simpleContainer);
Point curPos = BaseConverter.BaseConvert(mylist,simpleContainer,defaultLeftPos,currentPosition);
AfterConverting (mylist);
return curPos;
}
#endregion
#region IBaseConverter #region IBaseConverter
@ -140,6 +151,8 @@ namespace ICSharpCode.Reports.Core.Exporter
public Graphics Graphics {get;set;} public Graphics Graphics {get;set;}
#endregion #endregion
protected void SaveSize(Size size) protected void SaveSize(Size size)
{ {
this.saveSize = size; this.saveSize = size;
@ -158,13 +171,6 @@ namespace ICSharpCode.Reports.Core.Exporter
} }
protected void FillRow (ISimpleContainer row)
{
DataNavigator.Fill(row.Items);
}
protected void PrepareContainerForConverting(BaseSection section,ISimpleContainer simpleContainer) protected void PrepareContainerForConverting(BaseSection section,ISimpleContainer simpleContainer)
{ {
if (section != null) { if (section != null) {
@ -174,9 +180,21 @@ namespace ICSharpCode.Reports.Core.Exporter
} }
private void LayoutRow (ISimpleContainer row) protected void AfterConverting (ExporterCollection convertedList)
{ {
PrintHelper.SetLayoutForRow(Graphics,Layouter,row); StandardPrinter.EvaluateRow(Evaluator,convertedList);
// section.Items[0].Size = base.RestoreSize;
// section.SectionOffset += section.Size.Height + 3 * GlobalValues.GapBetweenContainer;
}
protected Point ConvertStandardRow(ExporterCollection mylist, BaseSection section, ISimpleContainer simpleContainer, int defaultLeftPos, Point currentPosition)
{
FillRow(simpleContainer);
PrepareContainerForConverting(section,simpleContainer);
Point curPos = BaseConverter.BaseConvert(mylist,simpleContainer,defaultLeftPos,currentPosition);
AfterConverting (mylist);
return curPos;
} }
@ -186,5 +204,17 @@ namespace ICSharpCode.Reports.Core.Exporter
myList.AddRange(ml); myList.AddRange(ml);
return new Point (leftPos,curPos.Y + container.Size.Height + (3 *GlobalValues.GapBetweenContainer)); return new Point (leftPos,curPos.Y + container.Size.Height + (3 *GlobalValues.GapBetweenContainer));
} }
private void FillRow (ISimpleContainer row)
{
DataNavigator.Fill(row.Items);
}
private void LayoutRow (ISimpleContainer row)
{
PrintHelper.SetLayoutForRow(Graphics,Layouter,row);
}
} }
} }

33
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedRowConverter.cs

@ -22,7 +22,7 @@ namespace ICSharpCode.Reports.Core.Exporter
private BaseReportItem parent; private BaseReportItem parent;
public GroupedRowConverter(IDataNavigator dataNavigator, public GroupedRowConverter(IDataNavigator dataNavigator,
ExporterPage singlePage, ILayouter layouter):base(dataNavigator,singlePage,layouter) ExporterPage singlePage, ILayouter layouter):base(dataNavigator,singlePage,layouter)
{ {
} }
@ -45,7 +45,7 @@ namespace ICSharpCode.Reports.Core.Exporter
ExporterCollection myList = new ExporterCollection(); ExporterCollection myList = new ExporterCollection();
BaseConverter.BaseConvert (myList,simpleContainer,parent.Location.X, BaseConverter.BaseConvert (myList,simpleContainer,parent.Location.X,
new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y)); new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y));
return myList; return myList;
} else { } else {
@ -173,7 +173,7 @@ namespace ICSharpCode.Reports.Core.Exporter
StandardPrinter.EvaluateRow(base.Evaluator,list); StandardPrinter.EvaluateRow(base.Evaluator,list);
exportList.AddRange(list); exportList.AddRange(list);
AfterConverting (section,list); AfterConverting (list);
retVal = new Point (leftPos,offset.Y + groupCollection[0].Size.Height + 20 + (3 *GlobalValues.GapBetweenContainer)); retVal = new Point (leftPos,offset.Y + groupCollection[0].Size.Height + 20 + (3 *GlobalValues.GapBetweenContainer));
} else { } else {
retVal = ConvertStandardRow(exportList,section,groupedRow[0],leftPos,offset); retVal = ConvertStandardRow(exportList,section,groupedRow[0],leftPos,offset);
@ -182,33 +182,6 @@ namespace ICSharpCode.Reports.Core.Exporter
} }
private Point ConvertGroupChilds(ExporterCollection mylist, BaseSection section, ISimpleContainer simpleContainer, int defaultLeftPos, Point currentPosition)
{
PrepareContainerForConverting(section,simpleContainer);
Point curPos = BaseConverter.BaseConvert(mylist,simpleContainer,defaultLeftPos,currentPosition);
AfterConverting (section,mylist);
return curPos;
}
private Point ConvertStandardRow(ExporterCollection mylist, BaseSection section, ISimpleContainer simpleContainer, int defaultLeftPos, Point currentPosition)
{
base.FillRow(simpleContainer);
PrepareContainerForConverting(section,simpleContainer);
Point curPos = BaseConverter.BaseConvert(mylist,simpleContainer,defaultLeftPos,currentPosition);
AfterConverting (section,mylist);
return curPos;
}
private void AfterConverting (BaseSection section,ExporterCollection mylist)
{
StandardPrinter.EvaluateRow(base.Evaluator,mylist);
section.Items[0].Size = base.RestoreSize;
section.SectionOffset += section.Size.Height + 3 * GlobalValues.GapBetweenContainer;
}
private static void ShouldDrawBorder (BaseSection section,ExporterCollection list) private static void ShouldDrawBorder (BaseSection section,ExporterCollection list)
{ {
if (section.DrawBorder == true) { if (section.DrawBorder == true) {

40
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/GroupedTableConverter.cs

@ -46,6 +46,8 @@ namespace ICSharpCode.Reports.Core.Exporter
private ExporterCollection ConvertInternal(ExporterCollection exporterCollection) private ExporterCollection ConvertInternal(ExporterCollection exporterCollection)
{ {
BaseSection section = table.Parent as BaseSection;
Point currentPosition = new Point(PrintHelper.DrawingAreaRelativeToParent(this.table.Parent,this.table).Location.X, Point currentPosition = new Point(PrintHelper.DrawingAreaRelativeToParent(this.table.Parent,this.table).Location.X,
base.SectionBounds.DetailStart.Y); base.SectionBounds.DetailStart.Y);
@ -89,7 +91,7 @@ namespace ICSharpCode.Reports.Core.Exporter
base.Evaluator.SinglePage.IDataNavigator = childNavigator; base.Evaluator.SinglePage.IDataNavigator = childNavigator;
// Convert Grouping Header // Convert Grouping Header
currentPosition = ConvertGroupHeader(exporterCollection,(BaseSection)table.Parent,defaultLeftPos,currentPosition); currentPosition = ConvertGroupHeader(exporterCollection,section,defaultLeftPos,currentPosition);
childNavigator.Reset(); childNavigator.Reset();
childNavigator.MoveNext(); childNavigator.MoveNext();
@ -103,7 +105,8 @@ namespace ICSharpCode.Reports.Core.Exporter
childNavigator.Fill(simpleContainer.Items); childNavigator.Fill(simpleContainer.Items);
currentPosition = ConvertGroupChilds (exporterCollection,(BaseSection)table.Parent, currentPosition = ConvertGroupChilds (exporterCollection,
section,
simpleContainer,defaultLeftPos,currentPosition); simpleContainer,defaultLeftPos,currentPosition);
} }
@ -119,14 +122,11 @@ namespace ICSharpCode.Reports.Core.Exporter
{ {
// No Grouping at all // No Grouping at all
// DataRegion
base.SaveSize(simpleContainer.Size); base.SaveSize(simpleContainer.Size);
simpleContainer = table.Items[1] as ISimpleContainer; simpleContainer = table.Items[1] as ISimpleContainer;
do { do {
//
BaseSection section = this.table.Parent as BaseSection;
PrintHelper.AdjustSectionLocation(section); PrintHelper.AdjustSectionLocation(section);
pageBreakRect = PrintHelper.CalculatePageBreakRectangle((BaseReportItem)simpleContainer,currentPosition); pageBreakRect = PrintHelper.CalculatePageBreakRectangle((BaseReportItem)simpleContainer,currentPosition);
@ -160,6 +160,7 @@ namespace ICSharpCode.Reports.Core.Exporter
//Copy from GroupedRow //Copy from GroupedRow
private Point ConvertGroupHeader(ExporterCollection exportList,BaseSection section,int leftPos,Point offset) private Point ConvertGroupHeader(ExporterCollection exportList,BaseSection section,int leftPos,Point offset)
{ {
var retVal = Point.Empty; var retVal = Point.Empty;
@ -176,7 +177,7 @@ namespace ICSharpCode.Reports.Core.Exporter
StandardPrinter.EvaluateRow(base.Evaluator,list); StandardPrinter.EvaluateRow(base.Evaluator,list);
exportList.AddRange(list); exportList.AddRange(list);
AfterConverting (section,list); AfterConverting (list);
retVal = new Point (leftPos,offset.Y + groupCollection[0].Size.Height + 20 + (3 *GlobalValues.GapBetweenContainer)); retVal = new Point (leftPos,offset.Y + groupCollection[0].Size.Height + 20 + (3 *GlobalValues.GapBetweenContainer));
} else { } else {
retVal = ConvertStandardRow(exportList,section,groupedRow[0],leftPos,offset); retVal = ConvertStandardRow(exportList,section,groupedRow[0],leftPos,offset);
@ -184,31 +185,6 @@ namespace ICSharpCode.Reports.Core.Exporter
return retVal; return retVal;
} }
private Point ConvertGroupChilds(ExporterCollection mylist, BaseSection section, ISimpleContainer simpleContainer, int defaultLeftPos, Point currentPosition)
{
PrepareContainerForConverting(section,simpleContainer);
Point curPos = BaseConverter.BaseConvert(mylist,simpleContainer,defaultLeftPos,currentPosition);
AfterConverting (section,mylist);
return curPos;
}
private void AfterConverting (BaseSection section,ExporterCollection mylist)
{
Console.WriteLine("AfterConverting");
StandardPrinter.EvaluateRow(base.Evaluator,mylist);
// section.Items[0].Size = base.RestoreSize;
// section.SectionOffset += section.Size.Height + 3 * GlobalValues.GapBetweenContainer;
}
private Point ConvertStandardRow(ExporterCollection mylist, BaseSection section, ISimpleContainer simpleContainer, int defaultLeftPos, Point currentPosition)
{
base.FillRow(simpleContainer);
PrepareContainerForConverting(section,simpleContainer);
Point curPos = BaseConverter.BaseConvert(mylist,simpleContainer,defaultLeftPos,currentPosition);
AfterConverting (section,mylist);
return curPos;
}
} }
} }

4
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/TableConverter.cs

@ -78,7 +78,7 @@ namespace ICSharpCode.Reports.Core.Exporter
BaseSection section = this.baseTable.Parent as BaseSection; BaseSection section = this.baseTable.Parent as BaseSection;
PrintHelper.AdjustSectionLocation(section); PrintHelper.AdjustSectionLocation(section);
base.FillRow(simpleContainer); // base.FillRow(simpleContainer);
StandardPrinter.EvaluateRow(base.Evaluator,mylist); StandardPrinter.EvaluateRow(base.Evaluator,mylist);
@ -154,7 +154,7 @@ namespace ICSharpCode.Reports.Core.Exporter
BaseSection section = this.baseTable.Parent as BaseSection; BaseSection section = this.baseTable.Parent as BaseSection;
PrintHelper.AdjustSectionLocation(section); PrintHelper.AdjustSectionLocation(section);
base.FillRow(simpleContainer); // base.FillRow(simpleContainer);
StandardPrinter.EvaluateRow(base.Evaluator,mylist); StandardPrinter.EvaluateRow(base.Evaluator,mylist);

Loading…
Cancel
Save