diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj index d3e345e377..77323b4ba4 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj @@ -88,6 +88,8 @@ + + @@ -139,6 +141,7 @@ Component + Component diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/BaseGroupHeaderDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/BaseGroupHeaderDesigner.cs new file mode 100644 index 0000000000..d58c31a16d --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/BaseGroupHeaderDesigner.cs @@ -0,0 +1,57 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 30.07.2010 + * Time: 20:03 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.ComponentModel.Design; +using System.Drawing; +using System.Windows.Forms.Design; + +namespace ICSharpCode.Reports.Addin.Designer +{ + /// + /// Description of BaseGroupHeaderDesigner. + /// + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.GroupHeaderDesigner))] + public class GroupHeaderDesigner:ParentControlDesigner + { + + private ISelectionService selectionService; + + public GroupHeaderDesigner() + { + + } + + public override void Initialize(IComponent component) + { + if (component == null) { + throw new ArgumentNullException("component"); + } + base.Initialize(component); + GetService (); + } + + + private void OnSelectionChanged(object sender, EventArgs e) + { + Control.Invalidate( ); + } + + + private void GetService () + { + selectionService = GetService(typeof(ISelectionService)) as ISelectionService; + if (selectionService != null) + { + selectionService.SelectionChanged += OnSelectionChanged; + } + } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/Class1.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/Class1.cs new file mode 100644 index 0000000000..e7c2c79017 --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/Class1.cs @@ -0,0 +1,22 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 30.07.2010 + * Time: 20:02 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; + +namespace ICSharpCode.Reports.Addin.Project.Designer +{ + /// + /// Description of Class1. + /// + public class Class1 + { + public Class1() + { + } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DataItemDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DataItemDesigner.cs index 33ece0273e..f960fc10d3 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DataItemDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DataItemDesigner.cs @@ -14,7 +14,7 @@ using System.Windows.Forms; using System.Windows.Forms.Design; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of DataItemDesigner. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs index fe7956a896..5b081f959c 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/DesignerHelper.cs @@ -12,7 +12,7 @@ using System.Collections.Generic; using System.Collections; using System.ComponentModel; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of DesignerHelper. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ImageDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ImageDesigner.cs index 334fc2a097..296069fe24 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ImageDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ImageDesigner.cs @@ -14,7 +14,7 @@ using System.Drawing; using System.Windows.Forms; using System.Windows.Forms.Design; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/LineDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/LineDesigner.cs index dd8197a1aa..6f33c9f33b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/LineDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/LineDesigner.cs @@ -14,7 +14,7 @@ using System.Drawing; using System.Windows.Forms; using System.Windows.Forms.Design; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of LineDesigner. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RootDesigner/ReportItemsContainer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RootDesigner/ReportItemsContainer.cs index 2b28a8000e..6cf1c73cc7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RootDesigner/ReportItemsContainer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RootDesigner/ReportItemsContainer.cs @@ -13,7 +13,7 @@ using System.ComponentModel.Design; using System.Drawing; using System.Drawing.Printing; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of ReportItemsContainer. @@ -78,7 +78,7 @@ namespace ICSharpCode.Reports.Addin } - [Designer(typeof(ICSharpCode.Reports.Addin.ReportRootDesigner), typeof(IRootDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.ReportRootDesigner), typeof(IRootDesigner))] public class RootDesignedComponent : System.Windows.Forms.UserControl { public RootDesignedComponent() diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RootDesigner/ReportRootDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RootDesigner/ReportRootDesigner.cs index 4bd14c37d9..993ecf9aac 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RootDesigner/ReportRootDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RootDesigner/ReportRootDesigner.cs @@ -21,7 +21,7 @@ using System.Windows.Forms.Design; using ICSharpCode.Reports.Core; using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.Core; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of ReportRootDesigner. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RowItemDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RowItemDesigner.cs index 7d2d5d5bfe..f8c088e726 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RowItemDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/RowItemDesigner.cs @@ -15,7 +15,7 @@ using System.Drawing.Design; using System.Windows.Forms; using System.Windows.Forms.Design; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of RowItemDesigner. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/Ruler.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/Ruler.cs index 080258cd8a..49300a55cc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/Ruler.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/Ruler.cs @@ -10,7 +10,7 @@ using System.ComponentModel; using System.Drawing; using System.Windows.Forms; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of ctrlRuler. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/SectionDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/SectionDesigner.cs index 84b60dbe33..97369cfb9a 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/SectionDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/SectionDesigner.cs @@ -18,7 +18,7 @@ using System.Windows.Forms.Design; using ICSharpCode.Reports.Core; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of SectionDesigner. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ShapeDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ShapeDesigner.cs index 71e0a8ab0f..ed56f69467 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ShapeDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/ShapeDesigner.cs @@ -14,7 +14,7 @@ using System.Drawing; using System.Windows.Forms; using System.Windows.Forms.Design; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of ShapeDesigner. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/SmartTagTransactions.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/SmartTagTransactions.cs index e25f79898c..61e891d74b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/SmartTagTransactions.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/SmartTagTransactions.cs @@ -11,7 +11,7 @@ using System.ComponentModel; using System.ComponentModel.Design; using System.Windows.Forms; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of SmartTagTransactions. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TableDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TableDesigner.cs index c4d12e549d..91b8fde9aa 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TableDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TableDesigner.cs @@ -14,7 +14,7 @@ using System.Drawing.Design; using System.Windows.Forms; using System.Windows.Forms.Design; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of TableDesigner. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextBasedDesignerActionList.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextBasedDesignerActionList.cs index 09053aa706..d5d6272221 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextBasedDesignerActionList.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextBasedDesignerActionList.cs @@ -10,7 +10,7 @@ using System; using System.ComponentModel; using System.ComponentModel.Design; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of TextBasedDesignerActionList. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextItemDesigner.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextItemDesigner.cs index 0fcd27f968..a5fbd0c9c7 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextItemDesigner.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Designer/TextItemDesigner.cs @@ -15,7 +15,7 @@ using System.Windows.Forms.Design; using ICSharpCode.Reports.Core; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of ReportItemDesigner. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/InternalReportLoader.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/InternalReportLoader.cs index 36574f7648..4101240bc8 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/InternalReportLoader.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/DesignerBinding/InternalReportLoader.cs @@ -47,8 +47,8 @@ namespace ICSharpCode.Reports.Addin Application.UseWaitCursor = true; Application.DoEvents(); try { - IComponent cc = this.host.CreateComponent(typeof(ICSharpCode.Reports.Addin.RootReportModel),"RootReportModel"); - ICSharpCode.Reports.Addin.RootReportModel rootControl = cc as ICSharpCode.Reports.Addin.RootReportModel; + IComponent cc = this.host.CreateComponent(typeof(ICSharpCode.Reports.Addin.Designer.RootReportModel),"RootReportModel"); + ICSharpCode.Reports.Addin.Designer.RootReportModel rootControl = cc as ICSharpCode.Reports.Addin.Designer.RootReportModel; UpdateStatusbar(); this.CreateNamedSurface(); rootControl.Size = this.ReportModel.ReportSettings.PageSize; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs index 076e37e0a3..cd3cf734cc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportDesignerView.cs @@ -13,14 +13,15 @@ using System.ComponentModel.Design; using System.ComponentModel.Design.Serialization; using System.Drawing.Design; using System.IO; +using System.Linq; using System.Text; using System.Windows.Forms; using ICSharpCode.Core; +using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Core; using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop.Gui; -using System.Linq; namespace ICSharpCode.Reports.Addin { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs index bae51b03eb..a054e6fa18 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/AbstractItem.cs @@ -24,8 +24,7 @@ namespace ICSharpCode.Reports.Addin public abstract class AbstractItem:System.Windows.Forms.Control { private Color frameColor = Color.Black; - //private bool drawBorder; - //private Size defaultSize; + protected AbstractItem() { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseCircleItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseCircleItem.cs index fe17d7a673..416cf6e785 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseCircleItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseCircleItem.cs @@ -22,7 +22,7 @@ namespace ICSharpCode.Reports.Addin /// Description of BaseCircleItem. /// - [Designer(typeof(ICSharpCode.Reports.Addin.ShapeDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.ShapeDesigner))] public class BaseCircleItem:AbstractItem { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseDataItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseDataItem.cs index 5c18d83fb5..2bc216eeec 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseDataItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseDataItem.cs @@ -12,6 +12,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Drawing; +using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Core; namespace ICSharpCode.Reports.Addin @@ -20,7 +21,7 @@ namespace ICSharpCode.Reports.Addin /// /// Description of BaseDataItem. /// - [Designer(typeof(ICSharpCode.Reports.Addin.DataItemDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.DataItemDesigner))] public class BaseDataItem:BaseTextItem { private string columnName; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseGroupHeader.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseGroupHeader.cs new file mode 100644 index 0000000000..f097e6de5e --- /dev/null +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseGroupHeader.cs @@ -0,0 +1,124 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 30.07.2010 + * Time: 19:19 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; + +using ICSharpCode.Reports.Addin.Designer; + +namespace ICSharpCode.Reports.Addin +{ + /// + /// Description of BaseGroupHeader. + /// + /// + + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.GroupHeaderDesigner))] + + public class BaseGroupHeader:AbstractItem + { + public BaseGroupHeader():base() + { + TypeDescriptor.AddProvider(new GroupItemTypeProvider(), typeof(BaseGroupHeader)); + } + + + [System.ComponentModel.EditorBrowsableAttribute()] + protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) + { + base.OnPaint(e); + this.Draw (e.Graphics); + } + + + + + public override void Draw(System.Drawing.Graphics graphics) + { + if (graphics == null) { + throw new ArgumentNullException("graphics"); + } + using (Brush b = new SolidBrush(this.BackColor)){ + graphics.FillRectangle(b, base.DrawingRectangle); + } + + base.DrawControl(graphics,base.DrawingRectangle); + } + } + + internal class GroupItemTypeProvider : TypeDescriptionProvider + { + public GroupItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem))) + { + } + +// public RowItemTypeProvider(TypeDescriptionProvider parent): base(parent) +// { +// +// } + + + public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) + { + ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance); + return new GroupItemTypeDescriptor(td, instance); + } + } + + + internal class GroupItemTypeDescriptor : CustomTypeDescriptor + { + public GroupItemTypeDescriptor(ICustomTypeDescriptor parent, object instance) + : base(parent) + { + } + + + public override PropertyDescriptorCollection GetProperties() + { + return GetProperties(null); + } + + + public override PropertyDescriptorCollection GetProperties(Attribute[] attributes) + { + + PropertyDescriptorCollection props = base.GetProperties(attributes); + List allProperties = new List(); + + DesignerHelper.AddDefaultProperties(allProperties,props); + /* + PropertyDescriptor prop = null; + + prop = props.Find("DrawBorder",true); + allProperties.Add(prop); + + prop = props.Find("ForeColor",true); + allProperties.Add(prop); + + prop = props.Find("Visible",true); + allProperties.Add(prop); + + prop = props.Find("FrameColor",true); + allProperties.Add(prop); + + prop = props.Find("Controls",true); + allProperties.Add(prop); + + prop = props.Find("AlternateBackColor",true); + allProperties.Add(prop); + + prop = props.Find("ChangeBackColorEveryNRow",true); + allProperties.Add(prop); + */ + return new PropertyDescriptorCollection(allProperties.ToArray()); + } + } +} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs index 28be9a66c4..31a5a61dcc 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseImageItem.cs @@ -17,6 +17,7 @@ using System.IO; using System.Windows.Forms.Design; using System.Xml.Serialization; +using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Core; namespace ICSharpCode.Reports.Addin @@ -24,7 +25,7 @@ namespace ICSharpCode.Reports.Addin /// /// Description of BaseImageItem. /// - [Designer(typeof(ICSharpCode.Reports.Addin.ImageDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.ImageDesigner))] public class BaseImageItem:AbstractItem { private string imageFileName; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseLine.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseLine.cs index 079baa688e..34e893d1f9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseLine.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseLine.cs @@ -13,12 +13,14 @@ using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; +using ICSharpCode.Reports.Addin.Designer; + namespace ICSharpCode.Reports.Addin { /// /// Description of BaseLine. /// - [Designer(typeof(ICSharpCode.Reports.Addin.LineDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.LineDesigner))] public class BaseLineItem:AbstractItem { private Point fromPoint; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRectangleItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRectangleItem.cs index 023995cd76..e54623f117 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRectangleItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRectangleItem.cs @@ -20,7 +20,7 @@ namespace ICSharpCode.Reports.Addin /// Description of BaseRectangleItem. /// - [Designer(typeof(ICSharpCode.Reports.Addin.ShapeDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.ShapeDesigner))] public class BaseRectangleItem:AbstractItem { private RectangleShape shape = new RectangleShape(); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs index d0e3797e23..891cc355fe 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseRowItem.cs @@ -12,6 +12,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Drawing; +using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Core; namespace ICSharpCode.Reports.Addin @@ -19,7 +20,7 @@ namespace ICSharpCode.Reports.Addin /// /// Description of BaseRowItem. /// - [Designer(typeof(ICSharpCode.Reports.Addin.RowItemDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.RowItemDesigner))] public class BaseRowItem:AbstractItem { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs index 826d2db0d5..917980aa76 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseSection.cs @@ -9,9 +9,10 @@ using System; using System.Collections.Generic; -using System.Drawing; using System.ComponentModel; +using System.Drawing; +using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Core; namespace ICSharpCode.Reports.Addin @@ -21,7 +22,7 @@ namespace ICSharpCode.Reports.Addin /// /// [TypeDescriptionProvider(typeof(SectionItemTypeProvider))] - [Designer(typeof(ICSharpCode.Reports.Addin.SectionDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.SectionDesigner))] public class BaseSection:AbstractItem { private int sectionOffset; diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs index 1a428e7bae..95af98ca5e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTableItem.cs @@ -7,11 +7,12 @@ * Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > Standardheader ändern. */ using System; -using System.Windows.Forms; using System.Collections.Generic; -using System.Drawing; using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Core; namespace ICSharpCode.Reports.Addin @@ -19,7 +20,7 @@ namespace ICSharpCode.Reports.Addin /// /// Description of BaseTableItem. /// - [Designer(typeof(ICSharpCode.Reports.Addin.TableDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.TableDesigner))] public class BaseTableItem:AbstractItem { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs index d03fa53445..75ea6996e5 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/BaseTextItem.cs @@ -12,6 +12,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Drawing; +using ICSharpCode.Reports.Addin.Designer; using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core.BaseClasses.Printing; @@ -21,7 +22,7 @@ namespace ICSharpCode.Reports.Addin /// Description of ReportTextItem. /// - [Designer(typeof(ICSharpCode.Reports.Addin.TextItemDesigner))] + [Designer(typeof(ICSharpCode.Reports.Addin.Designer.TextItemDesigner))] public class BaseTextItem:AbstractItem { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/ErrorItem.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/ErrorItem.cs index 5a3860e3ce..3e14fa7d06 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/ErrorItem.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/ErrorItem.cs @@ -10,7 +10,7 @@ using System; using System.Drawing; -namespace ICSharpCode.Reports.Addin +namespace ICSharpCode.Reports.Addin.Designer { /// /// Description of ErrorItem. diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/RectangleItemTypeProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/RectangleItemTypeProvider.cs index d2dcdcf592..29ada7cef9 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/RectangleItemTypeProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/RectangleItemTypeProvider.cs @@ -8,6 +8,7 @@ */ using System; using System.ComponentModel; +using ICSharpCode.Reports.Addin.Designer; namespace ICSharpCode.Reports.Addin { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePushDataReport.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePushDataReport.cs index ea7d5c78c6..131c03ad0b 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePushDataReport.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/Generators/GeneratePushDataReport.cs @@ -23,7 +23,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard { public class GeneratePushDataReport : AbstractReportGenerator { -// private ReportStructure reportStructure; + /// /// Default constructor - initializes all fields to default values /// @@ -40,7 +40,6 @@ namespace ICSharpCode.Reports.Addin.ReportWizard { base.ReportModel.ReportSettings.ReportType = GlobalEnums.ReportType.DataReport; base.ReportModel.ReportSettings.DataModel = GlobalEnums.PushPullModel.PushData; - // base.ReportModel.ReportSettings.AvailableFieldsCollection.AddRange(base.ReportStructure.AvailableFieldsCollection); base.GenerateReport(); GlobalEnums.ReportLayout reportLayout = (GlobalEnums.ReportLayout)base.Properties.Get("ReportLayout"); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/ListLayout.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/ListLayout.cs index f673d9e044..d11a39d3fe 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/ListLayout.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportLayout/ListLayout.cs @@ -47,12 +47,15 @@ namespace ICSharpCode.Reports.Addin.ReportWizard if (section == null) { throw new ArgumentNullException("section"); } - - if (base.ParentItem != null) { - base.AddItemsToContainer(base.ReportModel.DetailSection,this.reportItems); - } - else{ - AddItemsToSection (base.ReportModel.DetailSection,this.reportItems); + if (base.ReportModel.ReportSettings.GroupColumnsCollection.Count > 0) { + Console.WriteLine ("build with group"); + } else { + if (base.ParentItem != null) { + base.AddItemsToContainer(base.ReportModel.DetailSection,this.reportItems); + } + else{ + AddItemsToSection (base.ReportModel.DetailSection,this.reportItems); + } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportStructure.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportStructure.cs index 989902a3ad..1503decb64 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportStructure.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/ReportStructure.cs @@ -56,20 +56,21 @@ namespace ICSharpCode.Reports.Addin.ReportWizard } else { model.ReportSettings.PageSize = GlobalValues.DefaultPageSize; } - CheckGrouping(model.ReportSettings); + + CreateGrouping(model.ReportSettings); return model; } - private void CheckGrouping(ReportSettings settings) + private void CreateGrouping(ReportSettings settings) { if (!String.IsNullOrEmpty(this.Grouping)){ GroupColumn g = new GroupColumn(Grouping,1,System.ComponentModel.ListSortDirection.Ascending); - settings.GroupColumnsCollection.Add(g); } } + #region BaseSettingsPanel property's public GraphicsUnit GraphicsUnit {get;set;} diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanel.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanel.cs index 7b70bee727..edaf77453d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanel.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanel.cs @@ -51,12 +51,8 @@ namespace ICSharpCode.Reports.Addin.ReportWizard this.layoutControl.ReportLayout = (GlobalEnums.ReportLayout)customizer.Get("ReportLayout"); reportStructure = (ReportStructure)customizer.Get("Generator"); layoutControl.AvailableFieldsCollection = reportStructure.AvailableFieldsCollection; - - } - else if (message == DialogMessage.Next) - { - Console.WriteLine("aa"); } + else if (message == DialogMessage.Finish) { customizer.Set ("ReportLayout",this.layoutControl.ReportLayout); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanelControl.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanelControl.cs index 1efe8c548a..952345e6fb 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanelControl.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/LayoutPanelControl.cs @@ -91,12 +91,12 @@ namespace ICSharpCode.Reports.Addin.ReportWizard { get { string ret = String.Empty; - if (!String.IsNullOrEmpty(comboBox1.SelectedItem.ToString())) - { - ret = comboBox1.SelectedItem.ToString(); - } - return ret; + if (checkBox1.Checked) { + ret = comboBox1.SelectedItem.ToString(); } + return ret; + } + } } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Services/MenuCommandService.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Services/MenuCommandService.cs index f42b6d0a1c..fceb991b4e 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Services/MenuCommandService.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Services/MenuCommandService.cs @@ -6,13 +6,15 @@ * * Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > Standardheader ändern. */ -using ICSharpCode.Core.WinForms; using System; using System.ComponentModel.Design; using System.Drawing; using System.Windows.Forms; using System.Windows.Forms.Design; + using ICSharpCode.Core; +using ICSharpCode.Core.WinForms; +using ICSharpCode.Reports.Addin.Designer; using CommandID = System.ComponentModel.Design.CommandID; namespace ICSharpCode.Reports.Addin diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Toolbox/ToolboxProvider.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Toolbox/ToolboxProvider.cs index 167c6706d3..07b59b1992 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Toolbox/ToolboxProvider.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/Toolbox/ToolboxProvider.cs @@ -74,6 +74,14 @@ namespace ICSharpCode.Reports.Addin sideTab.Items.Add(new SideTabItemDesigner(tb)); + //Group + tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseGroupHeader)); + tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Table"); +// tb.DisplayName = ResourceService.GetString("SharpReport.Toolbar.DataRow"); + tb.DisplayName = "GroupHeader"; + sideTab.Items.Add(new SideTabItemDesigner(tb)); + + //BaseTable tb.Bitmap = WinFormsResourceService.GetBitmap("Icons.16x16.SharpQuery.Table"); tb = new ToolboxItem(typeof(ICSharpCode.Reports.Addin.BaseTableItem)); diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Collections/Collections.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Collections/Collections.cs index 00aec5ae02..b7abce5c7f 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Collections/Collections.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Collections/Collections.cs @@ -192,9 +192,14 @@ namespace ICSharpCode.Reports.Core{ return this.FirstOrDefault(x => 0 == String.Compare(x.ColumnName,columnName,true)); } } + + + + [Serializable()] - public class SortColumnCollection: Collection{ - +// public class SortColumnCollection: Collection{ + public class SortColumnCollection: ColumnCollection + { public SortColumnCollection() { } @@ -228,6 +233,17 @@ namespace ICSharpCode.Reports.Core{ } + [Serializable()] + + public class GroupColumnCollection: SortColumnCollection + { + public GroupColumnCollection() + { + } + + } + + [Serializable()] public class ColumnCollection: Collection{ diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/BaseComparer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/BaseComparer.cs index 61de0774b2..dfef2ad154 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/BaseComparer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/BaseComparer.cs @@ -20,15 +20,15 @@ namespace ICSharpCode.Reports.Core { private int listIndex; private object[] objectArray; -// private SortColumnCollection columnCollection; - Collection columnCollection; + +// Collection columnCollection; + ColumnCollection columnCollection; /// /// Default constructor - initializes all fields to default values /// -// public BaseComparer(ColumnCollection owner, int listIndex, object[] values) { -// public BaseComparer(SortColumnCollection owner, int listIndex, object[] values) { - public BaseComparer(Collection owner, int listIndex, object[] values) { - this.columnCollection = owner; + + public BaseComparer(ColumnCollection columnCollection , int listIndex, object[] values) { + this.columnCollection = columnCollection; this.listIndex = listIndex; this.objectArray = values; } @@ -88,8 +88,8 @@ namespace ICSharpCode.Reports.Core { } } - public Collection ColumnCollection { -// public SortColumnCollection ColumnCollection { +// public Collection ColumnCollection { + public ColumnCollection ColumnCollection { get { return columnCollection; } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/GroupSeparator.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/GroupSeparator.cs index 0af9b76960..c3a7b3726d 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/GroupSeparator.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/GroupSeparator.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.Reports.Core public class GroupComparer :SortComparer { - public GroupComparer (Collection owner, int listIndex, object[] values):base(owner,listIndex,values) + public GroupComparer (ColumnCollection owner, int listIndex, object[] values):base(owner,listIndex,values) { IndexList = new IndexList(); } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/SortComparer.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/SortComparer.cs index 06a5caa463..d219d53d51 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/SortComparer.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/Comparer/SortComparer.cs @@ -15,7 +15,7 @@ namespace ICSharpCode.Reports.Core { public class SortComparer : BaseComparer { - public SortComparer(Collection owner, int listIndex, object[] values):base(owner,listIndex,values) + public SortComparer(ColumnCollection owner, int listIndex, object[] values):base(owner,listIndex,values) { } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs index 505a14bb69..f5c334dd03 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs @@ -63,7 +63,7 @@ namespace ICSharpCode.Reports.Core { - protected static Collection CreateSortCollection (ColumnCollection items) + protected static Collection CreateSortCollection (SortColumnCollection items) { Collection abstrCol = new Collection(); @@ -75,6 +75,8 @@ namespace ICSharpCode.Reports.Core { } + + public IndexList IndexList { get { diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs index 64cbd7bd4d..36ddad2c12 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/CollectionStrategy.cs @@ -53,7 +53,7 @@ namespace ICSharpCode.Reports.Core { #region build sorting - private PropertyDescriptor[] BuildSortProperties (Collection col) + private PropertyDescriptor[] BuildSortProperties (SortColumnCollection col) { PropertyDescriptor[] sortProperties = new PropertyDescriptor[col.Count]; PropertyDescriptorCollection c = this.baseList.GetItemProperties(null); @@ -72,7 +72,7 @@ namespace ICSharpCode.Reports.Core { } - private IndexList BuildSortIndex(Collection col) + private IndexList BuildSortIndex(SortColumnCollection col) { IndexList arrayList = new IndexList(); PropertyDescriptor[] sortProperties = BuildSortProperties (col); @@ -112,7 +112,7 @@ namespace ICSharpCode.Reports.Core { // if we have no sorting, we build the indexlist as well, so we don't need to - private IndexList IndexBuilder(Collection col) + private IndexList IndexBuilder(SortColumnCollection col) { IndexList arrayList = new IndexList(); for (int rowIndex = 0; rowIndex < this.baseList.Count; rowIndex++){ @@ -174,11 +174,11 @@ namespace ICSharpCode.Reports.Core { base.Sort(); if ((base.ReportSettings.SortColumnsCollection != null)) { if (base.ReportSettings.SortColumnsCollection.Count > 0) { - - base.IndexList = this.BuildSortIndex (BaseListStrategy.CreateSortCollection(ReportSettings.SortColumnsCollection)); + + base.IndexList = this.BuildSortIndex (ReportSettings.SortColumnsCollection); base.IsSorted = true; } else { - base.IndexList = this.IndexBuilder(BaseListStrategy.CreateSortCollection(ReportSettings.SortColumnsCollection)); + base.IndexList = this.IndexBuilder(ReportSettings.SortColumnsCollection); base.IsSorted = false; } } diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs index abbb98edba..dcd9fb4728 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/TableStrategy.cs @@ -94,7 +94,7 @@ namespace ICSharpCode.Reports.Core base.Sort(); if ((base.ReportSettings.SortColumnsCollection != null)) { if (base.ReportSettings.SortColumnsCollection.Count > 0) { - base.IndexList = this.BuildSortIndex (BaseListStrategy.CreateSortCollection(ReportSettings.SortColumnsCollection)); + base.IndexList = this.BuildSortIndex (ReportSettings.SortColumnsCollection); base.IsSorted = true; } else { // if we have no sorting, we build the indexlist as well @@ -109,7 +109,7 @@ namespace ICSharpCode.Reports.Core { base.Group(); IndexList gl = new IndexList("group"); - gl = this.BuildSortIndex (BaseListStrategy.CreateSortCollection(ReportSettings.GroupColumnsCollection)); + gl = this.BuildSortIndex (ReportSettings.GroupColumnsCollection); ShowIndexList(gl); BuildGroup(gl); @@ -118,7 +118,7 @@ namespace ICSharpCode.Reports.Core #endregion - private IndexList BuildSortIndex(Collection col) + private IndexList BuildSortIndex(ColumnCollection col) { IndexList arrayList = new IndexList(); @@ -192,7 +192,7 @@ namespace ICSharpCode.Reports.Core } - private IndexList IndexBuilder(Collection col) + private IndexList IndexBuilder(SortColumnCollection col) { IndexList arrayList = new IndexList(); for (int rowIndex = 0; rowIndex < this.table.Rows.Count; rowIndex++){ diff --git a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs index 788e88960d..7d953bffca 100644 --- a/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs +++ b/src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/ReportSettings.cs @@ -50,7 +50,7 @@ namespace ICSharpCode.Reports.Core{ private ParameterCollection parameterCollection; private AvailableFieldsCollection availableFields; private ColumnCollection groupingsCollection; - private ColumnCollection sortingCollection; + private SortColumnCollection sortingCollection; #region Constructor @@ -105,7 +105,7 @@ namespace ICSharpCode.Reports.Core{ this.availableFields = new AvailableFieldsCollection(); this.groupingsCollection = new ColumnCollection(); - this.sortingCollection = new ColumnCollection(); + this.sortingCollection = new SortColumnCollection(); this.parameterCollection = new ParameterCollection(); this.NoDataMessage = "No Data for this Report"; } @@ -224,7 +224,7 @@ namespace ICSharpCode.Reports.Core{ /// [Category("Sorting/Grouping")] - public ColumnCollection SortColumnsCollection { + public SortColumnCollection SortColumnsCollection { get {return sortingCollection;} }