Browse Source

TextEditor for text and expressions in PropertyGrid,

Editor for FormatString
pull/474/head
Peter Forstmeier 11 years ago
parent
commit
58f346415c
  1. 15
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj
  2. 65
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseTextItem.cs
  3. 4
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/TextItemDesigner.cs
  4. 12
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/DataTypeStringConverter.cs
  5. 43
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/DefaultTextEditor.cs
  6. 94
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/EditorDialog.Designer.cs
  7. 49
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/EditorDialog.cs
  8. 120
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/EditorDialog.resx
  9. 40
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/ExpressionEditor.cs
  10. 40
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/FormatStringConverter.cs
  11. 22
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/IStringBasedEditorDialog.cs
  12. 32
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Globals/GlobalLists.cs
  13. 4
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/TypeProviderHelper.cs
  14. 2
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/DesignerView.cs
  15. 17
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs

15
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/ICSharpCode.Reporting.Addin.csproj

@ -61,6 +61,7 @@ @@ -61,6 +61,7 @@
</Reference>
<Reference Include="System.Design" />
<Reference Include="System.Drawing" />
<Reference Include="System.Drawing.Design" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
@ -83,6 +84,7 @@ @@ -83,6 +84,7 @@
<Folder Include="src\DesignableItems" />
<Folder Include="src\Factory" />
<Folder Include="src\Dialogs" />
<Folder Include="src\New Folder" />
<Folder Include="src\Wizard" />
<Folder Include="src\Toolbox" />
<Folder Include="src\TypeProvider" />
@ -124,6 +126,14 @@ @@ -124,6 +126,14 @@
<Compile Include="src\Designer\SectionDesigner.cs" />
<Compile Include="src\Designer\TextItemDesigner.cs" />
<Compile Include="src\Dialogs\DataTypeStringConverter.cs" />
<Compile Include="src\Dialogs\DefaultTextEditor.cs" />
<Compile Include="src\Dialogs\EditorDialog.cs" />
<Compile Include="src\Dialogs\EditorDialog.Designer.cs">
<DependentUpon>EditorDialog.cs</DependentUpon>
</Compile>
<Compile Include="src\Dialogs\ExpressionEditor.cs" />
<Compile Include="src\Dialogs\FormatStringConverter.cs" />
<Compile Include="src\Dialogs\IStringBasedEditorDialog.cs" />
<Compile Include="src\Factory\CreateFormSheetFromModel.cs" />
<Compile Include="src\Globals\DesignerGlobals.cs" />
<Compile Include="src\Globals\GlobalLists.cs" />
@ -192,5 +202,10 @@ @@ -192,5 +202,10 @@
<Name>ICSharpCode.Reporting</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="src\Dialogs\EditorDialog.resx">
<DependentUpon>EditorDialog.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

65
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/DesignableItems/BaseTextItem.cs

@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using ICSharpCode.Reporting.BaseClasses;
using ICSharpCode.Reporting.Globals;
using ICSharpCode.Reporting.Addin.Designer;
@ -32,8 +33,7 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems @@ -32,8 +33,7 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
ContentAlignment contentAlignment;
public BaseTextItem():base()
{
public BaseTextItem(){
DefaultSize = GlobalValues.PreferedSize;
Size = GlobalValues.PreferedSize;
BackColor = Color.White;
@ -42,11 +42,10 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems @@ -42,11 +42,10 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
}
[EditorBrowsableAttribute()]
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
// [EditorBrowsableAttribute()]
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e){
base.OnPaint(e);
this.Draw(e.Graphics);
Draw(e.Graphics);
}
@ -74,24 +73,23 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems @@ -74,24 +73,23 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
// [EditorAttribute(typeof(DefaultTextEditor),
// typeof(System.Drawing.Design.UITypeEditor) )]
[EditorAttribute(typeof(DefaultTextEditor),
typeof(UITypeEditor) )]
public override string Text {
get { return base.Text; }
set { base.Text = value;
this.Invalidate();
Invalidate();
}
}
#region Format and alignment
// [Browsable(true),
// Category("Appearance"),
// Description("String to format Number's Date's etc")]
// [DefaultValue("entry1")]
// [TypeConverter(typeof(FormatStringConverter))]
[Browsable(true),
Category("Appearance"),
Description("String to format Number's Date's etc")]
[DefaultValue("entry1")]
[TypeConverter(typeof(FormatStringConverter))]
public string FormatString {
get { return formatString; }
set {
@ -122,9 +120,9 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems @@ -122,9 +120,9 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
// [Category("Appearance")]
// [EditorAttribute(typeof(ContentAlignmentEditor),
// typeof(UITypeEditor) )]
[Category("Appearance")]
[EditorAttribute(typeof(ContentAlignmentEditor),
typeof(UITypeEditor) )]
public ContentAlignment ContentAlignment {
get { return contentAlignment; }
set {
@ -136,16 +134,16 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems @@ -136,16 +134,16 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
#endregion
#region RighToLeft
[Category("Appearance")]
public System.Windows.Forms.RightToLeft RTL
{
get { return base.RightToLeft; }
set { base.RightToLeft = value; }
}
#endregion
// #region RighToLeft
//
// [Category("Appearance")]
// public System.Windows.Forms.RightToLeft RTL
// {
// get { return base.RightToLeft; }
// set { base.RightToLeft = value; }
// }
//
// #endregion
#region DataType
@ -153,18 +151,17 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems @@ -153,18 +151,17 @@ namespace ICSharpCode.Reporting.Addin.DesignableItems
[Category("Databinding"),Description(datatypeOfTheUnderlyingColumn)]
[DefaultValue("System.String")]
[TypeConverter(typeof(DataTypeStringConverter))]
public string DataType {get;set;}
#endregion
#region Expression
// [Browsable(true),
// Category("Expression"),
// Description("Enter a valid Expression")]
// [EditorAttribute(typeof(DefaultTextEditor),
// typeof(System.Drawing.Design.UITypeEditor) )]
[Browsable(true),
Category("Expression"),
Description("Enter a valid Expression")]
[EditorAttribute(typeof(ExpressionEditor),
typeof(UITypeEditor) )]
public string Expression {get;set;}
#endregion

4
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Designer/TextItemDesigner.cs

@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections;
using ICSharpCode.Reporting.Addin.TypeProvider;
@ -19,8 +20,7 @@ namespace ICSharpCode.Reporting.Addin.Designer @@ -19,8 +20,7 @@ namespace ICSharpCode.Reporting.Addin.Designer
{
protected override void PostFilterProperties(System.Collections.IDictionary properties)
{
protected override void PostFilterProperties(IDictionary properties){
TypeProviderHelper.RemoveProperties(properties);
base.PostFilterProperties(properties);
}

12
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/DataTypeStringConverter.cs

@ -17,26 +17,20 @@ namespace ICSharpCode.Reporting.Addin.Dialogs @@ -17,26 +17,20 @@ namespace ICSharpCode.Reporting.Addin.Dialogs
/// </summary>
class DataTypeStringConverter:StringConverter
{
public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
public override bool GetStandardValuesSupported(ITypeDescriptorContext context){
//true means show a combobox
return true;
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
{
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context){
//true will limit to list. false will show the list, but allow free-form entry
return true;
}
public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context){
return new StandardValuesCollection(GlobalLists.DataTypeList());
}
}
}

43
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/DefaultTextEditor.cs

@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 11.05.2014
* Time: 18:06
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.ComponentModel;
using System.Drawing.Design;
using System.Windows.Forms;
using ICSharpCode.Reports.Core.Dialogs;
namespace ICSharpCode.Reporting.Addin.Dialogs
{
/// <summary>
/// Description of DefaultTextEditor.
/// </summary>
public class DefaultTextEditor:UITypeEditor
{
const string textEditor = "TextEditor";
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
{
string s = String.Empty;;
if (value != null) {
s = value.ToString();
}
IStringBasedEditorDialog ed = new TextEditorDialog(s, textEditor);
return ed.ShowDialog() == DialogResult.OK ? ed.TextValue : s;
}
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
{
return UITypeEditorEditStyle.Modal;
}
}
}

94
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/EditorDialog.Designer.cs generated

@ -0,0 +1,94 @@ @@ -0,0 +1,94 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
namespace ICSharpCode.Reports.Core.Dialogs
{
partial class TextEditorDialog
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
this.okButton = new System.Windows.Forms.Button();
this.cancelButton = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// okButton
//
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
this.okButton.Location = new System.Drawing.Point(152, 234);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(55, 22);
this.okButton.TabIndex = 1;
this.okButton.Text = "Ok";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.OkButtonClick);
//
// cancelButton
//
this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelButton.Location = new System.Drawing.Point(248, 234);
this.cancelButton.Name = "cancelButton";
this.cancelButton.Size = new System.Drawing.Size(55, 22);
this.cancelButton.TabIndex = 2;
this.cancelButton.Text = "Cancel";
this.cancelButton.UseVisualStyleBackColor = true;
//
// textBox1
//
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox1.Location = new System.Drawing.Point(20, 33);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(283, 172);
this.textBox1.TabIndex = 3;
//
// TextEditorDialog
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.cancelButton;
this.ClientSize = new System.Drawing.Size(327, 281);
this.ControlBox = false;
this.Controls.Add(this.textBox1);
this.Controls.Add(this.cancelButton);
this.Controls.Add(this.okButton);
this.Name = "TextEditorDialog";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "TextEditor";
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.Button cancelButton;
}
}

49
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/EditorDialog.cs

@ -0,0 +1,49 @@ @@ -0,0 +1,49 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Windows.Forms;
using ICSharpCode.Reporting.Addin.Dialogs;
namespace ICSharpCode.Reports.Core.Dialogs
{
/// <summary>
/// Description of EditorDialog.
/// </summary>
///
public partial class TextEditorDialog : Form,IStringBasedEditorDialog
{
string textValue;
private TextEditorDialog()
{
InitializeComponent();
}
public TextEditorDialog(string text,string header):this()
{
this.textValue = text;
this.textBox1.Text = this.textValue;
this.Text = String.IsNullOrEmpty(header) ? this.Name : header;
}
public string TextValue {
get {
return textValue.Trim();
}
}
void OkButtonClick(object sender, EventArgs e)
{
textValue = this.textBox1.Text;
}
}
}

120
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/EditorDialog.resx

@ -0,0 +1,120 @@ @@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

40
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/ExpressionEditor.cs

@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 11.05.2014
* Time: 18:37
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.ComponentModel;
using System.Drawing.Design;
using System.Windows.Forms;
using ICSharpCode.Reports.Core.Dialogs;
namespace ICSharpCode.Reporting.Addin.Dialogs
{
/// <summary>
/// Description of ExpressionEditor.
/// </summary>
public class ExpressionEditor:UITypeEditor
{
const string expressionEditor = "ExpressionEditor";
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
{
string s = String.Empty;;
if (value != null) {
s = value.ToString();
}
IStringBasedEditorDialog ed = new TextEditorDialog(s, expressionEditor);
return ed.ShowDialog() == DialogResult.OK ? ed.TextValue : s;
}
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
{
return UITypeEditorEditStyle.Modal;
}
}
}

40
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/FormatStringConverter.cs

@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 11.05.2014
* Time: 17:46
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.ComponentModel;
using ICSharpCode.Reporting.Addin.Globals;
namespace ICSharpCode.Reporting.Addin.Dialogs
{
/// <summary>
/// Description of FormatStringConverter.
/// </summary>
public class FormatStringConverter:StringConverter
{
public override bool GetStandardValuesSupported(ITypeDescriptorContext context){
//true means show a combobox
return true;
}
public override bool GetStandardValuesExclusive(ITypeDescriptorContext context){
//true will limit to list. false will show the list, but allow free-form entry
return true;
}
public override TypeConverter.StandardValuesCollection GetStandardValues(ITypeDescriptorContext context){
return new StandardValuesCollection(GlobalLists.Formats());
}
}
}

22
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Dialogs/IStringBasedEditorDialog.cs

@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 11.05.2014
* Time: 18:13
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Windows.Forms;
namespace ICSharpCode.Reporting.Addin.Dialogs
{
/// <summary>
/// Description of IStringBasedEditorDialog.
/// </summary>
public interface IStringBasedEditorDialog
{
DialogResult ShowDialog();
string TextValue {get;}
}
}

32
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Globals/GlobalLists.cs

@ -31,5 +31,37 @@ namespace ICSharpCode.Reporting.Addin.Globals @@ -31,5 +31,37 @@ namespace ICSharpCode.Reporting.Addin.Globals
"System.Int"};
#endregion
#region Formats
public static string[] Formats ()
{
return (string[])FormatList.Clone();
}
private static readonly string[] FormatList = new string[] { "",
"#,##0",
"#,##0.00",
"0",
"0.00",
"",
"dd/MM/yy",
"dd/MM/yyyy",
"MM/dd/yyyy",
"dddd, MMMM dd, yyyy",
"dddd, MMMM dd, yyyy HH:mm",
"dddd, MMMM dd, yyyy HH:mm:ss",
"MM/dd/yyyy HH:mm",
"MM/dd/yyyy HH:mm:ss", "MMMM dd",
"Ddd, dd MMM yyyy HH\':\'mm\'\"ss \'GMT\'",
"yyyy-MM-dd HH:mm:ss",
"yyyy-MM-dd HH:mm:ss GMT",
"HH:mm",
"HH:mm:ss",
"hh:mm:ss",
"yyyy-MM-dd HH:mm:ss", "html"};
#endregion
}
}

4
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/TypeProvider/TypeProviderHelper.cs

@ -108,8 +108,8 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider @@ -108,8 +108,8 @@ namespace ICSharpCode.Reporting.Addin.TypeProvider
prop = props.Find("DataType",true);
allProperties.Add(prop);
prop = props.Find("RTL",true);
allProperties.Add(prop);
// prop = props.Find("RTL",true);
// allProperties.Add(prop);
}
public static void AddGraphicProperties (List<PropertyDescriptor> allProperties,

2
src/AddIns/Misc/Reporting/ICSharpCode.Reporting.Addin/src/Views/DesignerView.cs

@ -133,7 +133,7 @@ namespace ICSharpCode.Reporting.Addin.Views @@ -133,7 +133,7 @@ namespace ICSharpCode.Reporting.Addin.Views
LoggingService.Debug("ReportDesigner: CreateAndInitServiceContainer...");
var serviceContainer = new DefaultServiceContainer();
serviceContainer.AddService(typeof(IUIService), new UIService());
serviceContainer.AddService(typeof(IToolboxService),new ToolboxService());
serviceContainer.AddService(typeof(IToolboxService),new ICSharpCode.Reporting.Addin.Services.ToolboxService());
serviceContainer.AddService(typeof(IHelpService), new HelpService());
return serviceContainer;
}

17
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Wpf/Visitor/WpfVisitor.cs

@ -60,6 +60,7 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor @@ -60,6 +60,7 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
Canvas RenderSectionContainer (ExportContainer container) {
var canvas = FixedDocumentCreator.CreateContainer(container);
foreach (var element in container.ExportedItems) {
if (IsContainer(element)) {
@ -74,23 +75,17 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor @@ -74,23 +75,17 @@ namespace ICSharpCode.Reporting.WpfReportViewer.Visitor
return canvas;
}
void RenderRow(Canvas canvas, IExportContainer element)
void RenderRow(Canvas canvas, IExportContainer container)
{
if (IsGraphicsContainer(element)) {
canvas.Children.Add(RenderGraphicsContainer(element));
if (IsGraphicsContainer(container)) {
canvas.Children.Add(RenderGraphicsContainer(container));
} else {
canvas.Children.Add(RenderRow((ExportContainer)element));
canvas.Children.Add(RenderDataRow((ExportContainer)container));
}
}
public override void Visit(ExportRow exportRow)
{
Console.WriteLine("Reender ExportRow");
base.Visit(exportRow);
}
Canvas RenderRow (ExportContainer row) {
Canvas RenderDataRow (ExportContainer row) {
var rowCanvas = FixedDocumentCreator.CreateContainer(row);
var childCanvas = CreateItemsInContainer(row.ExportedItems);
rowCanvas.Children.Add(childCanvas);

Loading…
Cancel
Save