From 6c01997d84159d2ff961a41b02522d58247ef27b Mon Sep 17 00:00:00 2001 From: Peter Forstmeier Date: Fri, 29 May 2015 19:34:15 +0200 Subject: [PATCH] Add GroupColumnEditor --- .../ICSharpCode.Reporting.Addin.csproj | 1 + .../src/DesignableItems/ReportSettings.cs | 6 ++- .../src/Dialogs/GroupingCollectionEditor.cs | 47 +++++++++++++++++++ .../Src/Items/ReportSettings.cs | 34 ++++---------- 4 files changed, 60 insertions(+), 28 deletions(-) create mode 100644 src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/GroupingCollectionEditor.cs diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj index 286fea4f51..2e2528f3ee 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj @@ -140,6 +140,7 @@ + diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/ReportSettings.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/ReportSettings.cs index 93fbd4606a..5f0c80a252 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/ReportSettings.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/ReportSettings.cs @@ -10,9 +10,11 @@ using System; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; +using System.Drawing.Design; using System.IO; using ICSharpCode.Reporting.Globals; using ICSharpCode.Reporting.Interfaces; +using ICSharpCode.Reporting.Addin.Dialogs; namespace ICSharpCode.Reporting.Addin.DesignableItems { @@ -147,7 +149,6 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems public PushPullModel DataModel {get;set;} - // [Category("Parameters")] // [EditorAttribute ( typeof(ParameterCollectionEditor), // typeof(System.Drawing.Design.UITypeEditor) )] @@ -156,8 +157,9 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems public SortColumnCollection SortColumnsCollection {get;private set;} + [Category("Sorting/Grouping")] + [EditorAttribute ( typeof(GroupingCollectionEditor), typeof(UITypeEditor) )] public GroupColumnCollection GroupColumnsCollection {get;private set;} - } } diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/GroupingCollectionEditor.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/GroupingCollectionEditor.cs new file mode 100644 index 0000000000..648fb519f9 --- /dev/null +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/GroupingCollectionEditor.cs @@ -0,0 +1,47 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 29.05.2015 + * Time: 19:24 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.ComponentModel; +using System.ComponentModel.Design; +using System.Drawing.Design; +using ICSharpCode.Reporting.Items; + +namespace ICSharpCode.Reporting.Addin.Dialogs +{ + /// + /// Description of GroupingCollectionEditor. + /// + public class GroupingCollectionEditor:CollectionEditor + { + Type[] types; + + public GroupingCollectionEditor(Type type):base(type){ + types = new Type[] {typeof(GroupColumn)}; + } + + + protected override Type[] CreateNewItemTypes(){ + return types; + } + + + protected override object CreateInstance(Type itemType) + { +// if (itemType == typeof(SqlParameter)) { +// return new SqlParameter(); +// } + return base.CreateInstance(typeof(GroupColumn)); + } + + + public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context){ + return UITypeEditorEditStyle.Modal; + } + } +} diff --git a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs index 729580347f..4a9735d3e6 100644 --- a/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs +++ b/src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Items/ReportSettings.cs @@ -18,50 +18,32 @@ using System; using System.ComponentModel; -using System.ComponentModel.Design; using System.Drawing; using System.IO; - using System.Xml.Serialization; using ICSharpCode.Reporting.Globals; using ICSharpCode.Reporting.Interfaces; - - namespace ICSharpCode.Reporting.Items { /// /// Description of ReportSettings. /// - /* - public class ReportSettingsDesigner:ComponentDesigner - { - const string settingsName = "ReportSettings"; - public ReportSettingsDesigner() - { - } - - public override void Initialize(IComponent component) - { - base.Initialize(component); - component.Site.Name = ReportSettingsDesigner.settingsName; - } - } - */ -// [Designer(typeof(ReportSettingsDesigner))] public class ReportSettings:Component,IReportSettings { - public ReportSettings() - { + public ReportSettings(){ + this.pageSize = GlobalValues.DefaultPageSize; BaseValues(); var x = PdfSharp.PageSizeConverter.ToSize(PdfSharp.PageSize.A4); - //http://www.sizepaper.com/a-series/a4 -// http://www.sizepaper.com/american-loose - System.Drawing.Printing.PageSettings paperProp = new System.Drawing.Printing.PageSettings(); - var p = paperProp.PaperSize.PaperName.ToString(); + //http://www.sizepaper.com/a-series/a4 + //http://www.sizepaper.com/american-loose + + var paperProp = new System.Drawing.Printing.PageSettings(); + var p = paperProp.PaperSize.PaperName.ToString(); + Console.WriteLine("Set paperSize to {0}",p); }