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 @@ -140,7 +140,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
{
int locationX = GlobalValues.ControlMargins.Left;
var minCtrlWidth = CalculateControlWidth(ParentItem,ReportItems);
var minCtrlWidth = CalculateControlWidth(Container,ReportItems);
var col = new ReportItemCollection();
@ -191,8 +191,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -191,8 +191,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
protected void ConfigureDetails (Point detailLocation,Size detailSize)
{
ParentItem.Location = detailLocation;
ParentItem.Size = detailSize;
Container.Location = detailLocation;
Container.Size = detailSize;
}
#endregion
@ -200,7 +200,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -200,7 +200,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
protected ReportModel ReportModel {get; private set;}
protected ISimpleContainer ParentItem {get;set;}
protected ISimpleContainer Container {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 @@ -15,13 +15,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
public class ListLayout : AbstractLayout
{
public ListLayout(ReportModel reportModel,ReportItemCollection reportItemCollection):base(reportModel)
{
base.ReportItems = reportItemCollection;
ICSharpCode.Reports.Core.BaseRowItem row = new ICSharpCode.Reports.Core.BaseRowItem();
AdjustContainer(base.ReportModel.DetailSection,row);
base.ParentItem = row;
base.Container = row;
}
@ -33,7 +32,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -33,7 +32,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
base.CreatePageHeader();
ICSharpCode.Reports.Core.BaseRowItem row = CreateRowWithTextColumns(base.ReportModel.PageHeader);
AdjustContainer(ParentItem,row);
AdjustContainer(Container,row);
base.ReportModel.PageHeader.Items.Add(row);
}
@ -45,7 +44,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -45,7 +44,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
}
Size detailSize = Size.Empty;
Size itemSize = Size.Empty;
Point rowLoction = Point.Empty;
if (base.ReportModel.ReportSettings.GroupColumnsCollection.Count > 0)
{
@ -54,29 +53,31 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -54,29 +53,31 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
// Detail
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
var groupFooter = base.CreateFooter(new Point(GlobalValues.ControlMargins.Left,80));
base.ReportModel.DetailSection.Items.Add(groupFooter);
section.Size = new Size(section.Size.Width,125);
rowLoction = new Point (Container.Location.X,45);
}
else
{
itemSize = CreateDetail();
detailSize = new Size(ParentItem.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);
detailSize = new Size(Container.Size.Width,itemSize.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);
section.Items.Add(ParentItem as BaseReportItem);
base.ConfigureDetails (rowLoction,detailSize);
section.Items.Add(Container as BaseReportItem);
}
Size CreateDetail()
{
var items = base.AddItemsToContainer();
ParentItem.Items.AddRange(items);
Container.Items.AddRange(items);
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 @@ -40,12 +40,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
ICSharpCode.Reports.Core.BaseRowItem detailRow = new ICSharpCode.Reports.Core.BaseRowItem();
table.Name = "Table1";
base.ParentItem = table;
base.Container = table;
AdjustContainer(base.ReportModel.DetailSection,table);
base.ReportModel.DetailSection.Items.Add(table);
ICSharpCode.Reports.Core.BaseRowItem headerRow = CreateRowWithTextColumns(ParentItem);
ParentItem.Items.Add (headerRow);
ICSharpCode.Reports.Core.BaseRowItem headerRow = CreateRowWithTextColumns(Container);
Container.Items.Add (headerRow);
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 @@ -54,32 +54,32 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
//Groupheader
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);
//Detail
CreateDetail(detailRow,insertLocation);
ParentItem.Items.Add (detailRow);
Container.Items.Add (detailRow);
// GroupFooter
var groupFooter = base.CreateFooter(new Point(margin.Left,130));
ParentItem.Items.Add(groupFooter);
Container.Items.Add(groupFooter);
}
else
{
CreateDetail(detailRow,insertLocation);
ParentItem.Items.Add (detailRow);
Container.Items.Add (detailRow);
}
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)
{
AdjustContainer (ParentItem,detailRow);
AdjustContainer (Container,detailRow);
detailRow.Location = insertLocation;
detailRow.Size = new Size(detailRow.Size.Width,30);
int defX = AbstractLayout.CalculateControlWidth(detailRow,ReportItems);
@ -101,12 +101,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -101,12 +101,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
{
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 + 3*GlobalValues.ControlMargins.Bottom;
ParentItem.Size = new Size (ParentItem.Size.Width,h);
Container.Size = new Size (Container.Size.Width,h);
}
}
}

Loading…
Cancel
Save