Browse Source

Plain ListLayout, fix Location of container (Row)

pull/14/head
peterforstmeier 15 years ago
parent
commit
e5574ffa8a
  1. 8
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs
  2. 21
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/ListLayout.cs
  3. 22
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/TableLayout.cs

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

@ -140,7 +140,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
{ {
int locationX = GlobalValues.ControlMargins.Left; int locationX = GlobalValues.ControlMargins.Left;
var minCtrlWidth = CalculateControlWidth(ParentItem,ReportItems); var minCtrlWidth = CalculateControlWidth(Container,ReportItems);
var col = new ReportItemCollection(); var col = new ReportItemCollection();
@ -191,8 +191,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
protected void ConfigureDetails (Point detailLocation,Size detailSize) protected void ConfigureDetails (Point detailLocation,Size detailSize)
{ {
ParentItem.Location = detailLocation; Container.Location = detailLocation;
ParentItem.Size = detailSize; Container.Size = detailSize;
} }
#endregion #endregion
@ -200,7 +200,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
protected ReportModel ReportModel {get; private set;} protected ReportModel ReportModel {get; private set;}
protected ISimpleContainer ParentItem {get;set;} protected ISimpleContainer Container {get;set;}
protected ReportItemCollection ReportItems {get;set;} protected ReportItemCollection ReportItems {get;set;}

21
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/ListLayout.cs

@ -15,13 +15,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
public class ListLayout : AbstractLayout public class ListLayout : AbstractLayout
{ {
public ListLayout(ReportModel reportModel,ReportItemCollection reportItemCollection):base(reportModel) public ListLayout(ReportModel reportModel,ReportItemCollection reportItemCollection):base(reportModel)
{ {
base.ReportItems = reportItemCollection; base.ReportItems = reportItemCollection;
ICSharpCode.Reports.Core.BaseRowItem row = new ICSharpCode.Reports.Core.BaseRowItem(); ICSharpCode.Reports.Core.BaseRowItem row = new ICSharpCode.Reports.Core.BaseRowItem();
AdjustContainer(base.ReportModel.DetailSection,row); AdjustContainer(base.ReportModel.DetailSection,row);
base.ParentItem = row; base.Container = row;
} }
@ -33,7 +32,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
base.CreatePageHeader(); base.CreatePageHeader();
ICSharpCode.Reports.Core.BaseRowItem row = CreateRowWithTextColumns(base.ReportModel.PageHeader); ICSharpCode.Reports.Core.BaseRowItem row = CreateRowWithTextColumns(base.ReportModel.PageHeader);
AdjustContainer(ParentItem,row); AdjustContainer(Container,row);
base.ReportModel.PageHeader.Items.Add(row); base.ReportModel.PageHeader.Items.Add(row);
} }
@ -45,7 +44,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
} }
Size detailSize = Size.Empty; Size detailSize = Size.Empty;
Size itemSize = Size.Empty; Size itemSize = Size.Empty;
Point rowLoction = Point.Empty;
if (base.ReportModel.ReportSettings.GroupColumnsCollection.Count > 0) if (base.ReportModel.ReportSettings.GroupColumnsCollection.Count > 0)
{ {
@ -54,29 +53,31 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
// Detail // Detail
itemSize = CreateDetail(); itemSize = CreateDetail();
detailSize = new Size(ParentItem.Size.Width,itemSize.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom); detailSize = new Size(Container.Size.Width,itemSize.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom);
// GroupFooter // GroupFooter
var groupFooter = base.CreateFooter(new Point(GlobalValues.ControlMargins.Left,80)); var groupFooter = base.CreateFooter(new Point(GlobalValues.ControlMargins.Left,80));
base.ReportModel.DetailSection.Items.Add(groupFooter); base.ReportModel.DetailSection.Items.Add(groupFooter);
section.Size = new Size(section.Size.Width,125); section.Size = new Size(section.Size.Width,125);
rowLoction = new Point (Container.Location.X,45);
} }
else else
{ {
itemSize = CreateDetail(); itemSize = CreateDetail();
detailSize = new Size(ParentItem.Size.Width,itemSize.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom); detailSize = new Size(Container.Size.Width,itemSize.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom);
section.Size = new Size(section.Size.Width,ParentItem.Size.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom); section.Size = new Size(section.Size.Width,Container.Size.Height + GlobalValues.ControlMargins.Top + GlobalValues.ControlMargins.Bottom);
rowLoction = new Point(Container.Location.X,GlobalValues.ControlMargins.Top);
} }
base.ConfigureDetails ( new Point(ParentItem.Location.X,45),detailSize); base.ConfigureDetails (rowLoction,detailSize);
section.Items.Add(ParentItem as BaseReportItem); section.Items.Add(Container as BaseReportItem);
} }
Size CreateDetail() Size CreateDetail()
{ {
var items = base.AddItemsToContainer(); var items = base.AddItemsToContainer();
ParentItem.Items.AddRange(items); Container.Items.AddRange(items);
return items[0].Size; return items[0].Size;
} }

22
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/TableLayout.cs

@ -40,12 +40,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
ICSharpCode.Reports.Core.BaseRowItem detailRow = new ICSharpCode.Reports.Core.BaseRowItem(); ICSharpCode.Reports.Core.BaseRowItem detailRow = new ICSharpCode.Reports.Core.BaseRowItem();
table.Name = "Table1"; table.Name = "Table1";
base.ParentItem = table; base.Container = table;
AdjustContainer(base.ReportModel.DetailSection,table); AdjustContainer(base.ReportModel.DetailSection,table);
base.ReportModel.DetailSection.Items.Add(table); base.ReportModel.DetailSection.Items.Add(table);
ICSharpCode.Reports.Core.BaseRowItem headerRow = CreateRowWithTextColumns(ParentItem); ICSharpCode.Reports.Core.BaseRowItem headerRow = CreateRowWithTextColumns(Container);
ParentItem.Items.Add (headerRow); Container.Items.Add (headerRow);
Point insertLocation = new Point (margin.Left,headerRow.Location.Y + headerRow.Size.Height + margin.Bottom + margin.Top); Point insertLocation = new Point (margin.Left,headerRow.Location.Y + headerRow.Size.Height + margin.Bottom + margin.Top);
@ -54,32 +54,32 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
//Groupheader //Groupheader
var groupHeader = base.CreateGroupHeader(insertLocation); var groupHeader = base.CreateGroupHeader(insertLocation);
ParentItem.Items.Add(groupHeader); Container.Items.Add(groupHeader);
insertLocation = new Point(margin.Left,insertLocation.Y + groupHeader.Size.Height + margin.Bottom + margin.Top); insertLocation = new Point(margin.Left,insertLocation.Y + groupHeader.Size.Height + margin.Bottom + margin.Top);
//Detail //Detail
CreateDetail(detailRow,insertLocation); CreateDetail(detailRow,insertLocation);
ParentItem.Items.Add (detailRow); Container.Items.Add (detailRow);
// GroupFooter // GroupFooter
var groupFooter = base.CreateFooter(new Point(margin.Left,130)); var groupFooter = base.CreateFooter(new Point(margin.Left,130));
ParentItem.Items.Add(groupFooter); Container.Items.Add(groupFooter);
} }
else else
{ {
CreateDetail(detailRow,insertLocation); CreateDetail(detailRow,insertLocation);
ParentItem.Items.Add (detailRow); Container.Items.Add (detailRow);
} }
CalculateContainerSize(); CalculateContainerSize();
section.Size = new Size (section.Size.Width,ParentItem.Size.Height + margin.Top + margin.Bottom); section.Size = new Size (section.Size.Width,Container.Size.Height + margin.Top + margin.Bottom);
} }
void CreateDetail (ICSharpCode.Reports.Core.BaseRowItem detailRow,Point insertLocation) void CreateDetail (ICSharpCode.Reports.Core.BaseRowItem detailRow,Point insertLocation)
{ {
AdjustContainer (ParentItem,detailRow); AdjustContainer (Container,detailRow);
detailRow.Location = insertLocation; detailRow.Location = insertLocation;
detailRow.Size = new Size(detailRow.Size.Width,30); detailRow.Size = new Size(detailRow.Size.Width,30);
int defX = AbstractLayout.CalculateControlWidth(detailRow,ReportItems); int defX = AbstractLayout.CalculateControlWidth(detailRow,ReportItems);
@ -101,12 +101,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
{ {
int h = GlobalValues.ControlMargins.Top; int h = GlobalValues.ControlMargins.Top;
foreach (ICSharpCode.Reports.Core.BaseReportItem item in ParentItem.Items) foreach (ICSharpCode.Reports.Core.BaseReportItem item in Container.Items)
{ {
h = h + item.Size.Height + GlobalValues.ControlMargins.Bottom; h = h + item.Size.Height + GlobalValues.ControlMargins.Bottom;
} }
h = h + 3*GlobalValues.ControlMargins.Bottom; h = h + 3*GlobalValues.ControlMargins.Bottom;
ParentItem.Size = new Size (ParentItem.Size.Width,h); Container.Size = new Size (Container.Size.Width,h);
} }
} }
} }

Loading…
Cancel
Save