Browse Source

Cleanup, rename IContainerItem to ISimpleContainer

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@5684 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Peter Forstmeier 15 years ago
parent
commit
7b29baf57b
  1. 6
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs
  2. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs
  3. 8
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs
  4. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs
  5. 4
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs
  6. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTableItem.cs
  7. 4
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs
  8. 27
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs
  9. 30
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Converters/RowConverter.cs
  10. 26
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Converters/TableConverter.cs
  11. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportItemsConverter.cs
  12. 12
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Interfaces/IContainerItem.cs
  13. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Interfaces/IExportItemsConverter.cs
  14. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Interfaces/ILayouter.cs
  15. 8
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs
  16. 2
      src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs

6
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs

@ -21,7 +21,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -21,7 +21,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
public class AbstractLayout
{
ReportModel reportModel;
IContainerItem parentItem;
ISimpleContainer parentItem;
public AbstractLayout(ReportModel reportModel)
{
@ -41,7 +41,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -41,7 +41,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
this.reportModel.ReportHeader.Items.Add(a);
}
public virtual void SetParent (IContainerItem parentItem)
public virtual void SetParent (ISimpleContainer parentItem)
{
this.parentItem = parentItem;
}
@ -188,7 +188,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -188,7 +188,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
}
}
*/
protected IContainerItem ParentItem {
protected ISimpleContainer ParentItem {
get { return parentItem; }
}

2
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/Layouter.cs

@ -22,7 +22,7 @@ namespace ICSharpCode.Reports.Core @@ -22,7 +22,7 @@ namespace ICSharpCode.Reports.Core
public class Layouter:ILayouter
{
public Rectangle Layout(Graphics graphics,IContainerItem container)
public Rectangle Layout(Graphics graphics,ISimpleContainer container)
{
if (graphics == null) {
throw new ArgumentNullException("graphics");

8
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs

@ -24,7 +24,7 @@ namespace ICSharpCode.Reports.Core @@ -24,7 +24,7 @@ namespace ICSharpCode.Reports.Core
#region Layout
public static void SetLayoutForRow (Graphics graphics, ILayouter layouter,IContainerItem row)
public static void SetLayoutForRow (Graphics graphics, ILayouter layouter,ISimpleContainer row)
{
BaseReportItem item = row as BaseReportItem;
int extend = item.Size.Height - row.Items[0].Size.Height;
@ -42,7 +42,7 @@ namespace ICSharpCode.Reports.Core @@ -42,7 +42,7 @@ namespace ICSharpCode.Reports.Core
{
foreach (BaseReportItem i in items) {
i.Parent = parent;
IContainerItem ic = i as IContainerItem;
ISimpleContainer ic = i as ISimpleContainer;
if (ic != null) {
AdjustParentInternal(ic.Items,i);
} else {
@ -62,7 +62,7 @@ namespace ICSharpCode.Reports.Core @@ -62,7 +62,7 @@ namespace ICSharpCode.Reports.Core
#endregion
public static Rectangle DrawingAreaRelativeToParent (BaseReportItem parent,IContainerItem item)
public static Rectangle DrawingAreaRelativeToParent (BaseReportItem parent,ISimpleContainer item)
{
if ( parent == null) {
throw new ArgumentNullException("parent");
@ -175,7 +175,7 @@ namespace ICSharpCode.Reports.Core @@ -175,7 +175,7 @@ namespace ICSharpCode.Reports.Core
Console.WriteLine("BasePager:Displaychain");
foreach(BaseReportItem i in items)
{
IContainerItem ic = i as IContainerItem;
ISimpleContainer ic = i as ISimpleContainer;
if (ic != null) {
Console.WriteLine("recursive with <{0}> as parent",i.ToString());
Displaychain(ic.Items);

2
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs

@ -17,7 +17,7 @@ namespace ICSharpCode.Reports.Core{ @@ -17,7 +17,7 @@ namespace ICSharpCode.Reports.Core{
/// Description of BaseRowItem.
/// </summary>
public class BaseRowItem:BaseReportItem,IContainerItem,IExportColumnBuilder
public class BaseRowItem:BaseReportItem,ISimpleContainer,IExportColumnBuilder
{
private ReportItemCollection items;

4
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs

@ -76,7 +76,7 @@ namespace ICSharpCode.Reports.Core @@ -76,7 +76,7 @@ namespace ICSharpCode.Reports.Core
{
foreach(BaseReportItem item in items)
{
IContainerItem cont = item as IContainerItem;
ISimpleContainer cont = item as ISimpleContainer;
if (cont != null) {
return FindRec(cont.Items,name);
} else {
@ -95,7 +95,7 @@ namespace ICSharpCode.Reports.Core @@ -95,7 +95,7 @@ namespace ICSharpCode.Reports.Core
{
foreach (BaseReportItem item in items)
{
IContainerItem cont = item as IContainerItem;
ISimpleContainer cont = item as ISimpleContainer;
if (cont != null) {
return FindRec (cont.Items,itemName);
} else {

2
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/BaseItems/BaseTableItem.cs

@ -62,7 +62,7 @@ namespace ICSharpCode.Reports.Core { @@ -62,7 +62,7 @@ namespace ICSharpCode.Reports.Core {
{
foreach (BaseReportItem be in items) {
IContainerItem ec = be as IContainerItem;
ISimpleContainer ec = be as ISimpleContainer;
if (ec != null)
{
if (ec.Items.Count > 0) {

4
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs

@ -105,7 +105,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -105,7 +105,7 @@ namespace ICSharpCode.Reports.Core.Exporter
if (section.Items.Count > 0) {
IContainerItem container = section.Items[0] as IContainerItem;
ISimpleContainer container = section.Items[0] as ISimpleContainer;
if (container != null) {
ExportContainer exportContainer = this.exportItemsConverter.ConvertToContainer(container);
@ -137,7 +137,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -137,7 +137,7 @@ namespace ICSharpCode.Reports.Core.Exporter
}
}
private void AdjustBackColor (IContainerItem container)
private void AdjustBackColor (ISimpleContainer container)
{
BaseReportItem parent = container as BaseReportItem;
foreach (BaseReportItem item in container.Items)

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

@ -28,6 +28,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -28,6 +28,7 @@ namespace ICSharpCode.Reports.Core.Exporter
private Rectangle parentRectangle;
private IExportItemsConverter exportItemsConverter;
private ILayouter layouter;
private Size saveSize;
public event EventHandler <NewPageEventArgs> PageFull;
public event EventHandler<SectionRenderEventArgs> SectionRendering;
@ -74,7 +75,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -74,7 +75,7 @@ namespace ICSharpCode.Reports.Core.Exporter
protected ExporterCollection ConvertItems (BaseReportItem parent,
IContainerItem row,Point offset)
ISimpleContainer row,Point offset)
{
this.exportItemsConverter.Offset = offset.Y;
@ -104,6 +105,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -104,6 +105,7 @@ namespace ICSharpCode.Reports.Core.Exporter
return null;
}
#region IBaseConverter
public virtual ExporterCollection Convert(BaseReportItem parent, BaseReportItem item)
@ -142,11 +144,20 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -142,11 +144,20 @@ namespace ICSharpCode.Reports.Core.Exporter
public Graphics Graphics {get;set;}
#endregion
protected Size KeepSize {get;set;}
protected Size SaveSize
{
set { this.saveSize = value;}
}
protected Size RestoreSize
{
get {return this.saveSize;}
}
protected void DoRow (BaseRowItem row)
protected void FillAndLayoutRow (ISimpleContainer row)
{
Console.WriteLine("DoRow");
DataNavigator.Fill(row.Items);
PrintHelper.SetLayoutForRow(Graphics,Layouter,row);
}
@ -154,11 +165,11 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -154,11 +165,11 @@ namespace ICSharpCode.Reports.Core.Exporter
protected Point BaseConvert(ExporterCollection myList,BaseReportItem parent, BaseReportItem item,int leftPos,Point curPos)
{
BaseRowItem br = item as BaseRowItem;
br.Location = new Point (leftPos,br.Location.Y);
ExporterCollection ml = this.ConvertItems (parent,br, curPos);
BaseRowItem row = item as BaseRowItem;
row.Location = new Point (leftPos,row.Location.Y);
ExporterCollection ml = this.ConvertItems (parent,row, curPos);
myList.AddRange(ml);
return new Point (leftPos,curPos.Y + br.Size.Height + (3 *GlobalValues.GapBetweenContainer));
return new Point (leftPos,curPos.Y + row.Size.Height + (3 *GlobalValues.GapBetweenContainer));
}
}
}

30
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/Converters/RowConverter.cs

@ -47,8 +47,9 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -47,8 +47,9 @@ namespace ICSharpCode.Reports.Core.Exporter
PrintHelper.AdjustParent(parent,this.baseRowItem.Items);
if (PrintHelper.IsTextOnlyRow(this.baseRowItem)) {
ExporterCollection myList = new ExporterCollection();
this.InternalConvertRow(myList, item,parent.Location.X,
new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y));
base.BaseConvert (myList,parent, item,parent.Location.X,
new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y));
return myList;
} else {
return this.ConvertDataRow(item);
@ -60,19 +61,18 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -60,19 +61,18 @@ namespace ICSharpCode.Reports.Core.Exporter
ExporterCollection mylist = new ExporterCollection();
Point currentPosition = new Point(base.SectionBounds.DetailStart.X,base.SectionBounds.DetailStart.Y);
BaseSection section = parent as BaseSection;
IContainerItem row = section.Items[0] as IContainerItem;
ISimpleContainer row = section.Items[0] as ISimpleContainer;
int defaultLeftPos = parent.Location.X;
do {
section.Location = new Point(section.Location.X,section.SectionOffset );
section.Size = this.SectionBounds.DetailSectionRectangle.Size;
base.KeepSize = new Size (section.Items[0].Size.Width,section.Items[0].Size.Height);
base.SaveSize = new Size (section.Items[0].Size.Width,section.Items[0].Size.Height);
base.DoRow(row as BaseRowItem);
base.FillAndLayoutRow(row as BaseRowItem);
base.FireSectionRendering(section);
currentPosition = this.InternalConvertRow(mylist,item,defaultLeftPos,currentPosition);
section.Items[0].Size = base.KeepSize;
currentPosition = base.BaseConvert(mylist,parent,item,defaultLeftPos,currentPosition);
section.Items[0].Size = base.RestoreSize;
section.SectionOffset += section.Size.Height + 2 * base.SinglePage.SectionBounds.Gap;
@ -95,18 +95,6 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -95,18 +95,6 @@ namespace ICSharpCode.Reports.Core.Exporter
SectionBounds.ReportFooterRectangle.Height);
return mylist;
}
private Point InternalConvertRow(ExporterCollection myList,BaseReportItem item,int leftPos,Point curPos)
{
return base.BaseConvert(myList,parent,item,leftPos,curPos);
/*
this.baseRowItem = item as BaseRowItem;
baseRowItem.Location = new Point (leftPos,baseRowItem.Location.Y);
ExporterCollection ml = this.ConvertItems (this.parent,baseRowItem, curPos);
myList.AddRange(ml);
return new Point (leftPos,curPos.Y + this.baseRowItem.Size.Height + (3 *GlobalValues.GapBetweenContainer));
* */
}
}
}

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

@ -60,34 +60,35 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -60,34 +60,35 @@ namespace ICSharpCode.Reports.Core.Exporter
if (row.Items.Count > 0) {
row.Location = new Point (row.Location.X + defaultLeftPos,row.Location.Y);
row.Parent = (BaseReportItem)this.baseTable;
base.KeepSize = new Size (row.Size.Width,row.Size.Height);
base.SaveSize = new Size (row.Size.Width,row.Size.Height);
// Header/FooterRow
if (PrintHelper.IsTextOnlyRow(row) ) {
headerRow = row;
currentPosition = InternalConvertRow(mylist,headerRow,defaultLeftPos,currentPosition);
currentPosition = base.BaseConvert(mylist,this.baseTable.Parent,headerRow,defaultLeftPos,currentPosition);
}
else
{
// DataRegion
base.KeepSize = new Size (row.Size.Width,row.Size.Height);
base.SaveSize = new Size (row.Size.Width,row.Size.Height);
do {
//
BaseSection section = this.baseTable.Parent as BaseSection;
section.Location = new Point(section.Location.X,section.SectionOffset );
base.DoRow(row);
base.FillAndLayoutRow(row);
if (PrintHelper.IsPageFull(new Rectangle(new Point (row.Location.X,currentPosition.Y),row.Size),base.SectionBounds)) {
base.FirePageFull(mylist);
mylist.Clear();
currentPosition = InternalConvertRow(mylist,headerRow,
currentPosition = base.BaseConvert(mylist,this.baseTable.Parent,headerRow,
defaultLeftPos,
base.SectionBounds.ReportHeaderRectangle.Location);
}
currentPosition = InternalConvertRow(mylist,row,defaultLeftPos,currentPosition);
row.Size = base.KeepSize;
currentPosition = base.BaseConvert(mylist,this.baseTable.Parent,row,defaultLeftPos,currentPosition);
row.Size = base.RestoreSize;
}
while (base.DataNavigator.MoveNext());
//Allway's reset the DataNavigator
@ -102,16 +103,5 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -102,16 +103,5 @@ namespace ICSharpCode.Reports.Core.Exporter
}
return mylist;
}
private Point InternalConvertRow(ExporterCollection myList,BaseRowItem row,int leftPos,Point curPos )
{
return base.BaseConvert(myList,this.baseTable.Parent,row,leftPos,curPos);
/*
ExporterCollection ml = base.ConvertItems (this.baseTable.Parent,row, curPos);
myList.AddRange(ml);
return new Point (leftPos,curPos.Y + row.Size.Height + (3 *GlobalValues.GapBetweenContainer));
* */
}
}
}

2
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Exporter/ExportItemsConverter.cs

@ -41,7 +41,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -41,7 +41,7 @@ namespace ICSharpCode.Reports.Core.Exporter
}
public ExportContainer ConvertToContainer (IContainerItem item)
public ExportContainer ConvertToContainer (ISimpleContainer item)
{
if (item == null) {
throw new ArgumentNullException("item");

12
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Interfaces/IContainerItem.cs

@ -5,24 +5,28 @@ @@ -5,24 +5,28 @@
// <version>$Revision$</version>
// </file>
using ICSharpCode.Reports.Expressions.ReportingLanguage;
using System;
using System.Drawing;
using System.Windows.Forms;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Expressions.ReportingLanguage;
namespace ICSharpCode.Reports.Core.Interfaces
{
/// <summary>
/// Description of IContainerControl.
/// </summary>
public interface IContainerItem{
public interface ISimpleContainer{
ReportItemCollection Items {get;}
BaseReportItem Parent {set;get;}
BaseReportItem Parent {set;get;}
Point Location {set;get;}
Size Size {get;set;}
}
public interface ITableContainer:IContainerItem
public interface ITableContainer:ISimpleContainer
{
IDataNavigator DataNavigator {set;}
IExpressionEvaluatorFacade ExpressionEvaluatorFacade {set;}

2
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Interfaces/IExportItemsConverter.cs

@ -19,7 +19,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -19,7 +19,7 @@ namespace ICSharpCode.Reports.Core.Exporter
public interface IExportItemsConverter
{
BaseExportColumn ConvertToLineItem (BaseReportItem item);
ExportContainer ConvertToContainer (IContainerItem item);
ExportContainer ConvertToContainer (ISimpleContainer item);
Point ParentLocation {get;set;}
int Offset {set;}
}

2
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Interfaces/ILayouter.cs

@ -17,6 +17,6 @@ namespace ICSharpCode.Reports.Core.Interfaces @@ -17,6 +17,6 @@ namespace ICSharpCode.Reports.Core.Interfaces
public interface ILayouter
{
Rectangle Layout (Graphics graphics,BaseSection section);
Rectangle Layout (Graphics graphics,IContainerItem container);
Rectangle Layout (Graphics graphics,ISimpleContainer container);
}
}

8
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs

@ -58,10 +58,10 @@ namespace ICSharpCode.Reports.Core @@ -58,10 +58,10 @@ namespace ICSharpCode.Reports.Core
{
base.SinglePage.IDataNavigator = this.dataNavigator;
base.CurrentRow = this.dataNavigator.CurrentRow;
IContainerItem container = null;
ISimpleContainer container = null;
bool hasContainer = false;
foreach (BaseReportItem item in this.CurrentSection.Items) {
container = item as IContainerItem;
container = item as ISimpleContainer;
if (container != null) {
hasContainer = true;
break;
@ -78,7 +78,7 @@ namespace ICSharpCode.Reports.Core @@ -78,7 +78,7 @@ namespace ICSharpCode.Reports.Core
private Point DoContainerControl (BaseSection section,
IContainerItem container,
ISimpleContainer container,
ReportPageEventArgs rpea)
{
Point drawPoint = Point.Empty;
@ -88,7 +88,7 @@ namespace ICSharpCode.Reports.Core @@ -88,7 +88,7 @@ namespace ICSharpCode.Reports.Core
section.Size = this.SectionBounds.DetailSectionRectangle.Size;
Size containerSize = new Size (section.Items[0].Size.Width,section.Items[0].Size.Height);
IContainerItem row =(IContainerItem) section.Items[0];
ISimpleContainer row =(ISimpleContainer) section.Items[0];
PrintHelper.SetLayoutForRow(rpea.PrintPageEventArgs.Graphics,base.Layout,row);
section.Render (rpea);

2
src/AddIns/Misc/SharpReport/ICSharpCode.Reports.Core/Project/Printing/RenderDataReport.cs

@ -175,7 +175,7 @@ namespace ICSharpCode.Reports.Core { @@ -175,7 +175,7 @@ namespace ICSharpCode.Reports.Core {
}
do {
IContainerItem i = base.CurrentSection.Items[0] as IContainerItem;
ISimpleContainer i = base.CurrentSection.Items[0] as ISimpleContainer;
if (i != null) {
nav.Fill (i.Items);
} else {

Loading…
Cancel
Save