Browse Source

VisibleInReport can switch visibility of ReportItems

pull/15/head^2
peterforstmeier 15 years ago
parent
commit
4c9c7a0b83
  1. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs
  2. 7
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs
  3. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseCircleItem.cs
  4. 45
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs
  5. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs
  6. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs
  7. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/AbstractLayout.cs
  8. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/Printing/PrintHelper.cs
  9. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseDataItem.cs
  10. 4
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseReportItem.cs
  11. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseRowItem.cs
  12. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseSection.cs
  13. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs
  14. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs
  15. 12
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/BasePager.cs
  16. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/Converters/BaseConverter.cs
  17. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs
  18. 35
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs
  19. 10
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs
  20. 21
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IReportItem.cs
  21. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Printing/AbstractDataRenderer.cs
  22. 1
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs

@ -76,12 +76,16 @@ namespace ICSharpCode.Reports.Addin.Designer @@ -76,12 +76,16 @@ namespace ICSharpCode.Reports.Addin.Designer
prop = props.Find("BackColor",true);
allProperties.Add(prop);
prop = props.Find ("VisibleInReport",true);
allProperties.Add(prop);
// need this for Contextmenu's
prop = props.Find("ContextMenu",true);
allProperties.Add(prop);
}
public static void AddTextbasedProperties (List<PropertyDescriptor> allProperties,
public static void AddTextBasedProperties (List<PropertyDescriptor> allProperties,
PropertyDescriptorCollection props)
{
PropertyDescriptor prop = props.Find("Font",true);

7
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs

@ -2,12 +2,10 @@ @@ -2,12 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin
{
@ -25,6 +23,7 @@ namespace ICSharpCode.Reports.Addin @@ -25,6 +23,7 @@ namespace ICSharpCode.Reports.Addin
{
InitializeComponent();
TypeDescriptor.AddProvider(new AbstractItemTypeProvider(), typeof(AbstractItem));
VisibleInReport = true;
}
@ -69,6 +68,10 @@ namespace ICSharpCode.Reports.Addin @@ -69,6 +68,10 @@ namespace ICSharpCode.Reports.Addin
protected new Size DefaultSize {get;set;}
public bool VisibleInReport {get;set;}
#endregion
[System.ComponentModel.EditorBrowsableAttribute()]

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseCircleItem.cs

@ -7,7 +7,6 @@ using System.Drawing; @@ -7,7 +7,6 @@ using System.Drawing;
using System.Drawing.Drawing2D;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
using ICSharpCode.Reports.Core.Globals;
namespace ICSharpCode.Reports.Addin

45
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs

@ -2,13 +2,10 @@ @@ -2,13 +2,10 @@
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using ICSharpCode.Reports.Addin.Designer;
using ICSharpCode.Reports.Addin.TypeProviders;
using ICSharpCode.Reports.Core;
namespace ICSharpCode.Reports.Addin
{
@ -20,11 +17,6 @@ namespace ICSharpCode.Reports.Addin @@ -20,11 +17,6 @@ namespace ICSharpCode.Reports.Addin
[Designer(typeof(ICSharpCode.Reports.Addin.Designer.SectionDesigner))]
public class BaseSection:AbstractItem
{
private int sectionOffset;
private int sectionMargin;
private bool pageBreakAfter;
private bool canGrow ;
private bool canShrink ;
public BaseSection():base()
{
@ -49,31 +41,18 @@ namespace ICSharpCode.Reports.Addin @@ -49,31 +41,18 @@ namespace ICSharpCode.Reports.Addin
#region Propertys
public int SectionOffset {
get { return sectionOffset; }
set { sectionOffset = value; }
}
public int SectionMargin {
get { return sectionMargin; }
set { sectionMargin = value; }
}
public bool PageBreakAfter {
get { return pageBreakAfter; }
set { pageBreakAfter = value; }
}
public bool CanGrow {
get { return canGrow; }
set { canGrow = value; }
}
public bool CanShrink {
get { return canShrink; }
set { canShrink = value; }
}
[Browsable(false)]
public int SectionOffset {get;set;}
[Browsable(false)]
public int SectionMargin {get;set;}
public bool PageBreakAfter {get;set;}
public bool CanGrow {get;set;}
public bool CanShrink {get;set;}
#endregion
}

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/DataItemTypeProvider.cs

@ -52,7 +52,7 @@ namespace ICSharpCode.Reports.Addin.TypeProviders @@ -52,7 +52,7 @@ namespace ICSharpCode.Reports.Addin.TypeProviders
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
DesignerHelper.AddDefaultProperties(allProperties,props);
DesignerHelper.AddTextbasedProperties(allProperties,props);
DesignerHelper.AddTextBasedProperties(allProperties,props);
PropertyDescriptor prop = props.Find("Text",true);
allProperties.Add(prop);

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs

@ -53,7 +53,7 @@ namespace ICSharpCode.Reports.Addin.TypeProviders @@ -53,7 +53,7 @@ namespace ICSharpCode.Reports.Addin.TypeProviders
DesignerHelper.AddDefaultProperties(allProperties,props);
DesignerHelper.AddTextbasedProperties(allProperties,props);
DesignerHelper.AddTextBasedProperties(allProperties,props);
PropertyDescriptor prop = prop = props.Find("Text",true);
allProperties.Add(prop);

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

@ -125,7 +125,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -125,7 +125,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
ReportItemCollection itemCol = new ReportItemCollection();
ICSharpCode.Reports.Core.BaseTextItem rItem;
int i = 1;
foreach (IDataRenderer dataRenderer in reportItemCollection) {
foreach (IDataItem dataRenderer in reportItemCollection) {
// foreach (IDataRenderer dataRenderer in reportItemCollection) {
rItem = WizardHelper.CreateTextItem(dataRenderer.ColumnName);
rItem.Name = rItem.Text + i.ToString(System.Globalization.CultureInfo.InvariantCulture);
itemCol.Add(rItem);

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

@ -6,10 +6,8 @@ using System.Drawing; @@ -6,10 +6,8 @@ using System.Drawing;
using System.Globalization;
using System.Linq;
using ICSharpCode.Reports.Core.Events;
using ICSharpCode.Reports.Core.Exporter;
using ICSharpCode.Reports.Core.Interfaces;
using ICSharpCode.Reports.Expressions.ReportingLanguage;
namespace ICSharpCode.Reports.Core.BaseClasses.Printing
{

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

@ -18,7 +18,7 @@ using ICSharpCode.Reports.Core.Exporter; @@ -18,7 +18,7 @@ using ICSharpCode.Reports.Core.Exporter;
/// </remarks>
namespace ICSharpCode.Reports.Core
{
public class BaseDataItem : BaseTextItem, IDataRenderer, IExportColumnBuilder, IDataItem
public class BaseDataItem : BaseTextItem, IExportColumnBuilder, IDataItem
{
#region Constructor

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

@ -31,7 +31,6 @@ namespace ICSharpCode.Reports.Core { @@ -31,7 +31,6 @@ namespace ICSharpCode.Reports.Core {
this.FrameColor = Color.Black;
this.ForeColor = Color.Black;
this.Font = GlobalValues.DefaultFont;
this.Visible = true;
}
@ -111,8 +110,9 @@ namespace ICSharpCode.Reports.Core { @@ -111,8 +110,9 @@ namespace ICSharpCode.Reports.Core {
#region Properties
// public bool Visible {get;set;}
public virtual bool Visible {get;set;}
public bool VisibleInReport {get;set;}
public bool CanGrow {get;set;}

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

@ -24,7 +24,7 @@ namespace ICSharpCode.Reports.Core{ @@ -24,7 +24,7 @@ namespace ICSharpCode.Reports.Core{
public BaseRowItem():base()
{
base.Visible = true;
// base.Visible = true;
}
#region IExportColumnBuilder implementation

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

@ -117,6 +117,8 @@ namespace ICSharpCode.Reports.Core @@ -117,6 +117,8 @@ namespace ICSharpCode.Reports.Core
public int SectionMargin {get;set;}
public virtual int SectionOffset {get;set;}
public ReportItemCollection Items
{

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/BaseTextItem.cs

@ -31,6 +31,7 @@ namespace ICSharpCode.Reports.Core @@ -31,6 +31,7 @@ namespace ICSharpCode.Reports.Core
this.stringFormat = StringFormat.GenericTypographic;
this.contentAlignment = ContentAlignment.TopLeft;
this.stringTrimming = StringTrimming.None;
VisibleInReport = true;
}
#endregion

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseItems/Graphics/BaseImageItem.cs

@ -18,7 +18,7 @@ using ICSharpCode.Reports.Core.Globals; @@ -18,7 +18,7 @@ using ICSharpCode.Reports.Core.Globals;
namespace ICSharpCode.Reports.Core {
public class BaseImageItem : BaseGraphicItem,IDataItem,IDataRenderer,IExportColumnBuilder{
public class BaseImageItem : BaseGraphicItem,IDataItem,IExportColumnBuilder{
/// <summary>
/// Default constructor

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

@ -110,11 +110,10 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -110,11 +110,10 @@ namespace ICSharpCode.Reports.Core.Exporter
if (simpleContainer != null)
{
Offset = new Point(Offset.X,Offset.Y + gapCalculator.GapBetweenItems[i] );
// Offset = new Point(Offset.X,Offset.Y + 5);
var containerSize = simpleContainer.Size;
EvaluationHelper.EvaluateReportItems(evaluator,simpleContainer.Items);
var layouter = (ILayouter)ServiceContainer.GetService(typeof(ILayouter));
LayoutHelper.SetLayoutForRow(Graphics,layouter, simpleContainer);
/*
@ -136,12 +135,19 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -136,12 +135,19 @@ namespace ICSharpCode.Reports.Core.Exporter
else
{
var converteditem = ExportHelper.ConvertLineItem(item,Offset);
if (converteditem != null) {
if (converteditem.StyleDecorator.DisplayRectangle.Bottom > currentBottom.Y) {
currentBottom = new Point(converteditem.StyleDecorator.Location.X,converteditem.StyleDecorator.DisplayRectangle.Bottom);
}
convertedSection.Add((BaseExportColumn)converteditem );
}
// if (converteditem.StyleDecorator.DisplayRectangle.Bottom > currentBottom.Y) {
// currentBottom = new Point(converteditem.StyleDecorator.Location.X,converteditem.StyleDecorator.DisplayRectangle.Bottom);
// }
//
// convertedSection.Add((BaseExportColumn)converteditem );
}
i ++;

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

@ -19,10 +19,8 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -19,10 +19,8 @@ namespace ICSharpCode.Reports.Core.Exporter
public class BaseConverter:IBaseConverter
{
private Size saveSize;
public event EventHandler <NewPageEventArgs> PageFull;
public event EventHandler<SectionRenderEventArgs> SectionRendering;
public event EventHandler<GroupHeaderEventArgs> GroupHeaderRendering;

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/BaseExportColumn.cs

@ -65,7 +65,7 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -65,7 +65,7 @@ namespace ICSharpCode.Reports.Core.Exporter
if (graphics == null) {
throw new ArgumentNullException("graphics");
}
RectangleShape shape = new RectangleShape();
var shape = new RectangleShape();
this.FillShape(graphics, shape);
StandardPrinter.DrawBorder(graphics, this.StyleDecorator as BaseStyleDecorator);
}
@ -73,11 +73,9 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -73,11 +73,9 @@ namespace ICSharpCode.Reports.Core.Exporter
protected virtual void Decorate()
{
RectangleShape shape = new RectangleShape();
var shape = new RectangleShape();
shape.DrawShape(this.PdfWriter.DirectContent, null, this.StyleDecorator, ConvertToPdfRectangle());
this.DrawFrame();
}
#endregion

35
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportHelper.cs

@ -25,20 +25,24 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -25,20 +25,24 @@ namespace ICSharpCode.Reports.Core.Exporter
throw new ArgumentNullException("item");
}
IExportColumnBuilder columnBuilder = item as IExportColumnBuilder;
IBaseExportColumn lineItem = null;
if (columnBuilder != null) {
lineItem = columnBuilder.CreateExportColumn();
lineItem.StyleDecorator.Location = new Point(offset.X + lineItem.StyleDecorator.Location.X,
lineItem.StyleDecorator.Location.Y + offset.Y);
if (item.VisibleInReport == true) {
lineItem.StyleDecorator.DisplayRectangle = new Rectangle(lineItem.StyleDecorator.Location,
lineItem.StyleDecorator.Size);
}
return lineItem;
var columnBuilder = item as IExportColumnBuilder;
IBaseExportColumn lineItem = null;
if (columnBuilder != null) {
lineItem = columnBuilder.CreateExportColumn();
lineItem.StyleDecorator.Location = new Point(offset.X + lineItem.StyleDecorator.Location.X,
lineItem.StyleDecorator.Location.Y + offset.Y);
lineItem.StyleDecorator.DisplayRectangle = new Rectangle(lineItem.StyleDecorator.Location,
lineItem.StyleDecorator.Size);
}
return lineItem;
} else
{
return null;
}
}
@ -52,7 +56,10 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -52,7 +56,10 @@ namespace ICSharpCode.Reports.Core.Exporter
foreach(BaseReportItem item in items)
{
col.Add((BaseExportColumn)ExportHelper.ConvertLineItem(item,offset));
var converteditem = ExportHelper.ConvertLineItem(item,offset);
if (converteditem != null) {
col.Add((BaseExportColumn)ExportHelper.ConvertLineItem(item,offset));
}
}
}
return col;

10
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/FormPageBuilder.cs

@ -45,31 +45,27 @@ namespace ICSharpCode.Reports.Core.Exporter @@ -45,31 +45,27 @@ namespace ICSharpCode.Reports.Core.Exporter
protected override void BuildReportHeader()
{
if (base.Pages.Count == 0)
{
{
SectionBounds.Offset = new Point(base.SectionBounds.MarginBounds.Left,base.SectionBounds.MarginBounds.Top);
Console.WriteLine("a reportheader {0}",SectionBounds.Offset);
ExporterCollection convertedList = base.ConvertSection (base.ReportModel.ReportHeader,0);
base.SinglePage.Items.AddRange(convertedList);
Console.WriteLine("reportheader {0}",SectionBounds.Offset);
}
}
protected override void BuildPageHeader()
{
if (SectionBounds.Offset.Y < base.ReportModel.PageHeader.SectionOffset) {
SectionBounds.Offset = new Point(SectionBounds.Offset.X,base.ReportModel.PageHeader.SectionOffset);
}
Console.WriteLine("a pageheader {0}",SectionBounds.Offset);
ExporterCollection convertedList = base.ConvertSection (base.ReportModel.PageHeader,0);
base.SinglePage.Items.AddRange(convertedList);
base.SectionBounds.CalculatePageBounds(base.ReportModel);
Console.WriteLine("pageheader {0}",SectionBounds.Offset);
}
protected override void BuildDetailInternal(BaseSection section)
{
Console.WriteLine("a detail {0}",SectionBounds.Offset);
base.BuildDetailInternal(section);
SectionBounds.Offset = new Point(SectionBounds.Offset.X,base.ReportModel.DetailSection.Location.Y);
ExporterCollection convertedList = base.ConvertSection (base.ReportModel.DetailSection,0);

21
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Interfaces/IReportItem.cs

@ -10,33 +10,18 @@ namespace ICSharpCode.Reports.Core { @@ -10,33 +10,18 @@ namespace ICSharpCode.Reports.Core {
/// <summary>
/// All ReportItems must implement this Interface
/// </summary>
public interface IReportItem {
public interface IReportItem
{
string Name{get;set;}
Size Size {get;set;}
Point Location {get;set;}
Font Font {get;set;}
bool Visible {get;set;}
bool VisibleInReport {get;set;}
Color BackColor {get;set;}
Color FrameColor {get;set;}
int SectionOffset {get;set;}
bool CanGrow {get;set;}
bool CanShrink {get;set;}
}
public interface IDataRenderer:IReportItem
{
string ColumnName{
get;set;
}
string BaseTableName{
get;set;
}
string MappingName {
get;
}
}
}

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

@ -153,7 +153,8 @@ namespace ICSharpCode.Reports.Core @@ -153,7 +153,8 @@ namespace ICSharpCode.Reports.Core
Point currentPosition = new Point(section.Location.X + container.Location.X,offset.Y);
if (section.Visible){
if (section.VisibleInReport)
{
//Always set section.size to it's original value

1
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs

@ -125,7 +125,6 @@ namespace ICSharpCode.Reports.Core{ @@ -125,7 +125,6 @@ namespace ICSharpCode.Reports.Core{
}
#region BaseSettings
[Category("Base Settings")]

Loading…
Cancel
Save